Google Cloud ML,扩展之前的 运行 超参数调整

Google Cloud ML, extend previous run of hyperparameter tuning

我正在 运行 使用 Google Cloud ML 调整超参数。我想知道是否有可能从(可能是部分的)以前的运行中受益。

一个应用程序是:

  1. 我启动超参数调整作业
  2. 我停止它是因为我想更改我正在使用的集群类型
  3. 我想在新集群上重新启动我的 hypertune 作业,但我想从我已经付费的之前的运行中受益。

或其他应用程序:

  1. 我发起了一个 hypertune 活动
  2. 以后想延长试练次数,不想从头开始
  3. 然后例如,我想删除一个自由度(例如 training_rate),关注其他参数

基本上我需要的是"how can I have a checkpoint for hypertune ?"

谢谢!

是的,这是一个有趣的工作流程 -- 目前的 API 集不太可能,因此我们需要在未来的规划中考虑这一点。

但是,我想知道现在是否有一些解决方法可以接近您的预期工作流程。

  1. 从更多的试验开始 - 假设您可以取消作业,但不能延长作业。
  2. 根据一些外部输入提前完成训练工作 - 例如。一旦达到固定值 training_rate,您可以将其记录在 GCS 的文件中,并将具有不同训练速率的后续试验标记为不可行,以便这些试验快速结束。

更进一步,例如。启动另一项工作(添加运行或更改规模层),您可能会尝试使用相同的输出目录,这次使用 objective 指标查找一组给定超参数的先前结果(您需要将它们记录在您可以查找它们的地方——例如,创建 gcs 文件以跟踪试运行),以便特定的试验提前完成,并且培训继续进行下一次试验。本质上是滚动你自己的 "checkpoint for hypertune".

正如我所提到的,所有这些都是解决方法,以及对您当前能力可能实现的结果的探索性想法。