当前位置: 首页 > ds >正文

图解模型并行框架

作者:StormBlafe

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

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

模型并⾏

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

图片

数据并⾏

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

图片

混合并⾏

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

图片

 

http://www.xdnf.cn/news/2602.html

相关文章:

  • Day14(链表)——LeetCode234.回文链表141.环形链表
  • 探针台在光电行业的应用
  • 徽客松S1 | 合肥首场 AI 黑客松招募
  • 今日头条安卓版新闻推荐精准度与广告影响测评
  • Python3:Jupyter Notebook 安装和配置
  • 详实的ADC检测电路计算
  • Zabbix 7.0下postgresql 16.6数据库监控配置
  • UI 设计之色彩三色搭配原则:打造和谐视觉体验
  • ubuntu安装git及使用(本地git)
  • 高校毕业论文管理系统小程序实现
  • ASCII字符编码标准及字符表
  • ipa包安装到apple手机上
  • DuckDB:现代数据分析的“SQLite“内核革命
  • 树莓派学习专题<11>:使用V4L2驱动获取摄像头数据--启动/停止数据流,数据捕获,缓存释放
  • Kaamel白皮书:2025版COPPA落地实操指南
  • ASP.NET8.0入门与实战
  • OpenStack私有云详细介绍
  • Go语言手搓协程池
  • 11前端项目总结----详情页放大镜和轮播图
  • 基于STM32、HAL库的HX711模数转换器ADC驱动程序设计
  • TV Launcher汉化版下载-TV Launcher启动器极简pro下载
  • 【Misc】PNG宽高修改 - PNG图片宽高CRC爆破
  • 消息中间件
  • 传统行业的数字化转型:如何通过RTMP推流技术提升实时直播体验
  • Spring MVC 请求映射处理:@RequestMapping 与 @Pathvariable
  • H5实现一个二维码生成器页面
  • 华为OD机试真题——阿里巴巴找黄金宝箱Ⅰ(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • MySQL 存储引擎与服务体系深度解析
  • 登高架设作业指的是什么?有什么安全操作规程?
  • 基于QT(C++)实现数字图像处理—Canny边缘检测