【发布时间】:2021-03-06 18:28:24
【问题描述】:
我正在尝试在 GCP 的 AI 平台作业服务中运行超参数调整作业,Tensorflow Research Cloud 程序已获批准
- us-central1-f 区域中的 100 个抢占式 Cloud TPU v2-8 设备
- us-central1-f 区域中的 20 个按需 Cloud TPU v2-8 设备
- 5 个按需 Cloud TPU v3-8 设备位于 europe-west4-a 区域
我已经在 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
理论上,如果我在单独的 TPU 实例中运行 16 个并行作业,每个作业应该可以工作,但由于请求超出 TPU_V2 的配额而返回错误
错误:(gcloud.ai-platform.jobs.submit.training) RESOURCE_EXHAUSTED:项目################## 的配额失败。 16 个并行运行对 128 个 TPU_V2 加速器的请求超过了允许的最大值: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 加速器。
然后我将 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 中运行的作业正在占用我的帐户积分,但不使用免费资源。因此我想知道是否有一些方法可以在 AI 平台作业中设置区域,并且可以传递一些标志来使用抢占式 TPU。
【问题讨论】:
标签: tensorflow2.0 tpu google-cloud-tpu gcp-ai-platform-training google-ai-platform