基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
技术实践2026-10-27 16:45

用 Python 理解推理模型训练四环节

dev.to · AI#推理模型#强化学习#蒸馏
Editor brief · 编辑速览

文章围绕评估、推理时计算扩展、强化学习和蒸馏,解释推理模型的构建过程,并配有 Python 示例。涉及多数投票、可验证奖励强化学习,以及向小模型迁移推理能力的方法。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

推理模型的进步,不只是模型变大,也来自回答时多花计算,以及训练后期更明确的奖励信号。这篇文章沿着评估、推理时扩展、强化学习、蒸馏四个环节,解释模型如何学会拆解问题,再把能力迁移到更小的模型。

对程序员来说,最有用的不是照着几段 Python 就开始训练,而是分清:多试几次、修改模型权重、换用蒸馏模型,分别解决什么问题。原文提供了直观示例,也有几处把经验判断写成定论,需要拆开看。

先测会不会,再看多试几次值不值

原文以 Sebastian Raschka 在 2026 年 10 月发布的课程和书籍为线索,但展示的是教学代码,没有提供作者完整训练模型的实验记录。

它把推理模型描述为经过额外训练、会生成中间步骤并尝试纠错的 LLM。过去的思维链(chain-of-thought)主要靠提示词引导,现在则可以通过后训练强化这种行为。不过,推理模型依然逐 token 生成文本,中间步骤也不能直接等同于可信的内部思考记录。

第一步是评估。数学可以用 GSM8K、AIME,编程可以用带自动测试的 LiveCodeBench。关键是答案能不能被可靠检查。

原文介绍了两个指标:pass@1 看一次回答是否成功;pass@k 看 k 次尝试中是否至少有一次成功。后者允许更多机会,通常比 pass@1 更容易命中。原文称它「更严格」并不准确,两者差距也不能单独证明模型具备真实推理能力。

假如模型偶尔能做对,可以先尝试推理时扩展(inference-time scaling):增加回答时的计算量,包括延长生成、并行采样、搜索不同路径,而不修改权重。

下面是 self-consistency 的最小示例,它解决的是从多个候选答案中选一个:

from collections import Counter

def self_consistency(answers):
    votes = Counter(answers)
    winner, count = votes.most_common(1)[0]
    return winner

samples = ["42", "41", "42", "42", "40"]
print(self_consistency(samples))

结果是 42,五个样本中有三个投给它。要看的是 Counter(answers):这里统计的是已经整理好的答案,没有生成推理链,也没有处理答案格式差异。

这类方法由 Wang 等人在 2022 年的工作中系统讨论。best-of-n 则用验证器或奖励模型评分,允许少数候选胜出。原文还列出 Monte Carlo Tree Search 和按 token 预算延长或截断生成的 budget forcing,但具体能否用于闭源 API,要看接口暴露了什么控制能力。

多采样是在增加找到正确答案的机会,不是在更新模型能力。

它还会增加 token、延迟和费用。多个候选如果重复同一种错误,多数票只会让错误更稳定。

RL 真正依赖的,是一个难以钻空子的验证器

要改变模型行为,需要更新权重。可验证奖励强化学习(RLVR)的做法是:模型生成完整回答,验证器判对给 1,判错给 0,再用奖励调整生成这些回答的概率。

它省去了逐步标注推理过程的成本,但把压力集中到了验证器上。原文的数学检查函数用正则 r"-?\d+(?:\.\d+)?" 提取第一个数字,再比较字符串。它适合演示,却不能可靠提取最终答案,也处理不好等价表达。拿它直接做奖励,模型可能学会迎合格式。

这就是 reward hacking:模型优化的是评分规则,规则有漏洞,训练就可能朝漏洞走。

原文用 DeepSeek-R1 说明这条路线。2025 年的 R1-Zero 直接从基础模型进行强化学习,出现了推理行为,也出现语言混杂、可读性差等问题;最终 R1 加入了 RL 前的监督微调。这里必须区分 R1-Zero 和 R1,不能笼统说所有 DeepSeek-R1 都没有前置监督训练。

算法上,PPO 使用价值网络估计状态好坏;DeepSeekMath 引入的 GRPO 则在同一道题的多个回答之间计算相对优势,省去独立价值网络。

下面的代码展示这种组内比较:

import numpy as np

def grpo_advantages(rewards):
    rewards = np.array(rewards, dtype=float)
    return (rewards - rewards.mean()) / (rewards.std() + 1e-8)

group_rewards = [1.0, 0.0, 1.0, 1.0, 0.0]
print(np.round(grpo_advantages(group_rewards), 3))

