随着 LLM 应用的广泛普及,如何提高模型的推理效率并降低资源消耗成为了技术发展中的一大挑战。Unsloth 通过引入多个强化学习(RL)算法和最新的量化技术,显著提高了 LLM 在推理和微调过程中的性能,并大幅降低了显存消耗。
DeepSeek 的研究人员在用纯强化学习(RL)训练 R1-Zero 时观察到了一个“灵光一现”的时刻。模型学会了通过重新评估最初的思路来延长思考时间,而无需任何人工指导或预定义指令。
Unsloth 对整个 GRPO 过程进行了增强,使其比 Hugging Face + FA2 减少了 80% 的显存使用。这意味着我们可以使用 7GB 显存,通过Qwen2.5(1.5B)复现了 R1-Zero “灵光一现”的时刻。
一、主要细节
使用15GB显存,Unsloth 允许我们将任何最多 15B 参数的模型(如Llama 3.1(8B)、Phi-4(14B)、Mistral(7B)或 Qwen2.5(7B))转变为推理模型。
最低要求:仅需 7GB 显存即可在本地训练自己的推理模型。
Tiny-Zero 的团队展示了如何用 Qwen2.5(1.5B)复现 R1-Zero “灵光一现”的时刻——但之前需要2个A100 GPU(160GB显存)。而现在,通过 Unsloth,我们只需一个 7GB 显存的 GPU 即可实现同样的效果。
请注意,这不是对 DeepSeek 的 R1 精炼模型进行微调,也不是使用 R1 的精炼数据进行微调,而是通过 GRPO 将标准模型转换为一个完整的推理模型。
这种魔法可以通过 GRPO 重新创建,GRPO 是一种强化学习(RL)算法,能够高效优化响应,而不需要值函数,这与依赖值函数的近端策略优化(PPO)不同。在我们的笔记本中,我们使用 GRPO 训练一个模型,旨在使其自主开发自我验证和搜索能力——创造一个迷你“灵光一现”时刻。
工作原理:
-
模型生成一组响应。
-
每个响应根据正确性或由某个奖励函数创建的其他度量标准进行评分,而不是使用 LLM 奖励模型。
-
计算该组的平均得分。
-
将每个响应的得分与该组平均得分进行比较。
-
强化模型,使其倾向于选择得分更高的响应。
例如,假设我们希望模型解决以下问题:
1+1 等于多少? >> 思考链/推理过程 >> 答案是2。
2+2 等于多少?>> 思考链/推理过程 >> 答案是4。
最初,必须收集大量数据来填充推理过程。但 GRPO(DeepSeek 使用的算法)或其他 RL 算法可以引导模型自动展示推理能力并生成推理痕迹。相反,我们需要创建良好的奖励函数或验证器。例如,如果答案正确,就给它打 1 分;如果有拼写错误,扣 0.1 分,依此类推!我们可以提供许多奖励过程的函数。
二、GRPO 在 Unsloth 中的应用
如果你在本地使用 GRPO 与 Unsloth,请确保“pip install diffusers”,因为它是一个依赖项。
等待至少 300 步才能看到奖励的实际增长,请使用最新版本的 vLLM。为了获得良好的结果,你需要训练至少 12 小时(这就是 GRPO 的工作方式),但请记住,这不是强制性的,你可以随时停止。
建议将 GRPO 应用于至少 1.5B 参数的模型,以便正确生成思考 token,因为较小的模型可能无法做到。如果你使用的是基础模型,请确保拥有聊天模板。GRPO 的训练损失追踪功能现在已直接内置于 Unsloth 中,无需像 wandb 等外部工具。
除了增加 GRPO 支持外,Unsloth 随后还支持了在线 DPO、PPO 和 RLOO!请查看下图,比较 Unsloth 的在线 DPO 显存消耗与标准 Hugging Face + FA2 的差异。
三、Unsloth x vLLM
20 倍吞吐量,节省 50% 显存。
现在,你可以直接在微调堆栈中使用 vLLM,这大大提高了吞吐量,并且允许你在同一时间进行微调和推理!在 1x A100 40GB 显卡上,使用 Unsloth 的动态 4bit 量化的 Llama 3.2 3B Instruct,预期吞吐量约为 4000 tokens/s。在 16GB 的Tesla T4(免费 Colab GPU)上,你可以获得约 300 tokens/s 的吞吐量。
Unsloth 去除了加载 vLLM 和 Unsloth 时的双倍内存使用,从而节省了约 5GB 的显存(对于 Llama 3.1 8B)和 3GB 的显存(对于 Llama 3.2 3B)。原本,Unsloth 可以在 1x 48GB GPU 上微调 Llama 3.3 70B Instruct,其中 Llama 3.3 70B 的权重占用了 40GB 的显存。如果不去除双倍内存使用,当加载 Unsloth 和 vLLM 一起使用时,我们将需要至少 80GB 的显存。
但是使用 Unsloth,我们仍然可以在不到 48GB 显存的情况下,同时享受微调和快速推理的好处!要使用快速推理,首先安装 vllm,并通过 fast_inference 实例化 Unsloth:
# pip install unsloth vllm
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "unsloth/Llama-3.2-3B-Instruct",
fast_inference = True,
)
model.fast_generate(["Hello!"])
四、什么是 GRPO?
GRPO(Group Relative Policy Optimization,群体相对策略优化)是一种强化学习(RL)算法,旨在优化模型的响应质量,而不依赖传统的值函数。这种算法通过一种群体相对优化方法,对模型的每个生成的响应进行评分,并根据这些评分来引导模型的学习过程。
具体来说,GRPO 算法的主要特点如下:
-
无值函数:与依赖值函数的强化学习算法(如 PPO)不同,GRPO 不使用值函数来评估状态或行为的质量,而是通过对模型输出的响应进行评分,并基于这些评分来优化模型。
-
响应评分与群体平均:在 GRPO 中,模型生成一组可能的响应,每个响应都会根据正确性或其他预定义的奖励函数进行评分。然后,计算这些响应的平均得分,并将每个响应的得分与群体平均得分进行比较。模型会得到强化,倾向于生成得分较高的响应。
-
自我优化:GRPO 能够帮助模型自主地进行推理和自我验证。例如,模型可以在没有人工干预的情况下,通过不断调整思维过程来提高推理结果的准确性。
-
适用于多种任务:GRPO 不仅可以用于常见的分类任务,也可以应用于更复杂的任务,如生成具有自我验证和推理能力的模型(例如,解答问题时展示推理过程)。
总的来说,GRPO通过强化学习的方式,不仅优化模型的回答,还能改善其推理过程,使模型在没有人工反馈的情况下,能够不断自我改进,从而在处理复杂任务时展现出更强的推理能力。
五、如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 2024行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码
,免费领取【保证100%免费
】