如何有效地将 TFRC 程序与 GCP AI 平台一起使用

How to effectively use the TFRC program with the GCP AI platform Jobs

我正在尝试 运行 将超参数调优作业添加到 GCP 的 AI 平台作业服务中,Tensorflow Research Cloud 程序已批准我

我已经在 Tensorflow 2 上构建了一个自定义模型,我想 运行 作业指定确切的区域以利用 TFRC 程序和 AI 平台作业服务;现在我有一个 YAML 配置文件,如下所示:

trainingInput:
  scaleTier: basic-tpu
  region: us-central1
  hyperparameters:
    goal: MAXIMIZE
    hyperparameterMetricTag: val_accuracy
    maxTrials: 100
    maxParallelTrials: 16
    maxFailedTrials: 30
    enableTrialEarlyStopping: True

理论上,如果我 运行 16 个并行作业,每个作业都在一个单独的 TPU 实例中应该可以工作,但是 return 由于请求超过 TPU_V2 的配额而导致的错误

ERROR: (gcloud.ai-platform.jobs.submit.training) RESOURCE_EXHAUSTED: Quota failure for project ###################. The request for 128 TPU_V2 accelerators for 16 parallel runs exceeds the allowed maximum of 0 A100, 0 TPU_V2_POD, 0 TPU_V3_POD, 16 TPU_V2, 16 TPU_V3, 2 P4, 2 V100, 30 K80, 30 P100, 6 T4 accelerators.

然后我将 maxParallelTrials 减少到只有 2 并且工作,这证实了上面的错误消息配额是由 TPU 芯片计算的,而不是 TPU 实例。

因此我想,也许我完全误解了 TFRC 程序的批准配额然后我继续检查作业是否正在使用 us-central1-f 区域但结果是使用了不需要的区域:

-tpu_node={"project": "p091c8a0a31894754-tp", "zone": "us-central1-c", "tpu_node_name": "cmle-training-1597710560117985038-tpu"}"

这种行为不允许我有效地使用已批准的免费配额,如果我理解正确的话,us-central1-c 中的工作 运行ning 正在占用我的帐户,但不会使用免费资源。因此我想知道是否有一些方法可以在 AI 平台作业中设置区域,并且可以传递一些标志以使用可抢占的 TPU。

很遗憾the two can't be combined