73,024· 8,926 forks· Python· Apache-2.0开源替代

LLaMA Factory - 百余种大模型统一微调框架

hiyouga/LlamaFactory

零代码微调100+主流LLM/VLM的一站式工具,支持LoRA/QLoRA/RLHF等全链路训练,配备Web界面和CLI,已被亚马逊/英伟达等采用

成熟度维护活跃,最近提交4天前,open issues 1067个,已获ACL 2024收录,商业级采用案例

GitHub 仓库 → HN 讨论 · 1 点 · 1 评论对标:OpenAI Fine-tuning API, Cohere Fine-tuning, Anthropic Custom Models

项目体检

技术 · Python 3.11+ + PyTorch 2.4+ + Transformers 4.55+ + Gradio 4.38+ (Web界面) + PEFT/TRL训练库

许可 · Apache-2.0,允许商用且无需开源修改,可自由集成到商业产品

活跃 · 极活跃:最新版本v0.9.5发布于2个月前,286位贡献者持续维护,4天前仍有代码提交

解决什么

企业和研究者在微调大语言模型时面临三大痛点:不同模型需要适配不同训练框架、高级优化技术(如LoRA/QLoRA)配置复杂、缺乏统一的可视化管理界面。LLaMA Factory 提供统一抽象层,让用户通过单一工具链完成从数据准备、模型训练到推理部署的全流程,支持100+主流开源模型(LLaMA/Qwen/DeepSeek/GLM等)和多种训练范式(预训练/指令微调/RLHF/DPO等),大幅降低大模型定制化门槛。

为何火

该项目在GitHub获得7.3万stars,核心原因是填补了开源生态的关键空白:商业API(如OpenAI Fine-tuning)成本高且数据外流,传统框架(如Hugging Face Trainer)需要深度定制。LLaMA Factory 通过零代码CLI和Web界面将复杂训练流程产品化,同时集成最新优化算法(FlashAttention-2/Unsloth/Liger Kernel等)实现工业级性能。其被亚马逊AWS、英伟达RTX AI Toolkit、阿里云PAI等官方采用,证明了生产环境可靠性。ACL 2024会议收录进一步确认了学术价值。

核心功能

  1. 模型全覆盖:原生支持LLaMA 3/Qwen 3/DeepSeek/Gemma/GLM等100+模型族,包含视觉语言模型(LLaVA/Qwen-VL)和音频模型
  2. 训练方法矩阵:从持续预训练到RLHF全链路,支持LoRA/QLoRA(2-8bit量化)、GaLore、BAdam等前沿参数高效微调技术
  3. Web可视化界面:LLaMA Board提供数据集管理、超参配置、训练监控、模型对话测试的全流程GUI
  4. 推理服务化:内置OpenAI兼容API服务器,支持vLLM/SGLang后端加速推理
  5. 多后端适配:除CUDA外支持AMD ROCm、华为昇腾NPU,满足国产化需求

安装

基础安装(需Python 3.11+和CUDA 11.8+):

pip install llamafactory  # 或从源码: pip install -e ".[torch,metrics]"

启动Web界面:

llamafactory-cli webui  # 默认访问 http://localhost:7860

Docker部署:

docker pull hiyouga/llamafactory:latest
docker run -it --gpus all -p 7860:7860 hiyouga/llamafactory

中国大陆用户可通过阿里云PAI-DSW或魔搭ModelScope Studios免费试用,无需本地GPU。

适合谁

  • 企业AI团队:需要私有化部署模型微调能力,避免数据上传到商业API
  • 算法研究者:快速验证新训练算法(如DoRA/LongLoRA),项目集成最新PEFT技术
  • 非ML工程师:通过Web界面零代码完成业务场景模型定制(如客服对话/文档问答)
  • GPU资源受限者:QLoRA 4bit量化可在单张24GB显卡上微调70B模型

不适合完全无编程基础的用户(仍需理解数据集格式),也不适合追求极致训练速度的超大规模场景(建议用Megatron-LM等分布式框架)。

社区评价

基于HN讨论热度较低(仅1点1评),但该用户分享的实战经验具有参考价值:在小批量数据集微调Llama时,恒定学习率比衰减策略更稳定,3个epoch是最优迭代次数,降低有效批量大小可补偿数据量不足。用户认为对非ML工程师而言,这是快速获得业务定制Llama模型的优秀产品。

从GitHub数据看,1067个open issues反映活跃的用户反馈,但也暴露部分边缘场景兼容性问题。286位贡献者和持续更新(4天前最新提交)显示健康的开源生态。官方博客和Discord社区提供额外技术支持。

选型对比

vs OpenAI Fine-tuning API:

  • LLaMA Factory优势:数据完全私有、支持开源模型、一次性成本(仅GPU)、可定制训练算法
  • OpenAI优势:零运维、自动扩展、模型质量有保障
  • 取舍:敏感数据或需要深度定制选LLaMA Factory,追求便捷性选OpenAI

vs Axolotl/FastChat:

  • LLaMA Factory优势:Web界面降低使用门槛、模型支持更全(100+ vs 20+)、集成最新优化技术
  • 同类工具优势:Axolotl配置更灵活、FastChat推理性能更优
  • 取舍:新手或需要快速迭代选LLaMA Factory,资深用户追求极致性能可组合使用

已知坑

  1. 依赖冲突:transformers版本限制严格(4.55-5.6且排除4.57),与其他库可能冲突,建议独立虚拟环境
  2. 显存占用:即使用QLoRA,微调13B模型仍需16GB+显存,README中"单卡微调70B"需特定配置
  3. 中文tokenizer:部分模型(如原版LLaMA)中文支持差,需手动扩展词表或选用Qwen/ChatGLM等国产模型
  4. 文档滞后:官方文档标注"WIP"(进行中),部分高级特性需查阅GitHub issues或源码
  5. Windows兼容性:部分依赖(如flash-attn)在Windows上编译困难,建议WSL2或Linux环境
  6. NPU支持:华为昇腾适配文档独立维护,功能可能落后CUDA版本

来源:GitHub hiyouga/LlamaFactory + HN讨论 "Insights from Automated Custom Llama Training"

安装方式:pip install llamafactory