hiyouga/LlamaFactory

Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)

LlamaFactory – 一键微调 100+ 种 LLM

简介 LlamaFactory 是一个开源 Python 库(亦可在 PyPI 上获取),让您可以微调各种大型语言模型,从经典的 LLaMA 风格模型到多模态的 LLaVA、Mistral、Mixtral‑MoE、Qwen、Gemma、GLM、Phi 等等。它提供 零代码 CLI 和 基于 Gradio 的网页 UI (LlamaBoard),让您无需编写 Python 脚本即可在笔记本电脑、云端笔记本或多 GPU 集群上开始训练。

重要性 微调现代 LLM 通常需要处理底层库(PEFT、DeepSpeed、FSDP 等)。LlamaFactory 隐藏了这些复杂性,并整合了大量最先进的训练技巧(LoRA、QLoRA、FlashAttention‑2、Unsloth、Liger‑Kernel、KTransformers 等)和优化器(GaLore、BAdam、APOLLO、Muon、Adam‑mini、DoRA、LongLoRA 等)。结果就是一个单一的配置文件,可以在普通硬件上训练从几百万参数到 70 B 规模的模型。

主要功能(列于 README 中)

  • 模型覆盖 – LLaMA‑1/2/3/4, LLaVA, Mistral, Mixtral‑MoE, Qwen 2/3, Qwen‑VL, DeepSeek, Gemma 3, GLM‑4, Phi‑4, InternLM, MiniCPM‑o, PaliGemma 等。
  • 训练方法 – 标准监督式微调、持续预训练、奖励模型、PPO、DPO、KTO、ORPO 以及其他偏好学习算法。
  • 参数高效微调 – 全精度 16‑bit、冻结微调、LoRA 以及 2‑8‑bit QLoRA (AQLM, AWQ, GPTQ, LLM.int8, HQQ, EETQ)。
  • 性能技巧 – FlashAttention‑2, Unsloth, Liger‑Kernel, KTransformers, RoPE scaling, NEFTune, rsLoRA 等。
  • 硬件灵活性 – 适用于 NVIDIA GPU、AMD ROCm 和 Ascend NPU;支持在 2 × 24 GB GPU 上使用 FSDP + QLoRA 训练 70 B 模型。
  • 推理后端 – OpenAI 风格 REST API、Gradio UI、CLI,并可选配 vLLM 或 SGLang 以实现高吞吐量服务。
  • 实验跟踪 – 内置支持 TensorBoard、Weights & Biases、MLflow 和 SwanLab。
  • 部署 – 将检查点导出为 Hugging Face、ModelScope、Modelers Hub 或 Ollama modelfiles;并可作为 OpenAI 兼容的 API 容器运行。
  • 社区与生态 – 被 Amazon、NVIDIA、Alibaba Cloud 使用;拥有 Discord、微信群组、专属博客以及 Docker Hub 上的 Docker 镜像。

典型工作流程

  1. 安装 (pip install llamafactory 或拉取 Docker 镜像)。
  2. 准备数据 – README 指向 data-preparation 章节,并提供文字、聊天、工具调用、图像、视频和音频数据集的示例脚本。
  3. 编写小型 YAML 配置文件,选择模型、训练方法、LoRA/QLoRA 设置以及您想要的任何性能技巧。
  4. 执行 – 使用 llamafactory train config.yaml (CLI) 或启动 Gradio UI (llamafactory gui) 开始训练,通过 LlamaBoard 监控并查看日志。
  5. 导出 – 训练完成后,使用 llamafactory export 产生可供推理的模型,然后通过内置的 OpenAI 兼容 API 或 vLLM 工作节点进行服务。

入门资源

  • README 中的 Quickstart 章节展示了最简 CLI 指令。
  • Colab notebook (免费 GPU) 和 PAI‑DSW 链接,用于云端试用。
  • 文档 (进行中) 位于 llamafactory.readthedocs.io 以及性能比较 wiki。
  • 博客文章 涵盖 KTransformers、以数据为中心的管线以及多模态微调。

适用对象

  • 需要实验多种 LLM 系列而无需重写训练循环的研究人员。
  • 需要无代码 UI 来微调和部署自定义助手的产品团队。
  • 希望使用 LoRA/QLoRA 在单一 GPU 上微调 7‑B 模型的爱好者。
  • 需要可扩展、可重现的大规模模型适应管线的企业(Amazon, NVIDIA, Alibaba)。

安装片段 (来自 README)

# via pip
pip install llamafactory

# or pull the official Docker image
docker pull hiyouga/llamafactory

授权 – Apache 2.0 (如授权章节所示)。


以上所有细节均直接取自仓库的 README;未发明任何额外功能。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目