docker容器中deepspeed多机多卡集群分布式训练大模型

1. 创建overlay共享网络

可以看这位大佬的文章讲的很详细docker容器中deepspeed多机多卡集群分布式训练大模型众所周知,大模型的训练需要大量的显存资源,单卡很容易就爆 - 掘金 (juejin.cn)

后面和代码大多借鉴的这位大佬的文章,但大佬跳过了一些基础内容,我进行了一些补充

2. 运行容器搭建

1. 训练框架准备

同样是建立这种目录结构

├── workspace/
    ├── code/
    ├── docker-compose.yml
    ├── Dockerfile

使用的是llamafactory框架进行,你也可以尝试其他框架

# 进入工作目录
$ cd workspace

# 克隆项目到code文件夹
$ git clone https://github.com/hiyouga/LLaMA-Factory code

# 进入特定commit
$ git checkout 2caf91f824320b226daa4666eda2da7cb853db9c

如果没有指定特定的commit,后面的运行代码会没有train_bash.py替换成train即可

requiement.txt版本

torch==2.0.1
transformers==4.33.1
datasets==2.14.6
deepspeed==0.12.3
accelerate==0.24.1
peft==0.6.0
trl==0.7.2
gradio==3.38.0
scipy==1.11.3
sentencepiece==0.1.99
protobuf==4.25.0
tiktoken==0.5.1
jieba==0.42.1
rouge-chinese==1.0.3
nltk==3.8.1
uvicorn==0.24.0
pydantic==1.10.11
fastapi==0.95.1
sse-starlette==1.6.5
matplotlib==3.8.1

更改后运行这个代码可以一键安装适合版本的,如果那个软件包安装报错可以试试跳过他,在requirement中删除对他相应的版本约束

pip install -r requirements.txt
2. 启动容器

我用的基础镜像是nvidia/cuda:11.7.1-devel-ubuntu22.04,需要安装一下python3.10,Dockerfile文件如下:

FROM nvidia/cuda:11.7.1-devel-ubuntu22.04

# 更新系统包
RUN apt-get update && apt-get install -y git build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev liblzma-dev libbz2-dev curl wget net-tools 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值