LLaMA-Factory:统一高效的LLM/VLM微调工具
LLaMA-Factory: 统一高效地微调100+ LLMs & VLMs (ACL 2024)
LLaMA-Factory 是一个强大的工具,旨在简化和加速大规模语言模型(LLMs)和视觉语言模型(VLMs)的微调过程。它支持超过 100 种不同的模型架构,并集成了多种先进的微调技术和优化算法。
项目地址: https://github.com/hiyouga/LLaMA-Factory
核心特性
-
广泛的模型支持: 支持 LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Qwen2-VL, DeepSeek, Yi, Gemma, ChatGLM, Phi 等超过100个模型。
-
多种训练方法: 包括 (Continuous) pre-training, (multimodal) supervised fine-tuning, reward modeling, PPO, DPO, KTO, ORPO 等。
-
高效的资源利用: 支持 16-bit full-tuning, freeze-tuning, LoRA 以及 2/3/4/5/6/8-bit QLoRA via AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 等量化技术。
-
先进的优化算法: 包括 GaLore, BAdam, APOLLO, Adam-mini, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ 和 PiSSA 等。
-
实用技巧: 集成 FlashAttention-2, Unsloth, Liger Kernel, RoPE scaling, NEFTune 和 rsLoRA 等技术。
-
广泛的任务支持: 支持多轮对话、工具使用、图像理解、视觉定位、视频识别、音频理解等。
-
实验监控工具: 支持 LlamaBoard, TensorBoard, Wandb, MLflow, SwanLab 等多种监控工具。
-
快速推理: 支持 OpenAI-style API, Gradio UI 和基于 vLLM worker 的 CLI 接口。
性能基准
在广告文本生成任务中,相较于 ChatGLM 的 P-Tuning 方法,LLaMA Factory 的 LoRA 微调速度提升高达 3.7 倍,同时具有更好的 Rouge 分数。通过利用 4-bit 量化技术,LLaMA Factory 的 QLoRA 进一步提高了 GPU 内存效率。
最新进展
- EasyR1: 用于高效 GRPO 训练的高效、可扩展和多模态 RL 训练框架。
- 支持保存 Ollama modelfile。
- 支持 Qwen2-Audio 和 MiniCPM-o-2.6 在音频理解任务上的微调。
- 支持 DeepSeek-R1 和 Qwen2.5-VL 模型的微调。
- 支持 APOLLO 优化器。
- 支持 MiniCPM-o-2.6 和 MiniCPM-V-2.6 模型的微调。
- 支持 InternLM3 模型微调。
- 支持 Phi-4 模型微调。
- 集成 SwanLab 用于实验跟踪和可视化。
- 支持 Skywork-o1 模型和 OpenO1 数据集的微调。
- 支持从 Modelers Hub 下载预训练模型和数据集。
- 支持 Qwen2.5 模型微调。
- 支持 Qwen2-VL 模型微调。
- 集成 Liger Kernel 以提高训练效率。
- 支持 Adam-mini 优化器。
- 支持 contamination-free packed training。
- 支持 PiSSA 算法。
- 支持 Qwen2 和 GLM-4 模型微调。
- 支持 SimPO 算法进行偏好学习。
- 支持 PaliGemma 系列模型微调。
- 支持 KTO 算法进行偏好学习。
- 支持在 Ascend NPU 设备上训练和推理。
- 支持 LLaVA-1.5 多模态 LLMs 的微调。
- 提供 Colab notebook 用于在免费 T4 GPU 上微调 Llama-3 模型。
- 支持 Mixture-of-Depths。
- 支持 BAdam 优化器。
- 支持 unsloth 的长序列训练 (Llama-2-7B-56k within 24GB)。
- 支持 ORPO。
- 支持 FSDP+QLoRA,可在 2x24GB GPU 上微调 70B 模型。
- 支持 LoRA+。
- 支持 GaLore 优化器。
- 集成 vLLM 用于更快速和并发的推理。
- 支持 weight-decomposed LoRA (DoRA)。
- 支持 LLaMA Pro 提出的块扩展。
快速上手
-
安装
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e ".[torch,metrics]"
-
数据准备: 参考
data/README.md
准备数据集。 -
快速启动:
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
总结
LLaMA-Factory 是一个功能强大且易于使用的工具,适用于研究人员和开发人员,用于高效微调各种 LLMs 和 VLMs。 其广泛的模型支持、先进的训练技术和优化的推理引擎,使其成为 LLM 领域的一个重要贡献。
- 原文作者:iamdev
- 原文链接:https://blog.iamdev.cn/post/2025/LLaMA-Factory%E7%BB%9F%E4%B8%80%E9%AB%98%E6%95%88%E7%9A%84LLM_VLM%E5%BE%AE%E8%B0%83%E5%B7%A5%E5%85%B7/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止转载 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。