深入聊聊Qwen3的混合推理:全球唯三,开源唯一

上一篇文章:深入聊聊Qwen3:我们外行除了高呼沸腾了,还应该知道什么?,深入分析了 Qwen3 的跑分评测是否有水分,如下图:

结论是 Qwen3 在跑分上,确实是做到了各个指标都基本达到了开源第一,直逼闭源模型的程度。

说是当前 (2025.5.12) 第一开源模型也不为过。

除此之外,Qwen3 是目前唯一开源的混合推理模型,也是全球目前唯三的支持混合推理的模型。

这篇文章,就着重深入聊聊 Qwen3 的混合推理。

从 reasoning model 到 hybrid reasoning model

这里 reasoning,其实是一个比较有趣又容易带来狭义的单词。

它本身是推理的意思。

但是大模型每一次的回答,其实也可以算是一次推理,比如很多文章中描述的,这个模型更小,推理速度更快。

也正是因为这个原因,在中文里,对于 reasoning,更多会翻译为思考来避免歧义。

比如 deepseek-r1 的深度思考 ,Qwen3 的发布 blog 中,也用的是思考模式(thinking model)。

不过为了全球统一,后文还是称 deepseek-r1 这样只支持深度思考的模型称为推理模型

而 Qwen3, claude 3.7 这样的模型,称为混合推理模型

而不支持深度思考的模型,称为普通模型(比如 deepseek-v3)。

对于推理模型,相信国内的用户大多是从 deepseek-r1 的深度思考接触到的。

当时这个深度思考,可谓是火遍大江南北。

不过追根溯源,第一个推理模型是 openai 于 2024 年 9.12 发布的 [o1-preview][openai.com/index/intro...] 版。

深度思考的引入,解决了很多复杂的,需要反复推演的问题,比如 AIME (一堆比较复杂的数学题),现在排名靠前的全是推理模型。

ps: 这里其实有几个比较有趣的数据,排名11 和 排名16的 deepseek-v3-0324 和 deepseek-v3,可以看出来经过调教的普通模型,在数学能力上也能大幅提升。而排名 13 的 claude-3.7-sonnet(thinking) 的数据,也说明了,未经调教的推理模型,也不见得在数学能力上能够大幅提升,但是比不思考效果确实要好。

当然,在实际的各类大模型的聊天 app 中,基本都是支持开启思考和非思考的。

只不过相比于 Qwen3 这样的混合模型,背后是两个模型的切换。

比如 deepseek-r1 和 deepseek-v3,开启深度思考,就是 r1,关闭深度思考,就是 v3。

目前唯三的混合推理模型时间线如下:

2025.2.25 日,claude 3.7 sonnet 发布,是第一个支持混合推理的模型

2025.4.17 日,gemini 2.5 flash 发布,是第二个支持混合推理的模型。

2025.4.29 日,Qwen3 系列发布,是第三个支持混合推理的模型,第一个支持混合推理的开源模型

训练过程

原本闭源模型的情况下,很难看出来(但是可以猜),混合推理模型是如何训练出来的。

但是 Qwen3 开源后,直接把训练过程放出来了:

主要是后训练阶段做的工作,先是进行推理的学习,也就是图中的 stage1 和 stage2,长思维链,就是推理模式的训练核心。

然后再在此基础之上进行非推理模式的学习和融合,也就是 stage3。

最终进行通用的强化学习,Qwen3 对于指令遵循,函数调用,风格遵循的能力也就是这个阶段进行的提升。

当然,这么说可能不太好理解,这里说一说更通俗的理解方式,所谓后训练,其实本质上也是灌一堆写好的对话给大模型。

比如,stage1 和 stage2 的训练数据可能长这个样子:

python 复制代码
messages = [
    {
        "role": "system",
        "content": "你是一名乐于助人的助手。"
    },
    {
        "role": "user",
        "content": "1+1 等于几"
    },
    {
        "role": "assistant",
        "content": "<think>用户问我 1+1 等于几,这是一个xxxx</think>正常情况下等于2"
    }
]

相比于普通模型的后训练,多了 think 这样的标签(实际可能有所差别,毕竟训练数据并不会放出来,此处只是示例)。

而需要融合非推理模式时,也就是 stage3 时,可以灌入这样的对话:

python 复制代码
messages = [
    {
        "role": "system",
        "content": "你是一名乐于助人的助手。"
    },
    {
        "role": "user",
        "content": "1+1 等于几"
    },
    {
        "role": "assistant",
        "content": "<think></think>正常情况下等于2"
    }
]

