概述
当模型太大而无法容纳在一个 GPU 上时,模型和管道并行性会将模型本身分割到不同的设备上。这使得训练具有数千亿参数的巨型语言模型在物理上成为可能。
模型和管道并行性是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。
深入探讨
模型并行性将单个模型划分到多个 GPU 上,因此没有一个设备需要保存所有权重。主要有两种口味。张量(层内)并行性将层内的数学拆分,例如在 GPU 之间切分大型矩阵乘法,每个 GPU 计算部分输出。管道(层间)并行性将不同的连续层分配给不同的 GPU,因此层块 1 位于 GPU 0 上,块 2 位于 GPU 1 上,依此类推,激活像装配线一样向前传递。简单流水线的挑战是“泡沫”:当 GPU 0 在第一批中工作时,下游 GPU 闲置。流水线将每个批次分成微批次,因此所有阶段都保持忙碌,从而显着提高利用率。
技术洞察
张量并行性(如在 NVIDIA Megatron-LM 中)按列或行拆分权重矩阵,并使用 all-reduce 重新组合部分结果,从而在快速 NVLink 节点内保持通信。管道并行性(GPipe、PipeDream)将批处理划分为微批处理,这些微批处理以交错的时间表流经各个阶段,从而缩短了空闲“泡沫”时间。两者通常分层在一起,在节点内使用张量并行性,在节点之间使用管道并行性。
掌握模型和管道并行性
当模型太大而无法容纳在一个 GPU 上时,模型和管道并行性会将模型本身分割到不同的设备上。这使得训练具有数千亿参数的巨型语言模型在物理上成为可能。模型和管道并行性是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将模型和管道并行性视为一种操作模型,而不是单个功能:定义所需的结果,澄清假设,并将系统可以可靠地执行的操作与仍需要专家判断的操作分开。
在实践中,强大的团队使用模型和管道并行性根据可靠性和成本优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。
多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。
战略影响
多年来,架构决策决定着性能和运营成本。
多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
更好的工程选择可以减少生产中的可靠性事故。
更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。
现实世界的实施
使用 NVIDIA Megatron-LM 训练 GPT 风格的模型,它通过张量并行性在 GPU 上分割每个 Transformer 层的注意力和前馈矩阵。
使用 GPipe 将巨型视觉或语言模型的不同层放置在单独的加速器上,而微批处理则让它们忙碌起来。
DeepSpeed 的管道引擎将数千亿参数模型划分为跨多个节点的阶段。
将单个 8-GPU 服务器内的张量并行性与跨多个服务器的管道并行性相结合,以训练对于一台机器来说太大的模型。
实施模式
实践中的模型和管道并行性
使用 NVIDIA Megatron-LM 训练 GPT 风格的模型,它通过张量并行性在 GPU 上分割每个 Transformer 层的注意力和前馈矩阵。
使用 NVIDIA Megatron-LM 训练 GPT 式模型,该模型通过张量并行性在 GPU 上分割每个 Transformer 层的注意力和前馈矩阵。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。
实践中的模型和管道并行性
使用 GPipe 将巨型视觉或语言模型的不同层放置在单独的加速器上,而微批处理则让它们忙碌起来。
使用 GPipe 将巨型视觉或语言模型的不同层放置在单独的加速器上,而微批处理让他们很忙。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。
实践中的模型和管道并行性
DeepSpeed 的管道引擎将数千亿参数模型划分为跨多个节点的阶段。
DeepSpeed 的管道引擎将数千亿参数模型划分为跨多个节点的阶段。当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。
实践中的模型和管道并行性
将单个 8-GPU 服务器内的张量并行性与跨多个服务器的管道并行性相结合,以训练对于一台机器来说太大的模型。
将单个 8-GPU 服务器内的张量并行性与跨多个服务器的管道并行性相结合,以训练对于一台机器来说太大的模型。当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力增益和错误成本时,通常会获得更好的结果。
风险与防护栏
优化一项基准测试可以隐藏更广泛的系统弱点。
基础设施和维护成本常常被低估。
随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
实施路线图
在实施之前定义延迟、质量和成本目标。
在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
在实际负载和数据条件下进行基准测试。
在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
仪器监控错误、漂移和用户影响。
仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。
在扩展之前准备回滚和事件响应路径。
在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。