原贴链接

嗨,大家好!我们创建了这个简易快速入门教程,完成后,你将能够使用Unsloth将任何像Llama这样的开源大型语言模型(LLM)转变为具有思维链推理能力的模型。你将了解奖励函数、GRPO背后的原理、数据集准备、使用案例等更多内容!希望对大家有所帮助!😃完整指南(含图片):https://docs.unsloth.ai/basics/reasoning-grpo-and-rl/这些说明是针对我们的Google Colab笔记本的。如果你在本地安装Unsloth,也可以将我们的笔记本复制到你喜欢的代码编辑器中。我们正在使用的GRPO笔记本Llama 3.1 (8B) Phi - 4 (14B) Qwen2.5 (3B) #1. 安装Unsloth如果你正在使用我们的Colab笔记本,点击运行时>全部运行。我们强烈建议在开始之前查看我们的[微调指南](https://docs.unsloth.ai/get-started/fine - tuning - guide)。如果在本地安装,请确保你有正确的[要求](https://docs.unsloth.ai/get - started/beginner - start - here/unsloth - requirements)并使用pip install unsloth。

image
#2. 了解GRPO和奖励函数在开始之前,建议更多地了解GRPO、奖励函数以及它们的工作原理。在这里阅读更多关于它们的内容,包括[技巧与窍门](https://docs.unsloth.ai/basics/reasoning - grpo - and - rl#basics - tips)[这里](/o/HpyELzcNe0topgVLGCZY/s/xhOjnexMCB3dmuQFQ2Zq//changes/218/basics/reasoning - grpo - and - rl#basics - tips)。你还需要足够的显存。一般来说,模型参数 = 你将需要的显存数量。在Colab中,我们正在使用他们免费的16GB显存GPU,它可以训练任何参数不超过16B的模型。#3. 配置所需设置我们已经为你预先选择了最佳设置以获得最佳结果,你可以将模型更改为我们[支持的模型](https://docs.unsloth.ai/get - started/all - our - models)中列出的任何模型。如果你是初学者,不建议更改其他设置。https://preview.redd.it/mh114uw0ugle1.png?width = 1254&format = png&auto = webp&s = c895c2b016a88d86d3a3c2138e2929ab3b927f53 #4. 选择你的数据集我们已经预先选择了OpenAI的GSM8K数据集,但你可以将其更改为自己的数据集或Hugging Face上的任何公开数据集。你可以在这里阅读更多关于[数据集的内容](/o/HpyELzcNe0topgVLGCZY/s/xhOjnexMCB3dmuQFQ2Zq//changes/218/basics/datasets - 101)。你的数据集仍然应该至少有两列用于问题和答案对。然而,答案不能透露它从问题中得出答案背后的推理过程。示例如下:https://preview.redd.it/pgrd3xamtgle1.png?width = 2304&format = png&auto = webp&s = 4630f2d5aad3 = 04f8bebaec1d8e2acea877ac4c8f #5. 奖励函数/验证器[奖励函数/验证器](https://docs.unsloth.ai/basics/reasoning - grpo - and - rl#reward - functions - verifier)让我们根据你提供的数据集知道模型表现是否良好。每次生成运行都将根据它相对于其他生成的平均分数的表现进行评估。你可以创建自己的奖励函数,但我们已经为你预先选择了[Will’s GSM8K](https://docs.unsloth.ai/basics/reasoning - grpo - and - rl#gsm8k - reward - functions)奖励函数。https://preview.redd.it/2oadoawotgle1.png?width = 2284&format = png&auto = webp&s = 8ab31dedc2e4de01176b42606f06be9a0228c67e通过这个,我们有5种不同的方式来奖励每次生成。你也可以将你的生成输入到像ChatGPT 4o或Llama 3.1 (8B)这样的大型语言模型中,并设计一个奖励函数和验证器来评估它。例如,设置一个规则:“如果答案听起来太机械,扣3分。”这有助于根据质量标准优化输出。在这里查看它们可能的样子的示例[这里](https://docs.unsloth.ai/basics/reasoning - grpo - and - rl#reward - function - examples)。用于电子邮件自动化任务的示例奖励函数问题:入站邮件答案:出站邮件奖励函数:如果答案包含所需关键字→+1如果答案与理想响应完全匹配→+1如果响应太长→ - 1如果包含收件人姓名→+1如果存在签名块(电话、电子邮件、地址)→+1 #6. 训练你的模型我们已经为获得最佳结果预先选择了超参数,但你可以更改它们。在这里阅读所有关于[参数的内容](https://docs.unsloth.ai/get - started/beginner - start - here/lora - parameters - encyclopedia)。你应该看到奖励随着时间增加。我们建议你至少训练300步,这可能需要30分钟,然而,为了获得最佳结果,你应该训练更长时间。你还将看到示例答案,这让你可以看到模型是如何学习的。有些可能有步骤、XML标签、尝试等,并且想法是随着训练它会变得越来越好,因为它的分数会越来越高,直到我们得到我们想要的带有长推理链答案的输出。https://preview.redd.it/bckurqkutgle1.png?width = 1487&format = png&auto = webp&s = 2bd09c09ee7c146b88502cbf627a9878e0c2c6ca *就是这样 - 真的希望大家喜欢它,请给我们任何反馈!!:)

