编辑
2025-03-17
深度学习
00

目录

创建空间
创建数据集
上传模型
制作一个训练镜像
创建任务

参考资料:https://llamafactory.readthedocs.io/zh-cn/latest/advanced/distributed.html

以训练qwen2.5vl 7b 为例子。

创建空间

创建数据集

如果数据集文件非常多,可以选择上tar.gz包,然后再数据集页面面,点击终端进入到/mnt/data目录。执行 tar-zxfxxx.tar.gz 命令解压,请解压到当前目录(/mnt/data目录是挂载盘目录)

上传模型

制作一个训练镜像

启动镜像,进入容器中设置数据集和平台匹配。

bash
docker run -it --rm --gpus '"device=1,2,3"' --shm-size 16G kevinchina/deeplearning:llamafactory20250311-3 bash
bash
如果镜像用的是ubuntu 要执行一下命令,安装libibverbs1才能使用rdma网卡,加速训练 sudo apt-get update sudo apt-get install libibverbs1 -y

这个镜像里已经安装:

bash
root@260e21033aae:/app# apt-get install libibverbs1 -y Reading package lists... Done Building dependency tree... Done Reading state information... Done libibverbs1 is already the newest version (39.0-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

在data里增加训练json数据集,/app/examples/train_lora中增加训练yaml文件。

docker commit 这个容器,将此镜像传到hub。

创建任务

为了多机多卡,需要在每台机器启动这个:

bash
FORCE_TORCHRUN=1 NNODES=2 NODE_RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_lora/qwen2vl_lora_sft_zizhi.yaml FORCE_TORCHRUN=1 NNODES=2 NODE_RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_lora/qwen2vl_lora_sft_zizhi.yaml

训练指令写为下面这样,那三个变量由环境自动指定:

bash
FORCE_TORCHRUN=1 \ NNODES=2 \ NODE_RANK=${RANK} \ MASTER_ADDR=${MASTER_ADDR} \ MASTER_PORT=${MASTER_PORT} \ llamafactory-cli train examples/train_lora/qwen2vl_lora_sft_zizhi.yaml

此外,为了为rDMA,需要设置这三个环境变量:

CUDA_DEVICE_MAX_CONNECTIONS=1 NCCL_DEBUG=INFO NCCL_IB_DISABLE=0
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!