专栏名称: 极市平台
极市平台是由深圳极视角推出的专业的视觉算法开发与分发平台,为视觉开发者提供多领域实景训练数据库等开发工具和规模化销售渠道。本公众号将会分享视觉相关的技术资讯,行业动态,在线分享信息,线下活动等。 网站: http://cvmart.net/
今天看啥  ›  专栏  ›  极市平台

图解大模型训练之:数据并行(DP、DDP、ZeRO、零冗余优化)

极市平台  · 公众号  ·  · 2024-09-01 22:00
    

主要观点总结

本文介绍了大模型场景里数据并行的实现方法,包括DP、DDP和ZeRO三种方式。文章详细阐述了每种方式的原理、实现细节和优缺点,以及针对存储消耗的优化方法。最后简单介绍了ZeRO-Offload与ZeRO-Infinity。

关键观点总结

关键观点1: 数据并行的实现方式

包括DP、DDP和ZeRO三种。DP是最早的数据并行模式,采用参数服务器这一编程框架;DDP是更通用的解决方案,通过Ring-AllReduce方法解决通讯问题;ZeRO用通讯换显存,通过优化状态分割、梯度分割和参数分割来降低存储消耗。

关键观点2: 存储消耗的优化

包括优化状态分割、优化状态与梯度分割、优化状态、梯度与参数分割等。使用固定大小的内存buffer进行存储,提升带宽利用率,并设置机制对碎片化的存储空间进行重新整合。

关键观点3: ZeRO-Offload与ZeRO-Infinity

ZeRO-Offload将部分数据卸载到CPU上,以减少显存和通讯压力。ZeRO-infinity同理,它们都在解决数据存储和计算性能的问题。


文章预览

↑ 点击 蓝字  关注极市平台 作者丨猛猿 来源丨大猿搬砖简记 编辑丨极市平台 极市导读   大模型场景里巨大的存储和GPU间通讯量是系统设计时需要考虑的重点,本文递进介绍了三种主流数据并行的实现方法:DP、DD皮、ZeRo。  >> 加入极市CV技术交流群,走在计算机视觉的最前沿 当模型太大,一块GPU放不下时,流水线并行将模型的不同层放到不同的GPU上,通过切割mini-batch实现对训练数据的流水线处理,提升GPU计算通讯比。同时通过re-materialization机制降低显存消耗。 但在实际应用中,流水线并行并不特别流行,主要原因是模型能否均匀切割,影响了整体计算效率,这就需要算法工程师做手调。 因此,今天我们来介绍一种应用最广泛,最易于理解的并行范式:数据并行。 数据并行的核心思想是: 在各个GPU上都拷贝一份完整模型,各自吃一份数据, ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览