LLaMA Factory Logo
随着大型语言模型(LLM)的广泛应用,如何高效地微调和管理这些模型成为了开发者们面临的巨大挑战。LLaMA Factory 是一个开源项目,旨在通过一个统一的Web界面,帮助用户高效地微调、评估和部署100多个大型语言模型。本文将深入介绍LLaMA Factory的主要功能、支持的模型和训练方法,以及如何快速上手使用这个强大的工具。
一、LLaMA Factory简介
LLaMA Factory 是一个基于Web的用户界面,提供了对多种大型语言模型的微调、训练和部署支持。它集成了多种训练方法和先进的算法,旨在简化大型语言模型的微调过程,让用户能够以最小的资源高效地训练和管理模型。
1.1 主要特性
-
多样化的模型支持:支持LLaMA、LLaVA、Mistral、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi等模型,涵盖了市场上主流的LLM。
-
集成的训练方法:支持连续预训练、多模态监督微调、奖励建模、PPO、DPO、KTO、ORPO等训练方法。
-
高效的资源利用:提供16位全参数微调、冻结微调、LoRA,以及2/3/4/5/6/8位的QLoRA,支持多种量化策略,降低显存占用。
-
先进的算法支持:集成了GaLore、BAdam、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等工具,方便监控和分析训练过程。
-
快速推理部署:支持OpenAI风格的API、Gradio UI和CLI,集成vLLM worker,加速推理速度。
二、性能基准测试
在广告文本生成任务中,与ChatGLM的P-Tuning相比,LLaMA Factory的LoRA微调在训练速度上提高了3.7倍,并在Rouge得分上表现更好。通过采用4位量化技术,LLaMA Factory的QLoRA进一步提高了显存利用效率。
Benchmark
定义:
-
训练速度:训练过程中每秒处理的样本数量(批次大小=4,序列长度=1024)。
-
Rouge得分:在广告文本生成任务的开发集上计算的Rouge-2得分。
-
显存占用:在4位量化训练中显存的峰值使用量(批次大小=1,序列长度=1024)。
-
对于ChatGLM的P-Tuning,设置
pre_seq_len=128
;对于LLaMA Factory的LoRA微调,设置lora_rank=32
。
三、支持的模型
LLaMA Factory支持多种大型语言模型,以下是部分支持的模型列表:
-
LLaMA系列:7B、13B、33B、65B
-
LLaVA系列:7B、13B
-
Mistral系列:7B、8x7B、8x22B
-
Qwen系列:0.5B、1.5B、3B、7B、14B、32B、72B、110B
-
Baichuan系列:7B、13B
-
ChatGLM系列:6B
-
Phi系列:1.3B、2.7B、4B、7B、14B
-
Yi系列:1.5B、6B、9B、34B
注意: 对于“基础”模型,
template
参数可以选择default
、alpaca
、vicuna
等。但对于“指令/聊天”模型,请确保使用对应的模板。在训练和推理中使用相同的模板。
完整的支持模型列表请参考constants.py。您也可以在template.py中添加自定义的聊天模板。
四、支持的训练方法
训练方法 | 全参数微调 | 冻结微调 | LoRA | QLoRA |
---|---|---|---|---|
预训练 | ✅ | ✅ | ✅ | ✅ |
监督微调 | ✅ | ✅ | ✅ | ✅ |
奖励建模 | ✅ | ✅ | ✅ | ✅ |
PPO训练 | ✅ | ✅ | ✅ | ✅ |
DPO训练 | ✅ | ✅ | ✅ | ✅ |
KTO训练 | ✅ | ✅ | ✅ | ✅ |
ORPO训练 | ✅ | ✅ | ✅ | ✅ |
SimPO训练 | ✅ | ✅ | ✅ | ✅ |
提示: PPO的实现细节可参考这篇博客。
五、提供的数据集
LLaMA Factory提供了多种预训练和监督微调数据集,涵盖英文、中文、多语言等多种类型。部分数据集包括:
-
预训练数据集:RefinedWeb、RedPajama V2、Pile、SkyPile、The Stack等。
-
监督微调数据集:Stanford Alpaca、BELLE系列、UltraChat、OpenPlatypus、Firefly等。
-
偏好数据集:DPO mixed、UltraFeedback、RLHF-V等。
注意: 部分数据集需要先登录Hugging Face账号才能使用。请使用以下命令登录:
pip install --upgrade huggingface_hub
huggingface-cli login
六、系统要求
6.1 软件要求
-
Python:最低3.8,推荐3.11
-
PyTorch:最低1.13.1,推荐2.4.0
-
Transformers:最低4.41.2,推荐4.43.4
-
Datasets:最低2.16.0,推荐2.20.0
-
Accelerate:最低0.30.1,推荐0.32.0
-
PEFT:最低0.11.1,推荐0.12.0
-
TRL:最低0.8.6,推荐0.9.6
6.2 硬件要求
根据不同的训练方法和模型大小,显存需求各不相同。以下是估计的显存需求:
方法 | 位宽 | 7B | 13B | 30B | 70B | 110B | 8x7B | 8x22B |
---|---|---|---|---|---|---|---|---|
全参数微调 | AMP | 120G | 240G | 600G | 1200G | 2000G | 900G | 2400G |
全参数微调 | 16 | 60G | 120G | 300G | 600G | 900G | 400G | 1200G |
冻结微调 | 16 | 20G | 40G | 80G | 200G | 360G | 160G | 400G |
LoRA/GaLore等 | 16 | 16G | 32G | 64G | 160G | 240G | 120G | 320G |
QLoRA | 8 | 10G | 20G | 40G | 80G | 140G | 60G | 160G |
QLoRA | 4 | 6G | 12G | 24G | 48G | 72G | 30G | 96G |
QLoRA | 2 | 4G | 8G | 16G | 24G | 48G | 18G | 48G |
七、如何开始使用LLaMA Factory
7.1 安装
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"
提示: 如果遇到包冲突问题,可以使用
pip install --no-deps -e .
。
7.2 数据准备
请参考data/README.md了解数据集文件的格式。您可以使用Hugging Face或ModelScope上的数据集,也可以加载本地数据集。
注意: 如果使用自定义数据集,请更新
data/dataset_info.json
。
7.3 快速开始
使用以下命令进行LoRA微调、推理和合并,以Llama3-8B-Instruct模型为例:
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
更多高级用法(包括分布式训练)请参考examples/README.md。
提示: 使用
llamafactory-cli help
查看帮助信息。
7.4 使用Web界面进行微调
llamafactory-cli webui
该命令将启动基于Gradio的Web界面,您可以在浏览器中进行模型的微调、评估和推理。
7.5 部署OpenAI风格的API
API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml
提示: 您可以参考OpenAI的API文档来了解如何与该API交互。
八、类似项目介绍
在大型语言模型的微调和管理领域,还有一些值得关注的项目。以下是对这些项目的简要介绍:
8.1 PEFT
特点:
-
由Hugging Face提供的轻量级微调库。
-
支持LoRA、Prefix Tuning等参数高效微调方法。
-
与Transformers库无缝集成。
应用场景:
适合需要对Transformer模型进行参数高效微调的用户,尤其是资源受限的情况下。
8.2 TRL
特点:
-
专注于使用强化学习对语言模型进行训练。
-
支持PPO、DPO等强化学习算法。
-
提供与Transformers的集成。
应用场景:
适合需要对模型进行强化学习训练,以优化特定目标(如人类反馈)的用户。
8.3 QLoRA
特点:
-
提供了4位量化LoRA微调的实现。
-
大幅降低了显存占用,支持在单张GPU上微调大型模型。
-
与Hugging Face的Transformers库兼容。
应用场景:
适合需要在有限硬件资源上微调大型语言模型的用户。
8.4 FastChat
特点:
-
提供了一个开源的AI助手框架。
-
支持多种模型和聊天界面。
-
可用于部署和评估聊天机器人。
应用场景:
适合需要快速搭建聊天机器人的用户,支持多种模型的推理和评估。
对比总结:
-
LLaMA Factory:提供了一个统一的Web界面,集成了多种模型和训练方法,适合需要高效微调和管理多种大型语言模型的用户。
-
PEFT:专注于参数高效微调,适合资源受限的情况下对单个模型进行微调。
-
TRL:专注于强化学习训练,适合需要优化特定目标的用户。
-
QLoRA:提供了低显存占用的微调方法,适合在单张GPU上微调大型模型。
-
FastChat:提供了聊天机器人框架,适合快速部署和评估对话模型。
九、结语
LLaMA Factory为大型语言模型的微调和管理提供了一个强大而高效的解决方案。通过统一的Web界面和对多种模型、训练方法的支持,用户可以更轻松地训练、评估和部署大型语言模型。在快速发展的AI领域,LLaMA Factory为开发者和研究人员提供了重要的工具,助力他们在有限的资源下实现最佳的模型性能。
如果您对LLaMA Factory感兴趣,欢迎访问其GitHub仓库获取更多信息和资源。无论您是初学者还是资深研究人员,LLaMA Factory都将是您不可或缺的伙伴。
如何学习AI大模型 ?
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
😝有需要的小伙伴,可以VX扫描下方二维码免费领取🆓
👉1.大模型入门学习思维导图👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
👉2.AGI大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。
👉3.大模型实际应用报告合集👈
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)
👉4.大模型落地应用案例PPT👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)
👉5.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
👉6.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