llama-factory使用
1. 选型
1.1 可用框架
在选择大模型微调框架时,并没有一个“唯一最优”的答案,最佳选择很大程度上取决于你的技术背景、可用资源以及具体的任务目标。
为了帮助你快速了解,我将几个主流的微调框架的核心特点整理成了下面的表格。
| 框架名称 | 核心优势 | 技术特点 | 适合的用户 |
|---|---|---|---|
| LLaMA-Factory | 零代码/低代码,开箱即用,用户界面友好 | 支持大量模型和微调方法(LoRA, QLoRA等),集成多种优化技术 | 初学者、快速原型验证、非编程背景或追求高效率的开发者 |
| Hugging Face Transformers + PEFT | 生态最成熟,社区活跃,模型和工具链最全面 | PEFT库专攻参数高效微调(如LoRA),大幅降低资源消耗 | 大多数研究者和开发者,需要灵活性和广泛模型支持的场景 |
| Unsloth | 训练速度显著提升,显存占用大幅降低 | 通过重写模型底层计算内核实现加速,专注于LoRA/QLoRA | 个人开发者或资源有限的团队,希望在消费级GPU上微调模型 |
| MS-SWIFT (ModelScope) | 企业级全链路支持,功能全面,尤其适合中文场景 | 提供从训练、评估到部署的完整流程,对多模态模型支持良好 | 大型企业、需要端到端解决方案或处理多模态任务的团队 |
| DeepSpeed | 超大规模模型训练,分布式能力强 | 核心是ZeRO优化器和多种并行技术,极限压榨硬件性能 | 需要训练千亿参数级别模型的研究机构或大型企业 |
💡 如何根据你的情况做选择
你可以参考以下思路,来缩小选择范围:
如果你是初学者或希望快速验证想法
强烈推荐从 LLaMA-Factory 开始。它的图形化界面能让你绕过复杂的代码和环境配置,专注于理解数据和微调效果,快速上手。如果你是个人开发者或研究人员
- 追求极致的训练速度和低资源消耗:Unsloth 是你的不二之选,它能让你在单张显卡上完成原本难以企及的模型微调。
- 需要最大的灵活性和广泛的模型支持:Hugging Face Transformers + PEFT 组合是功能最强大的“瑞士军刀”,海量的模型和文档资源将为你提供巨大帮助。
如果是企业级的生产环境
- 考虑 **MS-SWIFT (ModelScope)**,它背靠阿里云,提供了企业级应用所需的稳定性、安全性和完整的技术支持。
- 若任务涉及千亿参数级别的模型,DeepSpeed 是经过实践检验的工业级解决方案,尽管其配置相对复杂。
🔍 选型前的重要考量
在最终决定前,建议你再思考一下这几个问题:
- 明确微调方法:首先要确定你是进行全参数微调还是参数高效微调(PEFT),如LoRA。全参数微调效果可能更好,但资源消耗巨大;LoRA等方法用极少的参数就能达到接近全参数微调的效果,是资源有限时的首选。大部分上述框架都支持LoRA。
- 理清硬件资源:评估你拥有的GPU显存和计算资源。这直接决定了你能微调多大的模型,以及能否使用某些需要大量显存的微调方法。
- 关注数据安全与合规:如果处理敏感数据,需要确认框架是否支持本地化部署,以及其数据处理流程是否符合公司的安全规范。
1.2 选择LLaMA-Factory
LLaMA-Factory 和 Unsloth 都是目前非常流行的大模型微调框架,但它们的设计目标和侧重点有很明显的不同。简单来说,LLaMA-Factory 更像是一个功能全面的“微调工作室”,而 Unsloth 则是一个追求极致效率的“性能加速器”。
为了让你能快速了解它们的核心区别,我准备了一个对比表格。
| 对比维度 | LLaMA-Factory | Unsloth |
|---|---|---|
| 核心定位 | 统一的低代码/全功能微调框架 | 专注于训练速度与内存优化的加速库 |
| 突出特点 | 支持超100种模型,集成大量算法与工具,提供Web图形界面 | 极致性能,通过重写底层内核,实现训练速度大幅提升和显存占用降低 |
| 性能表现 | 表现均衡,并可集成Unsloth等加速技术 | 速度提升2-5倍,内存减少50%-80% |
| 易用性 | 极高。图形化操作,适合从新手到专家的各类用户 | 中等。代码优先,需要一定的编程基础 |
| 模型支持 | 极其广泛,包括LLaMA、Qwen、ChatGLM、Gemma等众多主流与垂类模型 | 覆盖主流开源模型,如Llama、Mistral、Qwen、Gemma等 |
| 微调方法 | 全面支持全参数微调、LoRA、QLoRA、DPO等多种方法 | 主要支持LoRA、QLoRA等参数高效微调方法 |
如何选择
了解了基本区别后,你可以根据实际需求来决定使用哪个框架:
选择 LLaMA-Factory 的情况:
- 如果你是初学者,或者希望快速上手微调各种模型,LLaMA-Factory的Web界面非常友好 。
- 如果你的项目需要频繁切换或测试不同模型和算法,LLaMA-Factory提供的“一站式”支持能大幅提升效率 。
- 当你需要完成复杂的训练任务,例如奖励模型训练、偏好对齐(DPO等)时,LLaMA-Factory的内置支持会更方便 。
选择 Unsloth 的情况:
- 如果你的GPU显存有限(例如使用消费级显卡),或者追求极致的训练速度,Unsloth是理想选择 。
- 当你的任务相对固定,且Unsloth支持你所用的模型时,直接使用它能获得最佳的性能体验 。
- 值得一提的是,你甚至可以将两者结合使用。LLaMA-Factory已经集成了Unsloth作为可选的加速后端 。这意味着你可以在LLaMA-Factory便捷的框架内,启用Unsloth来加速训练过程,兼顾易用性与性能。
希望这些分析能帮助你做出合适的选择。如果你能分享一下你计划微调的具体模型类型和可用的硬件资源,或许我能给出更精准的建议。
2. 使用
hiyouga/LLaMA-Factory: Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)
2.1 下载
克隆仓库
1 | git clone --depth 1 git@github.com:hiyouga/LLaMA-Factory.git |
安装必要环境
1 | pip install -e ".[torch,metrics]" --no-build-isolation |
登录Huggingface。使用token登录
Hugging Face – The AI community building the future.
1 | huggingface-cli login |
运行。以LLaMA-Factory/examples/train_lora/qwen2_5vl_lora_dpo.yaml为例,如果在CPU上运行,需要修改bf16: false
1 | llamafactory-cli train examples/train_lora/qwen2_5vl_lora_dpo.yaml |
会自动下载数据集和模型。位置都位于~/.cache/huggingface。
参考
(15 封私信 / 81 条消息) 五个最流行的大模型微调框架 - 知乎
Qwen2.5-7B大模型微调:从准备到优化的详细记录与技巧!_qwen2.5-7b微调-CSDN博客
(15 封私信 / 81 条消息) Qwen3大模型微调入门实战(完整代码) - 知乎
llama-factory下使用unsloth微调DeepSeek-R1-Distill-Qwen-1.5B_llamafactory使用unsloth-CSDN博客
hiyouga/LLaMA-Factory: Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)
解决国内无法连接Hugging face,无法下载预训练模型_服务器连不上huggingface-CSDN博客
服务器/linux上登录huggingface网站_huggingface-cli login-CSDN博客
(15 封私信 / 81 条消息) 如何快速下载huggingface模型——全方法总结 - 知乎
- Title: llama-factory使用
- Author: Ethereal
- Created at: 2025-11-30 18:39:11
- Updated at: 2025-11-30 18:47:40
- Link: https://ethereal-o.github.io/2025/11/30/llama-factory/
- License: This work is licensed under CC BY-NC-SA 4.0.