LLaMA Factory 基本概念
在使用 LLaMA Factory 之前,建议先熟悉本节列出的核心概念,以便在后续单机/多机实验中快速上手。
WebUI
LLaMA Factory 支持通过 WebUI 零代码微调大语言模型。执行 llamafactory-cli webui 即可进入。WebUI 包含 训练/评估与预测/对话/导出 四个界面:
- 训练:配置模型路径、训练阶段、微调方法、数据集、学习率、训练轮数、输出目录等
- 评估与预测:指定数据路径、截断长度、Top-p、温度系数、输出目录后启动评估
- 对话:选择推理引擎与数据类型,输入对话内容观察模型效果
- 导出:指定最大分块大小、量化等级、设备和目录后,一键导出模型
数据处理
LLaMA Factory 支持 Alpaca 和 ShareGPT 两种数据集格式。使用自定义数据集时,必须在 dataset_info.json 中添加数据集定义,该文件包含所有预处理本地数据集与在线数据集。
训练方法
支持预训练(Pre-training)与后训练(Post-training)。后训练技术包括:
- Supervised Fine-Tuning(SFT)
- RLHF(Reinforcement Learning from Human Feedback)
- DPO(Direct Preference Optimization)
- KTO(Kahneman-Tversky Optimization)
训练参数
下表列出常用训练参数:
| 参数名 | 描述 |
|---|---|
model_name_or_path | 模型名称或路径 |
stage | 训练阶段,可选 rm / pt / sft / PPO / DPO / KTO / ORPO |
do_train | true 训练,false 评估 |
finetuning_type | 微调方式:freeze / lora / full |
lora_target | LoRA 目标模块,默认 all |
dataset | 使用的数据集,多个用 , 分隔 |
template | 数据集模板,须与模型对应 |
output_dir | 输出路径 |
logging_steps | 日志输出步数间隔 |
save_steps | 模型断点保存间隔 |
overwrite_output_dir | 是否允许覆盖输出目录 |
per_device_train_batch_size | 每设备训练批次大小 |
gradient_accumulation_steps | 梯度累积步数 |
max_grad_norm | 梯度裁剪阈值 |
learning_rate | 学习率 |
lr_scheduler_type | 学习率曲线:linear / cosine / polynomial / constant |
num_train_epochs | 训练周期数 |
bf16 | 是否使用 bf16 |
warmup_ratio | 学习率预热比例 |
warmup_steps | 学习率预热步数 |
push_to_hub | 是否推送模型到 Hugging Face |
训练加速
LLaMA Factory 支持多种加速技术:FlashAttention、Unsloth、Liger Kernel。在训练配置文件中添加对应参数即可启用。
调优算法
支持多种参数高效与全参数算法:
- Full Parameter Fine-tuning
- Freeze
- LoRA
- GaLore
- BAdam
分布式训练
支持单机多卡与多机多卡分布式训练,兼容三种分布式引擎:
- DDP(PyTorch DistributedDataParallel)
- DeepSpeed(ZeRO 各级)
- FSDP(Fully Sharded Data Parallel)
合并
基于预训练模型训练好 LoRA 适配器后,可将预训练模型与 LoRA 适配器合并导出为一个独立模型,避免每次推理时分别加载。合并时还可选择是否量化。
量化
通过精度压缩有效减少显存占用并加速推理。LLaMA Factory 支持的量化方法:
- AQLM
- AWQ
- GPTQ
- QLoRA
推理
支持的推理方式:
- 原始模型推理
- 微调模型推理配置
- 多模态模型推理
- 批量推理
通用能力评估
模型训练完成后,可通过下述命令评估效果:
llamafactory-cli eval examples/train_lora/llama3_lora_eval.yamlNLG 评估
获取 BLEU/ROUGE 评分以评价生成质量:
llamafactory-cli train examples/extras/nlg_eval/llama3_lora_predict.yaml实验监控
LLaMA Factory 与多种训练可视化工具集成:
- TensorBoard
- Wandb
- MLflow
- SwanLab(本节后续实验示例使用)
在 WebUI 的 其他参数设置 → 启用外部记录面板 中开启对应工具即可。
License:请遵守 LLaMA Factory 的版权要求,详情见 LLaMA-Factory Apache-2.0 协议。
最后更新于
这篇文档对你有帮助吗?
