多机多卡分布式训练之DeepSpeed

前言

  • 支持LLM分布式训练的框架很多,有Megatron、DeepSpeed、Accelerate、FairScale等等。

  • Megatron是由NVIDI 深度学习应用研究团队开发的大型Transformer语言模型,该模型用于研究大规模训练大型语言模型。

  • DeepSpeed是由Microsoft提供的分布式训练工具。

  • Accelerate是PyTorch官方提供的分布式训练工具。

  • FairScale由Facebook提供的,是一个用于高性能和大规模训练的PyTorch扩展库。

推荐使用DeepSpeed

支持更大规模的模型

提供了更多的优化策略和工具,例如ZeRO和Offload等。

目前主流的组合方式:PyTorch + GPU + DeepSpeed + LLM训练框架

DeepSpeed的优势

存储效率:DeepSpeed提供了一种Zero的新型解决方案来减少训练显存的占用,它与传统的数据并行不同,它将模型状态和梯度进行分区来节省大量的显存

可扩展性:DeepSpeed支持高效的数据并行、模型并行、pipeline并行以及它们的组合,这里也称3D并行

易用性: 在训练阶段,只需要修改几行代码就可以使pytorch模型使用DeepSpeed。

登录上财人工智能平台

登录上财教学网https://bb.sufe.edu.cn,选择“算力与实验”--“人工智能平台”进入平台

选择GPU服务申请,自动跳转到gemini平台

新建项目并初始化开发环境

代码仓库信息:

https://github.com/baichuan-inc/Baichuan2.git

分支:main

镜像选择:公开镜像 huangjie:Baichuan2-13B

数据挂载:公开数据集 Baichuan2-13B-Chat

拉取最新的baichuan2的代码仓库

在拉取的过程中,由于github网络不稳定,可能导致拉取仓库失败,多试几次。

安装一些依赖包,安装过程大概需要五六分钟

cd /gemini/code
git clone https://github.com/baichuan-inc/Baichuan2.git
cd /gemini/code/Baichuan2
pip install -r requirements.txt 
cd fine-tune
pip install -r requirements.txt

打开web管理端,注意要把内部端口7860映射到外部端口,而且要找到自己的运行项目的ip地址,我的项目中的ip地址是:10.2.170.120,我的外部端口是49542

校内访问链接:http://10.2.170.120:49542/

  • 注意,学生使用sufe的三大运营商的网络时,需要使用学校网信中心提供的VPN服务,否则有可能网络不可达

微调参数配置

参考文献

参考文献:https://huggingface.co/docs/transformers/main/zh/main_classes/deepspeed

DeepSpeed官网:https://github.com/microsoft/DeepSpeed

参考文献:https://blog.csdn.net/weixin_43646592/article/details/134713912

Copyright © 实验中心 2025            该文件修订时间: 2024-11-24 06:35:23

results matching ""

    No results matching ""