讨论总结

这是一个关于如何使用特定工具训练推理模型的教程帖,评论者们提出了各种各样的问题,包括奖励函数的理解与应用、模型在特定硬件下的训练情况、文档链接故障、操作流程的疑问等,也有部分人表达了对帖子内容的认可、感谢,同时也存在对内容是否为推广的质疑。整体氛围比较积极,大家都在积极探索与模型训练相关的知识。

主要观点

  1. 👍 奖励函数具有一定难度
    • 支持理由:评论者表示奖励函数比自己预期的更棘手。
    • 反对声音:无。
  2. 🔥 可以将奖励函数类比为高中测验来理解
    • 正方观点:这种类比有助于理解奖励函数的运作方式。
    • 反方观点:无。
  3. 💡 用旧试卷训练模型有助于模型学习
    • 解释:有用户分享了自己在微调模型时用旧试卷训练模型有助于学习的经验。
  4. 💡 除笔记本中的示例外无更多代码示例
    • 解释:有用户明确指出除了已有的笔记本示例,没有更多代码示例。
  5. 💡 特定文档章节有一些用例方面的示例
    • 解释:有用户提到在文档的特定章节可以找到一些用例方面的示例。

金句与有趣评论

  1. “😂 You_Wen_AzzHu: Rewards functions are trickier than I expected. Where could I find more examples?”
    • 亮点:直接表达出对奖励函数难度的感受并提出寻求更多示例的需求,引出后续讨论。
  2. “🤔 Few_Painter_5588: I read a useful comment somewhere. Imagine your reward functions as a high school quiz, and you allocate the trainer marks, depending on how they answer.”
    • 亮点:提供了一种理解奖励函数的新颖类比方式。
  3. “👀 nite2k: hmm some of the links in your post aren’t working for me…anyone else?”
    • 亮点:发现帖子中的问题并询问其他人是否也有相同遭遇,开启了关于链接故障的讨论。

情感分析

总体情感倾向是积极的,大多数评论者对原帖持认可、感谢的态度。主要分歧点在于有人质疑这是否是一种推广行为,可能的原因是unsloth团队多次发布类似内容让部分人产生了这样的想法,但原作者解释这是首次发布教程且是开源免费的。

趋势与预测

  • 新兴话题:关于特定模型(如Deepseek R1)在处理流程中SFT和GRPO顺序的讨论可能会引发后续更多关于模型处理顺序的探讨。
  • 潜在影响:如果关于模型训练相关问题的解答能够不断完善和丰富,可能会吸引更多新手加入到模型训练的领域中来,促进该领域的发展。

详细内容:

标题:关于使用 Llama 3.1 等训练推理模型的热门讨论

这篇帖子在 Reddit 上引起了不少关注,它为大家带来了如何使用 Llama 3.1(8B)+ Unsloth + GRPO 训练自己的推理模型的教程。截至目前,已获得众多点赞和大量评论。

帖子中详细介绍了从安装 Unsloth 到学习 GRPO 与奖励函数、配置设置、选择数据集、设计奖励函数以及训练模型的全过程,并提供了相关的链接和示例。

讨论焦点主要集中在以下几个方面: 有人表示奖励函数比预期的更复杂,想寻求更多示例。有人以高中测验作类比,分享了自己通过训练 RL 模型处理南非法律文献的经历,认为使用旧的考试试卷训练模型很有帮助。 有人对 16GB VRAM 下 Llama 3.1-8b 的最大训练上下文长度、能否使用同一 GPU 和 LLM 评估答案等提出疑问。 有人反映部分链接无法正常工作,作者进行了修复。 有人在 Colab 中对嵌入模型进行微调时遇到问题,寻求相关教育资源。 有人询问能否将 RGPO 用于非数学问题。 有人质疑 Unsloth 团队频繁发布内容有推广之嫌,作者回应这是首次发布教程,且所有内容开源免费。 有人询问 8GB VRAM(RTX 3070)能在 Unsloth 上达到何种程度,以及模型大小和上下文的情况。

其中的共识在于大家对这个教程的兴趣和需求较高。特别有见地的观点如将奖励函数比作高中测验,丰富了大家对这一概念的理解。

总的来说,这次关于训练推理模型的讨论既展现了大家的热情和好奇,也反映出在实践过程中遇到的种种问题和思考。希望未来能有更多深入的交流和探索,让这一领域不断发展和完善。