我正在尝试在 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={“项目”:“p091c8a0a31894754-tp”,“区域”:“us-central1-c”,“tpu_node_name”:“cmle-training-1597710560117985038-tpu”}”
这种行为不允许我有效地使用免费批准的配额,如果我理解正确,在 us-central1-c 中运行的作业正在占用我的帐户,但不使用免费资源。因此,我想知道是否有某种方法可以在 AI 平台作业中设置区域,并且可以传递一些标志来使用可抢占 TPU。