1

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

一种应用是:

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

或其他应用程序:

  1. 我启动了一个超调运动
  2. 以后想延长试验次数,不从头开始
  3. 然后例如,我想删除一个自由度(例如 training_rate),专注于其他参数

基本上,我需要的是“我怎样才能有一个 hypertune 的检查点?”

谢谢 !

4

1 回答 1

4

是的,这是一个有趣的工作流程——使用当前的 API 集并不完全可行,因此我们在未来的规划中需要考虑这一点。

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

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

更进一步,例如。启动另一个作业(添加运行或更改比例层),您可能会尝试使用相同的输出目录,这次使用客观指标查找给定超参数集的先前结果(您需要将它们记录在某个位置您可以查找它们——例如,创建 gcs 文件来跟踪试运行),因此特定的试验会提前完成,并且训练会进入下一个试验。本质上是滚动您自己的“超调检查点”。

正如我所提到的,所有这些都是变通方法,以及对您当前能力可能实现的事情的探索性想法。

于 2016-10-12T15:43:56.487 回答