大家好,我是贝克街的捉虫师呀!
最近大模型可谓是炙手可热,各种新模型层出不穷,但是想让这些“大家伙”真正为我所用,针对特定任务进行微调(Fine-tuning)是必不可少的。但是,微调大模型往往需要大量的专业知识和昂贵的硬件资源,让许多开发者望而却步。
今天,给大家介绍一个 GitHub 上 Star 数将近五万的开源项目——LLaMA Factory [i],它就像一个炼丹炉,能让你轻松驾驭各种大模型,快速定制出属于你自己的 AI 模型!
项目概述
LLaMA Factory 是一个易于使用且高效的平台,用于训练和微调大型语言模型(LLMs)和视觉语言模型(VLMs). 它可以帮助开发者在本地微调上百个预训练模型,而无需编写任何代码.
你可以把它想象成一个“大模型加工厂”,提供各种“配方”(训练方法)和“原材料”(预训练模型),让你能够根据自己的需求,定制出各种口味的“AI 产品”。
LLaMA Factory 的核心定位是降低大模型微调的门槛,让更多的开发者能够参与到大模型的应用开发中来. 它支持多种模型、训练方法和硬件配置,并提供了用户友好的 Web 界面和命令行工具,极大地简化了微调流程.
该项目的主要技术特点包括:
- 支持多种模型:LLaMA、LLaVA、Mistral、Qwen 等.
- 集成多种训练方法:(持续)预训练、(多模态)监督微调、奖励建模、PPO、DPO 等.
- 可扩展的资源:16 位全参数微调、冻结微调、LoRA 和 2/3/4/5/6/8 位 QLoRA.
- 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab 等.
项目数据
- GitHub 星标数量:48045 (截至 2025 年 5 月 2 日)
- 主要开发语言:Python
- 主要技术栈:PyTorch, Transformers, PEFT, Accelerate
- 维护状态:积极维护,更新频繁
- 贡献者数量:众多开发者参与贡献
从 GitHub 的数据可以看出,LLaMA Factory 受到了广泛的关注和欢迎,并且拥有一个活跃的开发者社区. 这也意味着你可以获得更多的技术支持和使用案例。
功能亮点
LLaMA Factory 提供了丰富的功能,下面我将介绍几个核心亮点:
-
🚀 多种模型支持
支持 LLaMA, LLaVA, Mistral, Qwen, DeepSeek, Yi, Gemma, ChatGLM, Phi 等多种模型。这意味着你可以选择最适合你任务的模型,而无需担心兼容性问题。
* 💡 集成多种训练方法支持 (持续) 预训练, (多模态) 监督微调, 奖励建模, PPO, DPO, KTO, ORPO 等。无论是想让模型掌握新的知识,还是想让模型更符合人类的偏好,LLaMA Factory 都能满足你的需求。
* 💰 可扩展的资源支持 16 位全参数微调, 冻结微调, LoRA 和 2/3/4/5/6/8 位 QLoRA。即使你没有强大的 GPU 资源,也可以通过 QLoRA 等技术,在有限的资源下完成大模型的微调。
* ⚡ 实验监控支持 LlamaBoard, TensorBoard, Wandb, MLflow, SwanLab 等。你可以实时监控训练过程中的各种指标,及时调整参数,提高训练效率。
* 🖥️ Web UI 界面LLaMA Factory 提供了一个 Web UI 界面,让你可以通过浏览器进行模型训练、评估和推理。即使你对命令行不熟悉,也可以轻松上手。
* ✨ 一键部署支持 OpenAI 风格的 API,可以快速将微调后的模型部署到生产环境中。你可以将模型集成到你的应用中,为用户提供智能服务。
安装与使用
下面我将介绍 LLaMA Factory 的安装和使用方法,让你能够快速上手。
环境要求
- Python >= 3.9
- PyTorch >= 2.0.0
- Transformers >= 4.45.0
- Datasets >= 2.16.0
- Accelerate >= 0.34.0
- PEFT >= 0.14.0
- TRL >= 0.8.6
安装步骤
-
克隆 LLaMA Factory 仓库:
bash
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
2. 安装依赖:bash
pip install -e ".[torch,metrics]"你还可以根据需要安装额外的依赖,例如:
bash
pip install -e ".[torch,metrics,deepspeed,bitsandbytes]"
快速上手
-
使用以下命令运行 LoRA 微调、推理和合并 Llama3-8B-Instruct 模型:
bash
llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml
2. 你还可以使用 Web UI 界面进行操作:bash
llamafactory-cli webui
常见问题
- 安装失败:请检查你的 Python 版本和依赖是否满足要求。
- 显存不足:尝试使用 QLoRA 等技术,降低显存占用。
- 训练速度慢:可以尝试使用 FlashAttention-2 等加速技术。
使用场景与推荐理由
LLaMA Factory 适用于以下场景:
- 定制 AI 助手:你可以使用 LLaMA Factory,基于现有的预训练模型,针对特定领域的知识进行微调,打造出专业的 AI 助手。例如,你可以微调一个医疗领域的 AI 助手,为患者提供专业的健康咨询服务。
- 提高模型性能:你可以使用 LLaMA Factory,针对特定任务的数据集,对模型进行微调,提高模型的性能。例如,你可以微调一个文本分类模型,提高其在特定领域的分类准确率。
- 快速实验:LLaMA Factory 提供了简单易用的 Web 界面和命令行工具,可以帮助你快速进行各种实验,探索大模型的潜力。
推荐理由:
- 易于使用:LLaMA Factory 提供了用户友好的 Web 界面和命令行工具,让你可以轻松上手。
- 功能强大:LLaMA Factory 支持多种模型、训练方法和硬件配置,可以满足你的各种需求。
- 社区活跃:LLaMA Factory 拥有一个活跃的开发者社区,你可以获得更多的技术支持和使用案例。
与其他同类工具相比,LLaMA Factory 的优势在于其易用性和灵活性。它不仅提供了丰富的功能,还降低了使用门槛,让更多的开发者能够参与到大模型的应用开发中来。
适合的用户群体:
- 软件开发者
- AI 爱好者
- 研究人员
- IT 从业人员
结语
LLaMA Factory 是一款非常优秀的开源项目,它降低了大模型微调的门槛,让更多的开发者能够参与到大模型的应用开发中来。
如果你正在寻找一款易于使用且功能强大的大模型微调工具,那么 LLaMA Factory 绝对值得尝试。
GitHub 链接:https://github.com/hiyouga/LLaMA-Factory
欢迎大家尝试 LLaMA Factory,并在评论区分享你的使用体验和想法!