Llama Factory 分布式训练配置详细步骤
1. 为什么你需要分布式训练?
当需要训练理解大量业务文档的 AI 助手时,模型和数据量较大,单卡训练可能耗时过长。分布式训练通过多台电脑或多张显卡并行处理任务,显著缩短时间。
Llama Factory 让大模型训练变得简单。面对海量数据或更大模型时,单卡训练会遇到瓶颈:速度慢、显存不够。分布式训练是解决这些问题的关键。
分布式训练能帮你:
- 大幅缩短训练时间:从几周变成几天,甚至几个小时。
- 训练更大的模型:突破单张显卡的显存限制。
- 处理更多数据:高效利用多卡并行处理海量样本。
以下是具体配置步骤。
2. 准备工作:理解核心概念
2.1 数据并行 vs. 模型并行
分布式训练主要有两种'分工'方式:
- 数据并行:最常用且易理解的方式。例如 4 张显卡,4000 条数据,每张显卡拿 1000 条分别训练同一模型副本。训练后汇总梯度更新模型。Llama Factory 默认且主要支持这种方式,对大多数微调场景既高效又简单。
- 模型并行:当模型太大一张显卡放不下时使用。将模型切块分布在不同显卡上。配置复杂,通常仅在千亿参数级别巨型模型时需要。在 Llama Factory 微调场景下一般用不到。
2.2 分布式训练的关键参数
在 Llama Factory 界面上,以下设置直接决定分布式训练工作方式:
- 训练设备:选择使用的显卡编号。如
0,1,2,3表示使用四张显卡。 - 批处理大小:包括
per_device_train_batch_size(每张显卡一次处理多少条数据)和gradient_accumulation_steps(累积多少步再更新)。总有效批大小 = 每卡批大小 × 显卡数量 × 累积步数。 - 学习率:分布式训练下有效批大小变大,通常需要适当调大学习率。
理解了这些,即可进入实战环节。
3. 分步配置分布式训练
假设已部署好 Llama Factory 环境并进入 Web 界面。
3.1 第一步:创建训练项目并准备数据
- 在左侧导航栏点击 '训练' 选项卡。
- 点击 '创建项目' 按钮,命名项目,如
my_distributed_finetune。
准备训练数据。Llama Factory 支持 JSON 格式。示例:
[ { "instruction": "将以下中文翻译成英文。", "input": "今天天气真好。", "output": "The weather is so nice today." }

