近日,国内的一款微调框架发布了论文《LLAMAFACTORY: Unified Efficient Fine-Tuning of 100+ Language Models》,对其框架做了系统性的总结。该框架自推出后迅速流行,现已斩获大量 Star,逐步成为当下微调的首选工具。

模型微调相较于上下文学习(In-Context Learning)来讲,存在比较高的门槛,但又是模型专业化、领域化不可或缺的技术手段。其复杂性主要体现在以下几个方面:
- 理论基础:如果说基于大模型写 Prompt 构建 RAG 或 Agent 不需要太多机器学习理论知识,然而微调就必须对样本、学习率、Loss 等有深入理解。
- 数据准备:对于普通开发者,高质量的数据是微调成功的关键保证。如何预处理、清洗、标注这些样本本身就很复杂,因此诞生了大模型数据工程这样的领域来解决这一问题。
- 基座模型分化:虽然当下很多模型都参考 LLaMA 和 HuggingFace 的一些规范,但是仍然有一些特殊之处,想要微调也需要针对性地去分析和构建相应的策略。
- 超参数优化:微调本身是一个'炼丹'过程,如何能够找到合适的超参数以达到最佳性能,是一个重大挑战。
- AI 工程复杂性:涉及到硬件、软件、复杂流程的协同配合以及系统优化,在有限的成本、资源和时间要求下完成模型训练过程。
正是因为这些原因,对于预训练微调,需要一个类似于工厂的工业化手段来降低门槛,提升效率。
行业内出现了很多微调框架,而 LLaMA-Factory 便是其中之一,从命名上就可以看出它们的目标是成为模型微调的工厂。

它得以流行主要得益于支持当下主流的大模型(如百川、千问、LLaMA 等),不仅集成了大模型预训练、监督微调和强化微调等阶段的主流微调技术(支持 LoRA 和 QLoRA 等参数高效微调策略),还提供了预训练、指令微调等丰富的数据集方便参考使用。最重要的是提供了一个无代码的图形界面,大幅降低使用门槛,非开发者也可以方便地完成模型微调。
架构组成
该框架架构上主要由四个模块构成:模型加载器、数据工作器、训练器,以及用户界面 LlamaBoard。

安装与环境配置
在使用 LLaMA-Factory 之前,需要确保环境满足基本要求。推荐使用 Python 3.8+ 环境,并安装必要的依赖库。
# 克隆仓库
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
# 安装依赖
pip install -e ".[torch]"
根据官方文档安装好 LLaMA-Factory 后,可以有三种方式进行操作:WebUI、CLI 或者 Python API。
1. WebUI 方式
这是最便捷的方式,适合快速验证和调试。



