LLaMA Factory - 百餘種大模型統一微調框架
hiyouga/LlamaFactory
零程式碼微調100+主流LLM/VLM的一站式工具,支援LoRA/QLoRA/RLHF等全鏈路訓練,配備Web介面和CLI,已被亞馬遜/輝達等採用
成熟度:維護活躍,最近提交4天前,open issues 1067個,已獲ACL 2024收錄,商業級採用案例
项目体检
技术 · 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會議收錄進一步確認了學術價值。
核心功能
- 模型全覆蓋:原生支援LLaMA 3/Qwen 3/DeepSeek/Gemma/GLM等100+模型族,包含視覺語言模型(LLaVA/Qwen-VL)和音訊模型
- 訓練方法矩陣:從持續預訓練到RLHF全鏈路,支援LoRA/QLoRA(2-8bit量化)、GaLore、BAdam等前沿引數高效微調技術
- Web視覺化介面:LLaMA Board提供資料集管理、超參配置、訓練監控、模型對話測試的全流程GUI
- 推理服務化:內建OpenAI相容API伺服器,支援vLLM/SGLang後端加速推理
- 多後端適配:除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,資深使用者追求極致效能可組合使用
已知坑
- 依賴衝突:transformers版本限制嚴格(4.55-5.6且排除4.57),與其他庫可能衝突,建議獨立虛擬環境
- 視訊記憶體佔用:即使用QLoRA,微調13B模型仍需16GB+視訊記憶體,README中"單卡微調70B"需特定配置
- 中文tokenizer:部分模型(如原版LLaMA)中文支援差,需手動擴充套件詞表或選用Qwen/ChatGLM等國產模型
- 文件滯後:官方文件標註"WIP"(進行中),部分高階特性需查閱GitHub issues或原始碼
- Windows相容性:部分依賴(如flash-attn)在Windows上編譯困難,建議WSL2或Linux環境
- NPU支援:華為昇騰適配文件獨立維護,功能可能落後CUDA版本
來源:GitHub hiyouga/LlamaFactory + HN討論 "Insights from Automated Custom Llama Training"
安装方式:pip install llamafactory