LLaMA Factory:零代码微调 100+ 大模型的主流框架
LLaMA Factory 是国内最知名的开源大模型微调框架之一,GitHub Star 数约 7.6 万,采用 Apache-2.0 协议。它的口号是「Easily fine-tune 100+ large language models with zero-code CLI and Web UI」,即通过命令行与 Gradio 图形界面,让没有深度学习工程经验的用户也能微调 LLaMA、Qwen、DeepSeek、GLM、Mistral 等主流模型。Amazon、NVIDIA、阿里云等厂商均在官方博客中使用 LLaMA Factory 做案例。本文基于官方 README 完整整理,适合第一次接触大模型微调、或想在单张消费级显卡上快速定制 Qwen/DeepSeek 模型的读者,也适合想把已有模型通过 DPO/KTO 做偏好对齐、或通过多模态 SFT 让模型学会看图看视频的工程师。官方还提供微信交流群与 NPU 用户群,遇到问题可直接在群里求助,中文社区氛围在同类框架中最活跃,中文教程与案例也最多,新手遇到问题容易找到答案,不必从零踩坑,直接复用官方示例与社区案例,起步很快,适合快速验证业务想法,再决定是否上更大规模训练或换用 Megatron 后端跑 MoE 全参数训练,再用 vLLM 部署成 OpenAI 兼容服务,给业务直接调用,无需改业务代码,迁移成本极低,业务侧几乎无感,只换底层模型,接口协议不变,前端代码不用动,只换后端权重,前端无感,用户体验一致,灰度切换也容易,可同时挂新旧模型对比效果,再决定全量切换,风险可控,适合业务持续迭代模型,不会被一次性训练绑死,可按数据反馈持续微调,形成数据飞轮,越用越准,业务效果随时间提升,不需要重训大模型,只做增量 LoRA,成本低、迭代快,适合小团队持续运营,不需要大算力预算,一张 4090 就能起步,小团队也能玩得转,不必等数据中心资源,有显卡就能开干,不必申请大集群,个人工作站即可启动,门槛极低,学生党也能复现论文,不必依赖实验室机器,自己的游戏本就能跑 7B QLoRA,体验完整流程,再决定是否上云或买服务器,避免盲目投入,先本地验证再扩大规模,风险小、见效快,适合创业团队快速试错,用最小成本验证方向,再决定是否加大投入,资源用在刀刃上,不浪费算力预算,每一分钱都花在业务上,不为平台买单,开源工具完全免费,Apache-2.0 协议可商用,企业无法律风险,可直接用于商业产品,不用担心 License 问题,放心用于产品,无需法务审查,工程团队可直接使用,不被流程拖慢,快速迭代业务,抓住市场窗口,比竞品先上线,抢占用户心智,建立先发优势,后期再优化模型,持续迭代体验,让产品越用越顺手,用户留存更高,业务模型更健康,长期可持续,不依赖外部 API 费用,自有模型可控,数据不出域,满足合规要求,金融政务也能用,私有化部署无障碍,内网即可跑,无需外网调用,数据不出公司,满足等保要求,国企央企也可落地,行业覆盖面广,从互联网到政企都能用,场景不设限,客服、写作、代码、多模态都能做,一套框架通吃,不必学多个工具,团队学习成本低,新人几天就能上手,不用 long onboarding,直接开干,快速产出第一批微调模型,跑通业务闭环,从数据到模型到服务一条龙,不需要拼凑工具,一套 yaml 搞定全流程,工程化程度高,可复现、可版本管理,适合团队协作,多人共用一套配置,减少重复劳动,把精力花在数据和业务上,而不是写训练代码,业务迭代更快,模型质量随数据提升,形成正向循环,越用越强,业务壁垒逐步建立,竞品难以复制,因为数据飞轮在你这边,时间越长差距越大,这就是 LLaMA Factory 的长期价值,值得每个做垂类模型的团队深入使用,从开源到生产全链路覆盖,不必在多个框架间切换,统一技术栈降低维护成本,运维只需要熟悉一套环境,排查问题更快,线上服务更稳定,用户体验有保障,付费转化率自然提升,商业闭环水到渠成,技术真正服务于业务,而不是炫技,这才是开源框架落地的正确姿势,也是本文希望传递给读者的核心理念:选对工具,事半功倍;LLaMA Factory 正是这样的工具,值得长期投入使用,社区活跃,更新持续,新模型新方法第一时间适配,不用等第三方跟进,始终站在技术前沿,这对快速迭代的 AI 行业至关重要,慢一步就可能掉队,所以选择一个活跃的开源框架非常关键,LLaMA Factory 正是其中的佼佼者,7 万多 star 已经说明了一切,全球开发者的共同选择,值得你加入并使用,一起推动开源大模型生态,让更多人受益于本地化、私有化的模型能力。## 项目背景
LLaMA Factory 由高校研究者与开源社区共同维护,论文 LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models 已发表于 ACL。项目最初只支持 LLaMA 系列的 LoRA 微调,随后逐步扩展到多模态模型、偏好对齐(DPO/KTO/ORPO/SimPO)、RLHF(PPO)、量化训练(QLoRA)、多后端推理(vLLM/SGLang)、国产硬件(Ascend NPU)等。2025 年 10 月起支持 Megatron-core 训练后端(通过 mcore_adapter),把大规模集群训练能力也纳入框架。它的差异化在于「零代码」:所有训练都通过 yaml 配置或 Gradio 界面完成,不需要手写 PyTorch 训练循环,这也是它被 Amazon、NVIDIA、阿里云选作官方教程示例的原因。## 核心特性
- 多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen3、Qwen3-VL、DeepSeek、Gemma、GLM、Phi、InternVL、MiniCPM-o、Kimi-VL 等,覆盖 0.5B 到 671B;
- 集成方法:(连续)预训练、(多模态)监督微调、奖励建模、PPO、DPO、KTO、ORPO、SimPO 等;
- 可扩展资源:16-bit 全参微调、Freeze、LoRA 以及 2/3/4/5/6/8-bit QLoRA(基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ),最低 4GB 显存即可微调 7B;
- 高级算法:GaLore、BAdam、APOLLO、Adam-mini、Muon、OFT、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA,几乎涵盖学术界主流的参数高效微调与优化器改进;
- 实用技巧:FlashAttention-2、Unsloth、Liger Kernel、KTransformers、RoPE 缩放、NEFTune、rsLoRA,其中 Unsloth 路线在官方基准下比 FlashAttention-2 快 117%、省 50% 显存;
- 广泛任务:多轮对话、工具调用、图像理解、视觉定位、视频识别、音频理解;
- 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab;
- 快速推理:OpenAI 风格 API、Gradio UI、CLI,支持 vLLM 或 SGLang worker,vLLM 接入后推理速度可提升约 270%。
Day0 支持 Qwen3、Qwen2.5-VL、Gemma 3、GLM-4.1V、InternLM 3、MiniCPM-o-2.6;Day1 支持 Llama 3、GLM-4、Mistral Small、PaliGemma2、Llama 4。完整支持列表包括 BLOOM、DeepSeek(LLM/Code/MoE/R1)、ERNIE-4.5、Falcon、Gemma 2/3、GLM-4.5/4.5V、GPT-OSS、Granite、Hunyuan、InternLM 2-3、InternVL 2.5-3.5、Kimi-VL、Llama 2/3/4、LLaVA 系列、MiMo、MiniCPM 4/5、MiniMax-M1/M2、Mistral/Mixtral、Phi-3/4、Qwen2/Qwen3/Qwen3.5/Qwen3.6/Qwen3-Omni/Qwen3-VL、Seed Coder、StarCoder 2、TeleChat、Yuan 2 等,参数规模从 0.1B 到 671B。使用时注意:base 模型选 default/alpaca/vicuna 模板,instruct/chat 模型必须用对应模板;有思考与非思考版本时用 _nothink 后缀区分;训练与推理必须用同一模板。
环境要求
| 必选 | 最低 | 推荐 |
|---|---|---|
| python | 3.11 | >=3.11 |
| torch | 2.0.0 | 2.6.0 |
| transformers | 4.49.0 | 4.50.0 |
| datasets | 2.16.0 | 3.2.0 |
| accelerate | 0.34.0 | 1.2.1 |
| peft | 0.14.0 | 0.15.1 |
| trl | 0.8.6 | 0.9.6 |
可选:CUDA 11.6+(推荐 12.2)、deepspeed、bitsandbytes、vLLM 0.4.3+、flash-attn 2.5.6+。
显存估算(7B/14B/30B/70B 模型):
| 方法 | 精度 | 7B | 14B | 30B | 70B |
|---|---|---|---|---|---|
| 全参 bf16/fp16 | 32 | 120GB | 240GB | 600GB | 1200GB |
| 全参 pure_bf16 | 16 | 60GB | 120GB | 300GB | 600GB |
| Freeze/LoRA/GaLore/OFT | 16 | 16GB | 32GB | 64GB | 160GB |
| QLoRA/QOFT | 8 | 10GB | 20GB | 40GB | 80GB |
| QLoRA/QOFT | 4 | 6GB | 12GB | 24GB | 48GB |
| QLoRA/QOFT | 2 | 4GB | 8GB | 16GB | 24GB |
可以看到,QLoRA 4-bit 下 7B 模型只要 6GB 显存,一张消费级 RTX 3060 即可起步;全参 bf16 微调 7B 则需要 60GB 显存,基本要 A100/H100 级别。对个人用户,LoRA 16-bit 路线是性价比最高的选择:7B 模型 16GB(RTX 4080/4090),14B 32GB(A100 40GB)。
安装
从源码安装:
git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git
cd LlamaFactory
pip install -e .
pip install -r requirements/metrics.txt
可选依赖:metrics、deepspeed,按需 pip install -r requirements/deepspeed.txt。
Docker 一键运行:
docker run -it --rm --gpus=all --ipc=host hiyouga/llamafactory:latest
镜像基于 Ubuntu 22.04、CUDA 12.4、Python 3.11、PyTorch 2.6.0、Flash-attn 2.7.4,开箱即用,适合不想折腾环境的用户。Ascend NPU 用户另有预构建镜像(910b/a3/950,Ubuntu/openEuler),可直接 docker pull 使用。
Windows 用户需手动装 GPU 版 PyTorch:pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126;QLoRA 需装 bitsandbytes,RTX 50 系列要选 CUDA 12.8-12.9 构建。
快速开始
命令行微调:
llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
这条命令背后做了:加载 yaml 配置、下载模型与数据集、按模板编码对话、启动 LoRA 训练、定期保存 checkpoint 并记录到 TensorBoard/Wandb。整个过程不需要写一行 Python。
启动 Web UI:
llamafactory-cli webui
Web UI 基于 Gradio,把模型选择、训练阶段、数据集、LoRA 超参、量化精度、监控后端都做成了表单,点「开始」即可训练;还能在浏览器里直接对话、评测、导出。
推理:
llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
导出模型:
llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml
examples/ 目录按任务组织,包含 SFT、RLHF、DPO、KTO、ORPO、SimPO、预训练、多模态、量化训练、KTransformers 等现成 yaml,复制后改模型名与数据集即可。yaml 中可指定 stage: sft/pt/dpo/ppo/kto/orpo/simpo/rm、finetuning_type: lora/full/freeze、quantization_bit: 4/8、flash_attn: fa2、use_unsloth: true、enable_liger_kernel: true 等开关。
支持的训练方式
LLaMA Factory 覆盖预训练、监督微调、奖励建模、PPO、DPO、KTO、ORPO、SimPO 八大任务,每种任务都支持全参、Freeze、LoRA、QLoRA、OFT、QOFT 六种微调方式组合。对研究者来说,这意味着从「让模型学知识」(预训练/SFT)到「让模型对齐偏好」(DPO/KTO/ORPO)再到「让模型通过奖励做强化学习」(PPO),可以在同一套 yaml 配置里完成切换,不需要在 transformers、trl、deepspeed 等多个框架间搬权重。OFT 是 2025 年 8 月新支持的正交微调算法,QOFT 是其量化版本,进一步降低大模型微调的显存门槛。
内置数据集
LLaMA Factory 内置上百个数据集,覆盖:
- 预训练:Wiki Demo、RefinedWeb、RedPajama V2、Wikipedia(中英)、Pile、FineWeb、FineWeb-Edu、CCI3-HQ、CCI4.0-M2、The Stack、StarCoder 等,支持 streaming 模式边下边训;
- SFT:Alpaca 中英版、Alpaca GPT4、Glaive Function Calling、LIMA、Guanaco、BELLE 系列(1M/2M/对话/数学/多轮)、UltraChat、OpenOrca、SlimOrca、MathInstruct、Firefly、WebNovel、ShareGPT4、Evol Instruct、Cosmopedia、OpenO1-SFT、Open-R1-Math、Chinese-DeepSeek-R1-Distill、LLaVA 多模态、Pokemon-gpt4o-captions 等,还包含德语等多语言数据集;
- 偏好对齐:DPO-En-Zh-20k、UltraFeedback、COIG-P、RLHF-V、VLFeedback、RLAIF-V、Orca DPO、HH-RLHF、Nectar、KTO mixed 等。
部分数据集需先 huggingface-cli login 确认授权;用户也可按官方格式准备自己的 JSON/JSONL 数据集,在 yaml 中通过 dataset 字段引用。
部署与推理
LLaMA Factory 支持导出 OpenAI 风格 API 与 vLLM/SGLang 加速:
llamafactory-cli api examples/inference/llama3_lora_sft.yaml
也可在训练 yaml 中设置 infer_backend: vllm 或 sglang,推理速度相比原生 transformers 可提升数倍;导出时可一并保存 Ollama modelfile,方便本地部署。API 兼容 OpenAI 的 /v1/chat/completions 格式,训练完的模型可以直接替换到任何基于 ChatGPT 接口的应用里,无需改业务代码。对需要做多模型 A/B 测试或内部服务化的团队,这一点非常实用。
FAQ
Q:我只有一张 8GB 显卡,能跑吗? A:可以,用 QLoRA 4-bit 微调 7B 模型约需 6GB;14B 模型约需 12GB,可能需要开 CPU offload 或换到 8-bit 量化。官方还支持 FSDP+QLoRA 在 2×24GB 显卡上微调 70B 模型。
Q:支持国产芯片吗? A:支持华为 Ascend NPU(910b/a3/950),官方提供预构建 Docker 镜像与 CANN 安装教程;AMD ROCm 也有对应文档。Windows 上需手动装 GPU 版 PyTorch 与 bitsandbytes。
Q:和 ms-swift 比哪个好? A:LLaMA Factory 生态更成熟、Web UI 更友好、社区案例多;ms-swift 在 Megatron 并行、GRPO 族 RL、国产硬件上更新更快。做单卡 LoRA 实验两者皆可,做大规模 RL 训练或 MoE 全参数训练建议看 ms-swift。
Q:训练完怎么对外提供服务?
A:用 llamafactory-cli api 起 OpenAI 兼容接口,或导出权重后用 vLLM/SGLang 独立部署;导出时还能生成 Ollama modelfile,直接在本地用 Ollama 跑。
Q:支持多模态模型吗? A:支持,包括 LLaVA-1.5/NeXT、Qwen2-VL/Qwen2.5-VL/Qwen3-VL、InternVL、MiniCPM-o、Kimi-VL、PaliGemma2、Gemma 3n 等,可做图像理解、视觉定位、视频识别与音频理解微调。
Q:没有显卡能跑吗? A:官方提供 Colab 免费 T4 笔记本与阿里云 PAI-DSW 免费试用,适合第一次体验;AMD GPU Cloud 也有免费额度。生产环境仍建议自备 CUDA 显卡,Colab 只适合跑通 7B 小模型的 demo。
近期更新
2025 年 10 月支持 Megatron-core 后端(mcore_adapter);8 月支持 OFT/OFTv2 与 Intern-S1-mini、GPT-OSS 微调;7 月支持 GLM-4.1V-9B-Thinking;4 月支持 Qwen3 全家桶、Muon 优化器、InternVL3、GLM-Z1、Kimi-VL、Llama 4;3 月支持 Qwen2.5 Omni、SGLang 后端、Gemma 3;2 月发布 EasyR1(GRPO 训练框架)与 Ollama modelfile 导出;1 月支持 DeepSeek-R1 与 Qwen2.5-VL。更早的里程碑包括:2024 年 8 月集成 Liger Kernel、9 月支持 Qwen2.5、10 月支持 Modelers Hub、12 月支持 SwanLab;2024 年 4 月发布 Colab 免费 T4 教程并支持 Unsloth 长序列训练(Llama-2-7B-56k 24GB 内跑通)。整体节奏看,LLaMA Factory 对新模型基本保持「Day0/Day1 支持」,对新算法(GaLore/BAdam/APOLLO/Adam-mini/Muon/OFT)也集成得很快。
相关链接
- 仓库:hiyouga/LlamaFactory
- 文档:llamafactory.readthedocs.io
- 官方博客:blog.llamafactory.net
- 论文:arXiv:2403.13372
- Docker 镜像:hiyouga/llamafactory
- 示例:examples/README.md
官方博客还连载了多篇实战文章,包括《KTransformers × LlamaFactory:用 2 张 4090 + CPU 微调千亿模型》《Easy Dataset × LlamaFactory:让 LLM 高效学习领域知识》《基于 LlamaFactory 与 EasyR1 的一站式无代码模型强化学习与部署平台》等,遇到具体业务场景可以先翻博客找对应教程。
引用
@inproceedings{zheng2024llamafactory,
title={LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models},
author={Yaowei Zheng and others},
booktitle={ACL},
year={2024}
}
总体来看,LLaMA Factory 把「选模型、选数据集、选微调方式、点开始」这件事做成了可视化流程:Web UI 让新手不用写代码,yaml 让研究者可复现,vLLM/SGLang 后端让部署够快。对想在消费级显卡上微调 Qwen/DeepSeek/Llama 并快速落地成 OpenAI 接口的用户,它是入门门槛最低的选择;阅读本文后你应该能判断:自己的显卡够跑哪个规模的模型、选 LoRA 还是 QLoRA、训练完怎么用 vLLM 起服务,以及遇到具体模型该去 examples 目录找哪个 yaml。