文章摘要
LLaMA-Factory是一个统一高效的大语言模型(LLMs)和视觉语言模型(VLMs)微调工具,支持100多种模型的微调,相关研究发表于ACL 2024。该项目在GitHub上开源,拥有活跃的社区贡献和持续更新的工作流。
文章总结
LLaMA Factory:统一高效微调100+大语言模型(ACL 2024)
LLaMA Factory 是一个开源项目,旨在为大语言模型(LLMs)和视觉语言模型(VLMs)提供高效、统一的微调解决方案。该项目支持超过100种模型,涵盖了从LLaMA、Mistral到Qwen、Gemma等多种主流模型,并提供了多种微调方法,包括全参数微调、LoRA、QLoRA等。LLaMA Factory 还集成了多种先进的优化算法,如GaLore、BAdam、APOLLO等,以提升训练效率和模型性能。
主要特点:
- 多模型支持:支持LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Qwen2-VL、DeepSeek、Yi、Gemma、ChatGLM、Phi等多种模型。
- 多种微调方法:支持全参数微调、冻结微调、LoRA、QLoRA等多种微调方式,并支持2/3/4/5/6/8位量化。
- 先进算法:集成了GaLore、BAdam、APOLLO、Adam-mini、Muon、OFT、DoRA、LongLoRA等优化算法,提升训练效率。
- 实用技巧:支持FlashAttention-2、Unsloth、Liger Kernel等加速技术,提升训练和推理速度。
- 多任务支持:支持多轮对话、工具使用、图像理解、视觉定位、视频识别、音频理解等多种任务。
- 实验监控:支持LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab等实验监控工具。
- 快速推理:支持OpenAI风格的API、Gradio UI和CLI,并集成了vLLM和SGLang加速推理。
使用场景:
LLaMA Factory 已被亚马逊、NVIDIA、阿里云等公司广泛应用于各种场景,如文档信息提取、模型微调等。用户可以通过命令行或Web UI轻松进行模型微调,支持零代码操作。
快速开始:
- 安装:通过GitHub克隆项目并安装依赖,或使用Docker镜像快速部署。
- 数据准备:支持从Hugging Face、ModelScope、Modelers Hub等平台下载数据集,或使用本地数据。
- 微调:通过命令行或Web UI进行模型微调,支持LoRA、QLoRA等多种微调方式。
- 推理:支持通过OpenAI风格的API或Gradio UI进行模型推理。
支持的最新模型:
LLaMA Factory 持续支持最新的模型,如Qwen3、Qwen2.5-VL、Gemma 3、GLM-4.1V、InternLM 3、MiniCPM-o-2.6等,并在模型发布的第一时间提供支持。
项目资源:
- GitHub:https://github.com/hiyouga/LLaMA-Factory
- 文档:https://llamafactory.readthedocs.io/en/latest/
- Colab:https://colab.research.google.com/drive/1eRTPn37ltBbYsISy9Aw2NuI2Aq5CQrD9?usp=sharing
引用:
如果LLaMA Factory对您的研究有帮助,请引用以下论文:
bibtex
@inproceedings{zheng2024llamafactory,
title={LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models},
author={Yaowei Zheng and Richong Zhang and Junhao Zhang and Yanhan Ye and Zheyan Luo and Zhangchi Feng and Yongqiang Ma},
booktitle={Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)},
address={Bangkok, Thailand},
publisher={Association for Computational Linguistics},
year={2024},
url={http://arxiv.org/abs/2403.13372}
}
LLaMA Factory 是一个功能强大且易于使用的工具,适合研究人员和开发者快速进行大语言模型的微调和部署。
评论总结
LLaMA Factory的实用性和易用性
- 评论1和评论5提到LLaMA Factory是一个易于使用且高效的平台,支持本地微调预训练模型,无需编写代码。
- 引用:
- "LLaMA Factory is an easy-to-use and efficient platform for training and fine-tuning large language models."
- "FYI it also supports pre-training, reward model training and RL, not just fine tuning (sft)."
微调的应用场景
- 评论2质疑微调在代码生成和格式化之外的场景是否一致有用。
- 引用:
- "are there any use cases, aside from code generation and formatting, where fine-tuning consistently useful?"
与其他工具的比较
- 评论3将LLaMA Factory与Nvidia NIM工厂进行概念性比较,指出后者效果未达预期。
- 评论6询问LLaMA Factory与Unsloth的比较。
- 引用:
- "This reminds me conceptually of the Nvidia NIM factory where they attempt to optimize models in bulk / en-masse."
- "Can you compare this to Unsloth?"
硬件需求和数据集的重要性
- 评论4和评论5讨论了本地微调所需的GPU配置,强调需要高性能设备。
- 评论7指出数据集和RL目标函数的构建是主要工作。
- 引用:
- "What gpu configs, budget to ultra high-end, would you recommend for local fine tuning?"
- "most work is involved in curating the dataset and the objective functions for RL."
类似工具的存在
- 评论8提到类似工具Oumi,包含数据合成和LLM-as-a-Judge功能。
- 引用:
- "There’s a similar library that also includes data synth and LLM-as-a-Judge."
总结:LLaMA Factory被认为是一个易于使用且高效的平台,支持多种训练和微调任务,但需要高性能硬件。评论者对其应用场景、与其他工具的比较以及数据集的重要性提出了讨论。