你正在参加谷歌的研究科学家面试。 面试官:我们有一个基础的 LLM,但在数学方面表现糟糕。你会如何将其转变为一个数学和推理的强大工具? 你:我会标记一些问题并对模型进行微调。 面试结束。 你错过了以下内容:
当输出是可验证的时,标签变得可选。 数学、代码和逻辑可以被自动检查和验证。 让我们利用这一事实构建一个无需手动标记的推理模型。 我们将使用: - @UnslothAI 进行参数高效的微调。 - @HuggingFace TRL 应用 GRPO。 出发吧!🚀
什么是 GRPO? 组相对策略优化是一种强化学习方法,利用确定性奖励函数微调 LLM 以处理数学和推理任务,消除了对标记数据的需求。 在我们进入代码之前,先简要概述一下 GRPO:
1️⃣ 加载模型 我们首先使用 Unsloth 加载 Qwen3-4B-Base 及其分词器。 您可以在这里使用任何其他开放权重的 LLM。 查看这个 👇
2️⃣ 定义 LoRA 配置 我们将使用 LoRA 来避免微调整个模型权重。在这段代码中,我们通过指定以下内容来使用 Unsloth 的 PEFT: - 模型 - LoRA 低秩 (r) - 微调的模块等。 查看这个 👇
3️⃣ 创建数据集 我们加载 Open R1 Math 数据集(一个数学问题数据集)并将其格式化以进行推理。 每个样本包括: - 一个强制结构化推理的系统提示 - 数据集中的一个问题 - 以所需格式给出的答案 查看这段代码 👇
4️⃣ 定义奖励函数 在 GRPO 中,我们使用确定性函数来验证响应并分配奖励。 无需手动标记! 奖励函数: - 完全匹配格式 - 大致匹配格式 - 检查答案 - 检查数字 查看这个 👇
5️⃣ 使用 GRPO 开始训练 现在我们已经准备好了数据集和奖励函数,是时候应用 GRPO 了。 HuggingFace TRL 提供了我们在 GRPO 图中描述的所有内容,开箱即用,以 GRPOConfig 和 GRPOTrainer 的形式。 查看这个👇
6️⃣ 比较 再次,我们可以看到 GRPO 如何将基础模型转变为推理强者。 看看这个👇
在我们结束之前,让我来回答一个重要的问题: 何时应该使用强化微调(RFT)而不是监督微调(SFT)? 我创建了这个图表来提供答案:
157.38K