图解模型并行框架

作者:StormBlafe

原文:https://zhuanlan.zhihu.com/p/11140235368

在集群化 AI 算⼒设施的基础上,⼤模型的训练可以通过以下⼏种并⾏模式开展。

模型并⾏

由于当前的⼤模型规模往往远超单个计算设备的内存容量,将⼤模型切分到多个设备上成为⼀种⾃然的选择。⼤模型从输⼊到输出由结构相似的算⼦层级连接堆叠⽽成,形成模型的深度;在每个层级上的计算通过众多并发的神经元节点运算实现,形成模型的宽度。相应的,模型可以在宽度和深度两个⽅向上进⾏切割。张量并⾏是宽度⽅向的切分,它基于矩阵运算分解的数学原理在模型的层内进⾏分割,形成的单个⼦模型跨越完整⼤模型的所有层级,但只包含每个层级的部分运算。流⽔线并⾏采取基于深度的切分,将⼤模型的不同层级拆解到各个计算设备并通过流⽔操作的⽅式形成各个层级运算的并发执⾏。相对于流⽔线并⾏中分布式数据交换主要发⽣在承载相邻层级的计算设备之间,张量并⾏中各个计算设备之间均产⽣⼤量的数据交换,对数据交换的带宽要求更⾼,所以主要应⽤在⼀机多卡的服务器节点内部的并发实现。

数据并⾏

这种模式下,数据被拆散分配到位于不同计算设备上的模型实例来参加训练过程,设备相互之间定期地就训练所得的模型参数或者参数优化的梯度值进⾏同步,保证所有设备上的模型状态保持⼀致。数据并⾏⼀般要求每个设备上的训练实例储存和维护完整的模型参数和状态,所以并不能节省 AI 算⼒设备的内存开销。零冗余优化器(ZeRO - Zero Redundancy Optimizer)⽀持将模型的参数、梯度值和优化器状态划分到不同的进程,允许每个设备的训练实例只储存模型的⼀部分,在训练过程中每个训练实例动态地从其他设备通讯获取需要的模型参数和梯度值来完成本地的训练计算,从⽽极⼤提升数据并发模式下的内存使⽤效率。

混合并⾏

在实际应⽤中往往综合模型并⾏和数据并⾏等多种策略的组合,以充分利⽤多个维度的并⾏能⼒,实现取⻓补短。例如采取数据并⾏+流⽔线并⾏+张量并⾏的模式可以充分利⽤算⼒资源和通信带宽达到兼顾模型的内存扩展性和训练加速的⽬的。

相关推荐
玄妙尽在颠倒间11 分钟前
雪花算法:从 64 位到 128 位 —— 超大规模分布式 ID 生成器的设计与实现
后端·算法
魔障阿Q15 分钟前
华为310P3模型转换及python推理
人工智能·python·深度学习·yolo·计算机视觉·华为
陌小路16 分钟前
5天 Vibe Coding 出一个在线音乐分享空间应用是什么体验
前端·aigc·vibecoding
洛华36319 分钟前
初识opencv05——图像预处理4
人工智能·opencv·计算机视觉
D5Render26 分钟前
D5渲染器 2.11 上线丨AI 设计助手、AI PBR 材质生成与推荐、自定义路径、高级笔刷、完整支持平行投影
aigc·图形渲染·3d渲染·渲染器
SugarPPig26 分钟前
“非参数化”大语言模型与RAG的关系?
人工智能·语言模型·自然语言处理
Sui_Network30 分钟前
Ika Network 正式发布,让 Sui 智能合约可管理跨链资产
人工智能·物联网·web3·区块链·智能合约·量子计算
禾风wyh36 分钟前
【目标检测】小样本度量学习
人工智能·计算机视觉·目标跟踪
Star在努力37 分钟前
15-C语言:第15~16天笔记
c语言·笔记·算法
dylan55_you38 分钟前
掌控AI工具链:用 Python + API 构建 AI MCP 服务器
人工智能·ai·mcp