概述
将模型的训练状态保存为片段(分片)的技术,以便可以保存和重新加载大型模型,而不会受到内存或磁盘限制的影响,因此崩溃的运行可以准确地从中断的地方继续。对于任何在多个 GPU 上运行数天或数周的训练作业来说都是至关重要的。
检查点分片和可恢复训练是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。
深入探讨
训练检查点是恢复所需的所有内容的快照:模型权重、优化器状态、学习率计划、数据加载器的位置和随机数生成器种子。对于大型模型,此快照可能有数百 GB,对于单个文件或单个计算机的内存来说太大了。检查点分片将该快照拆分为多个文件和多个等级,因此每个 GPU 仅并行写入自己的切片。然后,可恢复训练会重新加载这些分片并精确恢复完整状态。如果没有它,在第 200 小时崩溃的多周运行将不得不从头开始。 PyTorch 分布式检查点、DeepSpeed 和 Hugging Face Hub 的分片安全张量格式等框架可以实现此例程。
技术洞察
分片之所以有效,是因为分布式训练已经跨等级划分了权重和优化器状态(通过数据、张量或零并行)。每个等级仅序列化其分区,通常序列化为安全张量之类的格式,允许延迟、内存映射加载。索引文件将参数名称映射到分片文件。为了确定性地恢复,系统还保留 RNG 状态、优化器步数和确切的数据加载器偏移量,因此重新运行会重现相同的批次序列。
掌握检查点分片和可恢复训练
将模型的训练状态保存为片段(分片)的技术,以便可以保存和重新加载大型模型,而不会受到内存或磁盘限制的影响,因此崩溃的运行可以准确地从中断的地方继续。对于任何在多个 GPU 上运行数天或数周的训练作业来说都是至关重要的。检查点分片和可恢复训练是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将检查点分片和可恢复训练视为一种操作模型,而不是单一功能:定义所需的结果,澄清假设,并将系统可以可靠地执行的操作与仍需要专家判断的操作分开。
在实践中,使用检查点分片和可恢复训练的强大团队根据可靠性和成本优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。
多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。
战略影响
多年来,架构决策决定着性能和运营成本。
多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
更好的工程选择可以减少生产中的可靠性事故。
更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
现实世界的实施
前沿模型运行在数千个 GPU 上,每隔几百步自动保存分片检查点,因此单个失败的节点只需要几分钟,而不是几天。
Hugging Face 将大型开放模型分发为多个 safetensors 分片和一个 index.json,以便用户可以逐个下载和加载它。
研究人员恢复中断的微调,恢复精确的优化器动力、步数和数据加载器位置以无缝继续。
在廉价的可抢占式云 GPU 上进行现货实例训练,其中频繁的分片检查点使作业能够在被驱逐和重新安排的情况下幸存下来。
实施模式
检查点分片和可恢复训练的实践
前沿模型运行在数千个 GPU 上,每隔几百步自动保存分片检查点,因此单个失败的节点只需要几分钟,而不是几天。
前沿模型运行在数千个 GPU 上,每隔几百步自动保存分片检查点,因此单个失败的节点只需要几分钟,而不是几天。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
检查点分片和可恢复训练的实践
Hugging Face 将大型开放模型分发为多个 safetensors 分片和一个 index.json,以便用户可以逐个下载和加载它。
Hugging Face 将大型开放模型分发为多个 safetensors 分片和一个 index.json,以便用户可以逐个下载和加载它。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
检查点分片和可恢复训练的实践
研究人员恢复中断的微调,恢复精确的优化器动力、步数和数据加载器位置以无缝继续。
研究人员恢复中断的微调,恢复精确的优化器动力、步数和数据加载器位置,以无缝地继续进行。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
检查点分片和可恢复训练的实践
在廉价的可抢占式云 GPU 上进行现货实例训练,其中频繁的分片检查点使作业能够在被驱逐和重新安排的情况下幸存下来。
在廉价的可抢占式云 GPU 上进行现货实例训练,其中频繁的分片检查点使工作能够在被驱逐和重新安排的情况下幸存下来。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
风险与防护栏
优化一项基准测试可以隐藏更广泛的系统弱点。
基础设施和维护成本常常被低估。
随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
实施路线图
在实施之前定义延迟、质量和成本目标。
在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
在实际负载和数据条件下进行基准测试。
在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
仪器监控错误、漂移和用户影响。
仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
在扩展之前准备回滚和事件响应路径。
在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。