【NLP高频面题 - 分布式训练篇】ZeRO主要为了解决什么问题?

【NLP高频面题 - 分布式训练篇】ZeRO主要为了解决什么问题?

重要性:★★

零冗余优化器技术由 DeepSpeed 代码库提出,主要用于解决数据并行中的模型冗余问题,即每张 GPU 均需要复制一份模型参数。

ZeRO的全称是Zero Redundancy Optimizer,意为去除冗余的优化器。在之前的分布式训练中,我们了解到训练模型时,主要占用的参数主要分为了三个部分:模型参数(Parameters ),优化器状态(Optimizer States ),梯度(Gradients),他们三个简称为OPG。其中优化器状态会占据大约2倍参数量的显存空间,这取决于选择的优化器,也是整个训练中占据最大空间的部分。

ZeRO被分为了三个级别:

  1. ZeRO1:对优化器状态进行拆分。显存消耗减少 4 倍,通信量与数据并行相同。
  2. ZeRO2:在ZeRO1的基础上,对梯度进行拆分。显存消耗减少 8 倍,通信量与数据并行相同。
  3. ZeRO3:在ZeRO2的基础上,对模型参数进行拆分。模型占用的显存被平均分配到每个 GPU 中,显存消耗量与数据并行的并行度成线性反比关系,但通信量会有些许增加。

论文中给出了三个阶段的显存消耗分布情况:


NLP 大模型高频面题汇总

NLP基础篇
【NLP 面试宝典 之 模型分类】 必须要会的高频面题
【NLP 面试宝典 之 神经网络】 必须要会的高频面题
【NLP 面试宝典 之 主动学习】 必须要会的高频面题
【NLP 面试宝典 之 超参数优化】 必须要会的高频面题
【NLP 面试宝典 之 正则化】 必须要会的高频面题
【NLP 面试宝典 之 过拟合】 必须要会的高频面题
【NLP 面试宝典 之 Dropout】 必须要会的高频面题
【NLP 面试宝典 之 EarlyStopping】 必须要会的高频面题
【NLP 面试宝典 之 标签平滑】 必须要会的高频面题
【NLP 面试宝典 之 Warm up 】 必须要会的高频面题
【NLP 面试宝典 之 置信学习】 必须要会的高频面题
【NLP 面试宝典 之 伪标签】 必须要会的高频面题
【NLP 面试宝典 之 类别不均衡问题】 必须要会的高频面题
【NLP 面试宝典 之 交叉验证】 必须要会的高频面题
【NLP 面试宝典 之 词嵌入】 必须要会的高频面题
【NLP 面试宝典 之 One-Hot】 必须要会的高频面题
...
BERT 模型面
【NLP 面试宝典 之 BERT模型】 必须要会的高频面题
【NLP 面试宝典 之 BERT变体】 必须要会的高频面题
【NLP 面试宝典 之 BERT应用】 必须要会的高频面题
...
LLMs 微调面
【NLP 面试宝典 之 LoRA微调】 必须要会的高频面题
【NLP 面试宝典 之 Prompt】 必须要会的高频面题
【NLP 面试宝典 之 提示学习微调】 必须要会的高频面题
【NLP 面试宝典 之 PEFT微调】 必须要会的高频面题
【NLP 面试宝典 之 Chain-of-Thought微调】 必须要会的高频面题
...
相关推荐
云知谷4 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
rit84324995 小时前
基于MATLAB实现基于距离的离群点检测算法
人工智能·算法·matlab
初学小刘6 小时前
深度学习:从图片数据到模型训练(十分类)
人工智能·深度学习
递归不收敛6 小时前
大语言模型(LLM)入门笔记:嵌入向量与位置信息
人工智能·笔记·语言模型
之墨_7 小时前
【大语言模型】—— 自注意力机制及其变体(交叉注意力、因果注意力、多头注意力)的代码实现
人工智能·语言模型·自然语言处理
2301_821919927 小时前
深度学习(四)
pytorch·深度学习
从孑开始8 小时前
ManySpeech.MoonshineAsr 使用指南
人工智能·ai·c#·.net·私有化部署·语音识别·onnx·asr·moonshine
涛涛讲AI8 小时前
一段音频多段字幕,让音频能够流畅自然对应字幕 AI生成视频,扣子生成剪映视频草稿
人工智能·音视频·语音识别
可触的未来,发芽的智生8 小时前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构
WWZZ20258 小时前
快速上手大模型:机器学习2(一元线性回归、代价函数、梯度下降法)
人工智能·算法·机器学习·计算机视觉·机器人·大模型·slam