大模型分布式训练deepspeed环境搭建

1.deepspeed介绍

1.1 简介

DeepSpeed是一个由微软开发的开源深度学习优化库,旨在提高大规模模型训练的效率和可扩展性。它通过多种技术手段来加速训练,包括模型并行化、梯度累积、动态精度缩放、本地模式混合精度等。DeepSpeed还提供了一些辅助工具,如分布式训练管理、内存优化和模型压缩等,以帮助开发者更好地管理和优化大规模深度学习训练任务。此外,deepspeed基于pytorch构建,只需要简单修改即可迁移。DeepSpeed已经在许多大规模深度学习项目中得到了应用,包括语言模型、图像分类、目标检测等等。

1.2 deepspeed的Zero(零冗余优化器)

DeepSpeed旨在优化大型模型的分布式训练,通过数据、模型、流水线,甚至三种并行策略的组合,提供更高的内存效率和更快的训练速度。这是通过由三个阶段组成的零冗余优化器 (ZeRO)实现的。

ZeRO是用于大规模模型训练优化的技术,它的主要目的是减少模型的内存占用,让模型可以在显卡上训练,内存占用主要分为Model States和Activation两个部分,ZeRO主要解决的是Model States的内存占用问题。

ZeRO将模型参数分成三个部分:

状态

作用

Optimizer States

优化器在进行梯度更新的时候需要用到的数据

Gradient

在反向传播过程中产生的数据,其决定参数的更新方向

Model Parameter

模型参数,在模型训练过程中通过数据“学习”的信息

ZeRO的级别如下:

你可能感兴趣的:(分布式,人工智能)