LLaMA-Factory 部署手记
LLaMA-Factory 是个集成多种微调方案的工具,带 Web UI,不用写很多代码就能上手。它的仓库在 GitHub,Star 数涨得很快,支持的模型也不少——从 Baichuan、DeepSeek 到 GLM、GPT 系列,基本上主流大语言模型都有对应对话模板。
为什么选 LLaMA-Factory
市面上微调框架一堆:Hugging Face 的 Transformer 生态最全,适合入门,PEFT 库用 LoRA 等方法省显存,但大多只支持单卡。LLaMA-Factory 把 LoRA、QLoRA、Freeze 这些方法都包进去了,还能通过 WebUI 拖拽配置。如果你的场景是快速验证想法,或者团队里有人不太想改代码,它确实省事。
当然也有取舍,比如 Unsloth 速度更快但还不支持分布式,ModelScope 企业级功能多但上手略重。我们这次就聚焦 LLaMA-Factory。
环境与硬件
核心依赖
- Python: 3.9 最低,3.10 推荐
- PyTorch: 2.0.0 最低,2.6.0 推荐
- Transformers: 4.49.0 最低,4.50.0 推荐
可选组件
- CUDA: 11.6 最低,12.2 推荐
- Flash-attn: 2.5.6 最低,2.7.2 推荐。注意:V100 显卡不支持,跳过就好。
显存预估 全精度训练是个显存大户。比如 7B 模型 BF16 模式大概要 60 GB。如果用 LoRA/Freeze,能压到 16 GB;QLoRA 4-bit 甚至只要 6 GB。部署前记得算一下自己的卡够不够。
安装步骤
1. 克隆仓库
conda create -n llamafactory python=3.10
conda activate llamafactory
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
这里用 --depth 1 只拉最新提交,速度会快很多。
2. 安装依赖
# FlashAttention 可加速训练,但 V100 不支持就跳过
pip install flash-attn --no-build-isolation
# 量化库
pip install bitsandbytes
# 分布式训练库,我习惯用 0.12.3 这个版本
pip install deepspeed==0.12.3
# 加速库
pip install accelerate
# 安装项目本身和 metrics 依赖
pip install -e .
pip install -r requirements/metrics.txt
3. 启动 WebUI
默认端口 6006,命令行一行就能起来:
GRADIO_SERVER_PORT=6006 llamafactory-cli webui
终端会打印一个网址,浏览器打开就行。个别版本可能需要登录凭证,到时候看提示处理。
目录结构
/data: 放数据集,支持常见格式和自己定义的格式。/examples: 有各种训练配置样例(Deepspeed、LoRA、QLoRA、FSDP),还有模型合并和推理的示例,直接参考参数改就行。- : 微调、评估、合并等脚本。


