管理以托管容量模式运行的 TPU 的维护事件
TPU 虚拟机是挂接了 TPU 硬件的 Compute Engine 虚拟机实例。 Compute Engine 虚拟机受 Compute Engine 虚拟机维护事件影响。每个 TPU 都连接到 Compute Engine 虚拟机,因此使用更多 TPU(例如在 TPU 切片中)会提高某个虚拟机遇到维护事件的可能性。
本文档介绍了在 TPU 上处理长时间运行的训练作业的维护事件的方法。如需了解如何在 Google Kubernetes Engine (GKE) 中处理 TPU 的维护事件 ,请参阅管理 GPU 和 TPU 的 GKE 节点中断。
查看有关即将进行的维护的通知
通过监控实例即将进行的维护窗口,您可以主动准备工作负载以处理即将进行的维护,同时将中断降至最低。 如需了解详情,请参阅Compute Engine 文档中的 监控和规划主机维护 事件。
使用检查点从维护事件中快速恢复
检查点是维护事件短时间恢复的关键,应经常保存。我们建议大约每小时保存一次检查点。检查点通常不足以由于维护事件或其他训练中断而丢失大量训练进度。
检查点通常是指训练中使用的所有已保存的参数(例如模型权重)。保存检查点所需的时间可能从几秒到几分钟不等。
虽然 TPU 通常会自动从维护事件中恢复,但在某些极端情况下,作业不会自动重启。发生这种情况时,您需要删除并重新创建 TPU 资源,然后从已保存的检查点重启训练作业。如需了解如何检测自动 恢复故障并从中恢复,请参阅检测 TPU 故障并从中恢复。
每个机器学习框架都有不同的保存和加载检查点的机制。受支持的 Cloud TPU 模型通常内置了检查点。如需详细了解检查点,请参阅以下文档:
检测维护事件
如需检测 TPU 上是否发生了维护事件以及发生的时间,请查看 Cloud Logging 中的系统事件审核日志。如需了解详情,请参阅 查看维护事件日志。
您还可以使用 gcloud compute
instances describe 命令检查即将发生的维护事件。
如需了解详情,请参阅Compute Engine 文档中的
监控和规划主机维护
事件。
查看维护事件日志
您可以在系统事件审核日志中查看有关 TPU 的维护事件的历史日志。
在 Google Cloud 控制台导航菜单中,前往 Logs Explorer 页面:
使用以下搜索查询查看因维护而终止的所有 TPU 虚拟机:
"compute.instances.terminateOnHostMaintenance"结果会显示在搜索时间范围内 TPU 工作器的任何中断和修复的日志。日志包括:
- 事件的日期和时间
- 事件的类型
protoPayload.metadata.terminateReason字段中的终止原因
手动启动维护
您可以手动启动 TPU 虚拟机上待处理的主机维护事件,以主动处理即将进行的维护,同时将中断降至最低。如需了解详情,请参阅Compute Engine 文档中的手动启动主机维护 事件。