LLaMA-Factory多机多卡训练实战

https://www.dong-blog.fun/post/1999

参考资料: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
相关推荐
relis1 天前
llama.cpp RMSNorm CUDA 优化分析报告
算法·llama
云雾J视界1 天前
开源革命下的研发突围:Meta Llama系列模型的知识整合实践与启示
meta·开源·llama·知识管理·知识整合·知识迭代·知识共享
丁学文武2 天前
大模型原理与实践:第三章-预训练语言模型详解_第3部分-Decoder-Only(GPT、LLama、GLM)
人工智能·gpt·语言模型·自然语言处理·大模型·llama·glm
余衫马3 天前
llama.cpp:本地大模型推理的高性能 C++ 框架
c++·人工智能·llm·llama·大模型部署
LETTER•7 天前
Llama 模型架构解析:从 Pre-RMSNorm 到 GQA 的技术演进
深度学习·语言模型·自然语言处理·llama
拓端研究室7 天前
JupyterLab+PyTorch:LoRA+4-bit量化+SFT微调Llama 4医疗推理应用|附代码数据
llama
之歆8 天前
LangGraph构建多智能体
人工智能·python·llama
胡耀超10 天前
开源生态与技术民主化 - 从LLaMA到DeepSeek的开源革命(LLaMA、DeepSeek-V3、Mistral 7B)
人工智能·python·神经网络·开源·大模型·llama·deepseek
居7然11 天前
如何高效微调大模型?LLama-Factory一站式解决方案全解析
人工智能·大模型·llama·大模型训练·vllm
万事可爱^11 天前
如何在云服务器上使用LLaMA Factory框架微调模型
运维·服务器·llm·sft·llama·模型微调·ai agent