一、Deepspeed介绍
1.介绍
每个GPU上都包含模型参数、权重、优化器状态。
零冗余优化。
zero_stage=3, # Enable ZeRO (Zero Redundancy Optimizer) stage 3 optimization
# ZeRO stages:
# 0 - disabled
# 1 - optimizer state partitioning
# 2 - optimizer state + gradient partitioning
# 3 - optimizer state + gradient + parameter partitioning (most memory efficient)
2.成本分析
每张卡占用资源变少,但是Zero3会使总通讯量增加。
3.ZeRO其他参数
二、Accelerate+Deepspeed集成使用
1.accelerate config启动
此方法很简便。
2.Deepspeed config
Accelerate Deepspeed页面介绍使用简便一点。
3.ZeRO2使用无注意事项,ZeRO3使用时注意:
ZeRO3分割了模型,在模型保存时需要注意。
在accelerate deepspeed配置时需要额外指定:
zero3_save_16bit_model=True
文章为自学笔记,学习视频来源于:
【【手把手带你实战HuggingFace Transformers-分布式训练篇】分布式数据并行原理与应用】 https://www.bilibili.com/video/BV1wS421w7ug/?share_source=copy_web&vd_source=5af046c796e0aad697605765d634ba90