输出为 [ 0.816 -1.225 0.816 0.816 -1.225]。要看的是标准化那一行:正确回答获得正优势,错误回答获得负优势;1e-8 用来避免除零。

这还不是完整 GRPO。原文也提到,训练通常包含相对参考策略的 KL 惩罚,限制模型为了奖励偏离过远。至于省掉价值网络就能让训练内存「减半」,原文没有给配置和测量,不能当作通用比例。

结果奖励(ORM)只检查最终答案;过程奖励(PRM)逐步评分,信号更细,但标注更贵。最终答案正确,不保证中间步骤正确。

蒸馏能降低部署门槛,但不是把大模型原样装进去

强化学习需要反复生成、验证和更新权重。蒸馏(distillation)换了一条路:让已经训练好的 teacher 提供学习目标,由较小的 student 模仿。

原文区分两种方式。

一种是监督微调(SFT):teacher 生成推理文本,筛选后交给 student 学习。原文将部分基于 Qwen、Llama 的 DeepSeek-R1 蒸馏模型归入这一路线。

另一种沿用 Hinton 等人在 2015 年讨论的方法,让 student 模仿 teacher 的 token 概率分布。示例使用 PyTorch 的 F.log_softmax、F.softmax 和 F.kl_div,设置 temperature=2.0,采用 reduction="batchmean",最后乘以 temperature ** 2;原文给出的损失约为 0.1195。

温度用于软化分布,让训练利用候选 token 的相对概率。但这些概率不是「答案接近正确」的直接证明,低概率 token 也未必代表有价值的推理路径。

两条路线的接入门槛不同:拿到 teacher 的文本输出,可以做文本蒸馏;要复现完整分布的 KL 蒸馏,还需要相应 logits 或概率访问能力,普通聊天 API 未必提供。

小模型可能更适合低成本部署,但手机或无独立 GPU 的服务器能否运行,还取决于参数量、量化、上下文长度和延迟要求。原文没有给硬件实测。

我的判断

我认可这篇文章把验证放在前面。对代码任务,自动测试既能衡量输出,也可能成为训练奖励,工程价值很直接。

但标题中的「四阶段」更适合作为技术地图,不是每个团队都必须依次执行的流水线。评估应贯穿全过程;推理时扩展可以独立使用;蒸馏也可以直接利用现成 teacher,不必先自行做 RL。

原文对一些结论说得过满。例如「student 永远不能超过 teacher」,不能当作蒸馏的普遍定理;「RL 是超越任何 teacher 的途径」也缺少适用条件和对照数据。文章没有展示任务成功率、训练成本或蒸馏损失的系统比较,这些更接近路线说明,而非效果证明。

产品案例也只能帮助理解。原文列出 GPT、Gemini、Qwen、Anthropic,并提到 OpenAI 的 o1、o3、Qwen3 的快慢模式和 Claude 的扩展推理,但同时承认部分产品没有公开完整训练方法,不能从界面上的推理开关反推训练配方。

对一般开发团队,先把验收和预算做好,比立即训练推理模型更容易获得可判断的收益。

能拿来做什么

  • 给 AI 修复前端或 Node bug 建立独立评估集,保留失败用例、回归测试和单次成功率;训练题与评估题分开,定期补充新题,降低记忆答案造成的假进步。
  • 对偶尔能解出的任务尝试多候选,并记录成功率、token 和耗时。代码优先交给测试验证,别只让几个回答互相投票;测试通过后仍需关注未覆盖的边界。
  • 先运行教学示例理解机制。Linux 或 macOS 可用 Python 3.10 及以上,依次执行 python3 -m venv venv、source venv/bin/activate、pip install torch numpy,再用 python nombre_archivo.py 运行;Windows 将激活命令换为 venv\Scripts\activate。这些小计算不需要 GPU,也不代表已经训练了模型。
  • 如果考虑从小型 Qwen3 起步做蒸馏,先确认 teacher 能提供文本还是概率分布,再抽查推理步骤。只按最终答案过滤,会把碰巧答对的错误过程一起教给 student。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
JetBrains终端改用libghostty内核
下一篇
让模型规划、编译器生成复杂 SQL

资讯速览

dev.to · AI · 2026-10-27 16:45

AI 评分 8.0 / 10

相关标签

#推理模型#强化学习#蒸馏

继续阅读

  • Genkit Dart 审批恢复后为何找不到工具
  • JetBrains终端改用libghostty内核
  • 让模型规划、编译器生成复杂 SQL
  • 八家 Agent 搜索接口价格与计费对照
  • 下载目录中的指令文件可劫持编程 Agent