也就是直接给一个空的 think 标签。

这样,模型就也能学习到不需要思考时的回答。

如此一来,当外界不需要推理模式时,只需要在 token 化的时候,主动补充上一个空的 think 标签。

由于训练样本中,对于空的 think 已经进行了调教,所以此时大模型就只会补充后面的内容而不做思考。

从而达到混合推理的效果。

宽泛一点来讲,其实也能算是提示词工程,只是由于在模型训练阶段已经进行了调教,所以输出更稳定,更规范。

当然,这些都是个人的推测,并非官方的说明,仅供参考。也可以查阅这篇文章

而且,说起来简单,实际上训练过程,不论是数据的准备,后期的推理,都是不小的工程。

不然也不会到现在,也只有三个支持混合推理的模型了。

混合推理模型一定是优势吗?

说实话,从普通模型到推理模型,是称得上创新性的突破的。

但是从推理模型,到混合推理模型,我个人认为:很难称之为创新性的突破 (但是不蒸馒头争口气,Qwen3 第一个开源支持混合推理的模型,这口气妥妥争到了)。

首先,可以看看大概的一个训练过程:

预训练数据集 + 思考数据集 = 推理模型

预训练数据集 + 非思考数据集 = 普通模型

预训练数据集 + 思考数据集 + 空思考数据集 = 混合推理模型

其实本质上只是补充了一个思考数据集为空的训练。

这在一定程度上,会增加模型训练的时长。

不过可能有读者和我一开始会有一样的困惑:

会不会给模型带来负面效果?

在研究之前,我是觉得可能会,毕竟对于模型来讲,多学习了一种思维模式。必然可能会带来理解成本。

但是实际上,从上面的训练过程能够看出来,只是多了一个空的 think 标签。

这点理解成本或者说模式的学习,对于大模型来讲可谓是洒洒水了。

毕竟不论是风格控制,指令遵循,工具调用,哪一个不比学习一个空标签来的复杂。

混合推理模型的优势

首先是,争气了。别人有的,国产也有了,别人闭源,国产直接开源,还量大管饱。

其次,混合推理模型,可能后续,可以把是否思考,交给大模型来做判断。

除此之外,比如控制预算呀,这些谈不上优势,毕竟如果真想控制预算,完全可以自行切换推理模型和普通模型。

最后

一句话:Qwen3,担得起开源第一,混合推理,唯一开源的模型,不得不点赞。

最后是一些碎碎念了:

其实笔者本身也并非从业人员,只是单纯对大模型的实现细节比较好奇。

好在有大模型,我在遇到问题的时候,基础的通识,大模型可以迅速帮我补充。

而复杂一点的最新的一些技术(比如混合推理模型),可以通过溯源的方式找到最初的文章,自行研究。

配合之下,也能让笔者这样一个外行,一窥门道。

不过越研究大模型,越觉得它可能还是存在一些瓶颈。

不论是函数调用,指令遵循,推理模式,本质其实都是在训练集中加入指定格式的数据。

不过话说回来,这倒是也接近我们人类的学习方式:

想想我们学习一门编程语言的时候,其实也是,不断的输入指定格式。

然后才慢慢理解了这个编程语言。

最后,Qwen3 还针对性的对函数调用、mcp,agent 的能力做了加强,可以点个关注,等后续更新。

相关推荐
袁煦丞6 分钟前
低成本私有云存储方案Nas-Cab:cpolar实验室第508次成功挑战
前端·程序员·远程工作
小公主7 分钟前
「前端必备」Flex 布局全解析:从入门到深度计算,搞懂弹性盒子!
前端·css
江城开朗的豌豆23 分钟前
前端性能救星!用 requestAnimationFrame 丝滑渲染海量数据
前端·javascript·面试
江城开朗的豌豆24 分钟前
src和href:这对'双胞胎'属性,你用对了吗?
前端·javascript·面试
江城开朗的豌豆31 分钟前
forEach遇上await:你的异步代码真的在按顺序执行吗?
前端·javascript·面试
万少39 分钟前
HarmonyOS Next 弹窗系列教程(3)
前端·harmonyos·客户端
七灵微2 小时前
【后端】单点登录
服务器·前端
持久的棒棒君6 小时前
npm安装electron下载太慢,导致报错
前端·electron·npm
why1517 小时前
微服务商城-商品微服务
数据库·后端·golang
crary,记忆8 小时前
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
前端·webpack·angular·angular.js