从GPT-2到gpt-oss:架构演进深度解析
兼与 Qwen3 的横向对比
作者:塞巴斯蒂安・拉施卡(Sebastian Raschka)博士
发布时间:2025 年 8 月 9 日
OpenAI 于本周发布了两款全新开源权重大语言模型:gpt-oss-120b 与 gpt-oss-20b。这是自 2019 年 GPT-2 之后,OpenAI 首次推出开源权重模型。而且得益于一系列精巧的优化方案,两款模型均可在本地运行(后文会详细展开)。
这是 GPT-2 之后 OpenAI 首次开源大规模完整权重模型。早期的 GPT 系列模型验证了 Transformer 架构的规模化潜力;2022 年 ChatGPT 的发布则通过在写作、知识问答(以及后来的编程)场景中展现出的实用价值,让大模型真正走向大众。如今,这款备受期待的开源模型终于面世,其架构也有不少值得玩味的细节。
过去几天我通读了模型代码与技术报告,整理出了最核心的亮点。(就在本文发布几天后,OpenAI 又公布了 GPT-5,文末我会结合 gpt-oss 系列做简要讨论。)
本文核心内容概览如下,建议使用文章左侧的目录快速跳转感兴趣的章节:
-
与 GPT-2 的模型架构对比
-
助力 gpt-oss 单卡运行的 MXFP4 优化
-
宽度与深度的权衡(gpt-oss vs Qwen3)
-
注意力偏置与注意力汇点
-
基准测试表现及与 GPT-5 的对比
希望本文能为你提供有价值的信息。
1. 模型架构概览
在深入拆解架构细节之前,先通过下图整体了解 gpt-oss-20b 与 gpt-oss-120b 两款模型的结构。

图 1:两款 gpt-oss 模型架构对比
如果你之前看过近年的大模型架构图,或是读过我此前的《大模型架构大盘点》一文,第一眼会觉得这套架构没有特别颠覆性的创新。
《大语言模型架构大盘点》
作者:塞巴斯蒂安・拉施卡博士
2025 年 7 月 19 日
阅读全文
这并不意外 —— 头部大模型厂商往往基于同一套基础架构,再做针对性的小幅优化。这只是我个人的推测,但我认为原因主要有三点:
-
各大实验室之间人才流动频繁,技术思路趋同。
-
我们至今仍未找到比 Transformer 更优的基础架构。尽管状态空间模型、文本扩散模型等方向已有探索,但据我所知,在同等规模下还没有任何方案能达到 Transformer 的效果。(目前能找到的对比大多只聚焦基准测试分数,这类模型在真实多轮写作、编程场景中的表现仍不明确。截至本文写作时,LM Arena 榜单上排名最高的非纯 Transformer 模型是第 96 名的 Jamba—— 一种 Transformer + 状态空间的混合架构。更新:有读者提醒,还有排名更高的混合模型:混元 – TurboS,位列第 22 名。)
-
模型效果的提升大多来自数据与算法微调,而非重大架构改动。
即便如此,gpt-oss 的设计选择仍有很多有意思的地方。一部分在上图中有所体现,还有一部分没在图里,我们后文都会逐一讲到。接下来的内容我会逐个拆解这些特性,并和其他架构做横向对比。
需要说明的是,我与 OpenAI 无任何关联。本文信息均来自公开的模型代码与技术报告。如果你想了解如何在本地使用这些模型,建议从 OpenAI 的官方模型主页开始:
注:以上为境外网页,当前无法直接访问。
其中 20B 版本可在显存 16GB 级别的消费级 GPU 上运行;120B 版本可在单张 80GB 显存的 H100 或更新硬件上运行。后文会回到这个话题,这里面有几个重要的前提需要注意。
2. 从 GPT-2 一路走来的演进
在对比 gpt-oss 与更新的架构之前,我们不妨先 “穿越” 回过去,把它和 GPT-2 放在一起对比,看看这些年架构到底演进了多少。

图 2:gpt-oss-20b 与 GPT-2 XL 1.5B 架构对比
gpt-oss 与 GPT-2 都属于基于 Transformer 的纯解码大语言模型,底层架构源自 2017 年《Attention Is All You Need》论文。多年来,大量细节都发生了迭代。
不过这些改动并非 gpt-oss 独有,如今很多大模型都采用了类似设计。由于我在之前的《大模型架构大盘点》中已经讲过很多相关内容,本节每个小节会尽量精简,聚焦核心差异。
2.1 移除 Dropout
Dropout(2012 年提出)是经典的防过拟合技术,训练时会随机 “丢弃”(置零)一部分层激活值或注意力分数。但现代大模型已经极少使用 Dropout,GPT-2 之后的绝大多数模型都去掉了这一设计。

图 3:注意力分数矩阵上应用 Dropout 的示意图
我推测 GPT-2 当初使用 Dropout,是从原始 Transformer 架构中沿用下来的。研究者后来逐渐发现,Dropout 对大模型的效果提升微乎其微(我自己在小规模复刻 GPT-2 的实验中也观察到了同样的现象)。这很可能是因为大模型通常在超大规模数据集上仅训练一个 epoch,和 Dropout 诞生时动辄上百轮的训练模式完全不同。既然训练时每个 token 只出现一次,过拟合的风险本身就很低。
有意思的是,尽管 Dropout 在大模型架构设计中已被冷落多年,2025 年仍有一篇针对小规模大模型(Pythia 1.4B)的研究论文证实:在单 epoch 训练范式下,Dropout 反而会降低下游任务表现。
2.2 RoPE 取代绝对位置编码
在基于 Transformer 的大模型中,位置编码是注意力机制的必要补充 —— 默认情况下,注意力会把输入 token 当成无序集合处理。在原始 GPT 架构中,采用的是绝对位置编码:给序列中每个位置学习一个嵌入向量,再与 token 嵌入相加。

图 4:绝对位置编码示意图
而 \\RoPE(旋转位置编码,Rotary Position Embedding)\\ 采用了完全不同的思路:它不把位置信息作为独立嵌入相加,而是根据每个 token 的位置,对查询向量和键向量做旋转来编码位置信息。(RoPE 的设计非常精巧,但解释起来也有一定难度,我计划之后专门写文章详细拆解。)
RoPE 最早于 2021 年提出,2023 年初代 Llama 模型发布后被业界广泛采纳,如今已是现代大模型的标配技术。
2.3 Swish/SwiGLU 取代 GELU
早期 GPT 架构使用 GELU 激活函数。为什么现在换成了 Swish?Swish(也叫 SiLU,Sigmoid 线性单元)的计算成本略低,在我看来这就是最主要的原因。不同论文对两者建模效果的结论不一,我认为这种微小差异基本都在误差范围内,最终表现很大程度上取决于超参数调优。
十多年前深度学习圈基本统一使用 ReLU 之后,激活函数就不再是热议话题。此后研究者提出了很多曲线更平滑的 ReLU 变体,最终 GELU 与 Swish 成为了留存下来的主流方案。

图 5:Swish 与 GELU 激活函数对比,二者都是 ReLU 的平滑变体
早期 GPT 架构使用的 GELU 定义为 0.5x * [1 + erf(x / sqrt(2))],其中 erf(误差函数)是高斯函数的积分,需要通过多项式近似计算,因此计算成本高于 Swish 使用的 Sigmoid 函数 ——Swish 的形式非常简单:x * sigmoid(x)。
实际应用中 Swish 的计算开销略低,这大概是它在多数新模型中取代 GELU 的核心原因。至于建模效果,不同研究结论各有高低,但我认为差异基本都在标准误差范围内,最终胜负高度依赖超参数调优。
如今绝大多数架构都使用 Swish,但 GELU 也并未完全退出舞台 —— 比如谷歌的 Gemma 系列模型仍在使用 GELU。
更值得注意的变化是:前馈模块(小型多层感知机)被替换为带门控的 GLU 版本。GLU 即门控线性单元,2020 年被提出。具体来说,原来的 2 层全连接结构被替换为 3 层全连接的门控结构,如下图所示。

图 6:Swish、GELU 与各自的门控版本 SwiGLU、GEGLU 对比
乍一看,GEGLU/SwiGLU 似乎比普通前馈层效果更好,只是因为多了一层、参数更多。但事实并非如此:实际设计中,SwiGLU/GEGLU 里的权重层,维度通常只有传统前馈层的一半。
为了更直观地说明,我们可以看一下普通版与 GLU 版的具体代码实现:

图 7:普通前馈模块(上)与 SwiGLU 版本(下)对比。注意 PyTorch 中 Swish 函数对应silu算子
举个例子,假设嵌入维度是 1024:
-
普通前馈层:
fc1:1024 × 4096 = 4,194,304 参数
fc2:4096 × 1024 = 4,194,304 参数
总计:8,388,608 参数 -
GLU 版本:
fc1:1024 × 1024 = 1,048,576 参数
fc2:1024 × 1024 = 1,048,576 参数
fc3:1024 × 1024 = 1,048,576 参数
总计:3,145,728 参数
也就是说,GLU 版本的参数量更少,效果却更好。背后的原因是:GLU 引入了额外的乘法交互,提升了模型的表达能力 —— 这和 “深度且窄的神经网络优于浅且宽的神经网络” 是同一个道理,前提是训练充分。
2.4 混合专家(MoE)取代单前馈模块
除了把前馈模块升级为 SwiGLU 之外,gpt-oss 还把单个前馈模块替换为多个并行的前馈模块,每步 token 生成时只激活其中一部分。这种方案就是混合专家模型(Mixture-of-Experts, MoE),原理如下图所示。

图 8:前馈模块被替换为混合专家(MoE)模块
用多个前馈模块替代单个模块,会大幅增加模型的总参数量。但核心技巧在于:我们不会为每个 token 激活全部专家,而是通过路由网络为每个 token 只选择一小部分专家。
由于每次只有少数专家处于激活状态,MoE 模块通常被称为 “稀疏” 模块,对应地,全程使用全部参数的模块就是 “稠密” 模块。MoE 通过庞大的总参数量提升模型容量(也就是训练时能容纳更多知识),同时通过稀疏性保证推理效率 —— 因为不需要同时调用全部参数。
冷知识:在绝大多数 MoE 模型中,专家权重占模型总参数量的 90% 以上。
2.5 分组查询注意力取代多头注意力
正如我之前文章提到的,\\ 分组查询注意力(Grouped Query Attention, GQA)\\ 是近年兴起的方案,相比多头注意力(MHA)更节省算力与参数。
在 MHA 中,每个注意力头都有独立的键、值投影。而 GQA 通过将多个查询头分组,共享同一组键值投影,从而降低内存占用。
举个例子:如果有 2 组键值、4 个注意力头,那么头 1 和头 2 共享一组键值,头 3 和头 4 共享另一组。这种分组设计减少了键值的计算总量,降低了内存开销,提升了效率;而根据消融实验,建模效果几乎不会受到明显影响。

图 9:MHA 与 GQA 对比。图中分组大小为 2,即一组键值对被 2 个查询头共享
简言之,GQA 的核心思路是通过多查询头共享键值头,来减少键值头的数量。带来的好处有两点:一是减少模型参数量;二是降低推理时键值张量的内存带宽占用 —— 因为 KV 缓存中需要存储和读取的键值数据变少了。
(如果你想了解 GQA 的代码实现,可以看我写的 GPT-2 转 Llama 3 指南,里面有无 KV 缓存版本的实现,也有带 KV 缓存的版本。)
尽管 GQA 本质是 MHA 的效率优化方案,但多篇消融实验(包括 GQA 原论文与 Llama 2 论文)都证实,在大语言建模效果上,GQA 与标准 MHA 表现相当。
2.6 滑动窗口注意力
滑动窗口注意力最早由 LongFormer 论文(2020)提出,后来经 Mistral 推广普及。有意思的是,gpt-oss 采用了隔层使用的设计。你可以把它理解为多头注意力(这里是分组查询注意力)的变体:注意力的上下文范围被限制在一个更小的窗口内,以此降低内存占用与计算成本。

图 10:普通注意力(左)与滑动窗口注意力(右)对比
具体来说,gpt-oss 交替使用两种层:可关注全部上下文的全量 GQA 层,与窗口限制为 128 token 的滑动窗口 GQA 层。
正如我之前文章提到的,2024 年的 Gemma 2 就采用了类似的 1:1 交替比例;今年早些时候的 Gemma 3 则更进一步,采用了 5:1 的比例 —— 即每 5 层滑动窗口(局部)注意力,才搭配 1 层全量注意力。
根据 Gemma 的消融实验,滑动窗口注意力对建模效果的影响极小。注意 Gemma 2 的窗口大小是 4096 token,Gemma 3 缩小到了 1024,而 gpt-oss 的窗口仅为 128 token,小得令人意外。
还有个冷知识:官方公告提到,滑动窗口注意力其实在 GPT-3 中就已经使用了:
模型采用稠密与局部带状稀疏注意力交替的模式,与 GPT-3 一致。
我回去翻了 GPT-3 的原始论文,确实有相关描述:
我们沿用了 GPT-2 的模型架构,包括改进的初始化、预归一化和可逆分词;唯一的区别是,Transformer 层中采用了稠密与局部带状稀疏注意力交替的模式,与稀疏 Transformer 的设计类似。
2.7 RMSNorm 取代 LayerNorm
最后一个从 GPT-2 延续而来的小改动,是用RMSNorm(均方根层归一化,2019 年提出)替换LayerNorm(层归一化,2016 年提出),这也是近年的通用趋势。
和 GELU 换 Swish、升级 SwiGLU 类似,RMSNorm 属于小幅但务实的效率优化。RMSNorm 与 LayerNorm 的作用都是对层激活值做归一化,如下图所示。
你可能还记得,更早之前 BatchNorm 才是归一化的主流选择。它如今逐渐被淘汰,主要是因为难以高效并行(需要计算批次的均值和方差),且小批次下表现不佳。

图 11:小型线性层的 LayerNorm(左)与 RMSNorm(右)对比
从图中可以看出,两者都能把层输出缩放至合理的数值范围。
-
LayerNorm 会减去均值、除以标准差,让层输出的均值为 0、方差为 1。
-
RMSNorm 则是将输入除以均方根,只把激活值缩放至相近的量级,不强制均值为 0、方差为 1。
两者都能稳定激活值的尺度、提升优化效果,但大模型更偏爱 RMSNorm,因为它计算成本更低。和 LayerNorm 不同,RMSNorm 没有偏置(平移)项,且把昂贵的均值、方差两次计算简化为一次均方根运算。这将跨特征的归约操作从两次减少为一次,降低了 GPU 上的通信开销,提升了训练效率。
下图展示了两者的代码实现差异:

图 12:LayerNorm 与 RMSNorm 的代码实现对比,可见 RMSNorm 的计算逻辑更简洁
2.8 GPT-2 的传承意义
我始终认为,GPT-2 是入门大模型学习的绝佳架构。它足够简单,不会被层层优化技巧淹没核心逻辑;又足够完整,能帮你扎实掌握现代 Transformer 模型的工作原理。
从 GPT-2 入手,你可以专注于基础核心 —— 注意力机制、位置编码、归一化、整体训练流程,不会被新架构里的各种附加特性和微调搞得晕头转向。
事实上,我非常建议先学习甚至亲手实现 GPT-2,再逐步叠加新的改动。这样你不仅更容易理解这些改动本身,也更能体会它们的价值 —— 因为你会清楚它们解决的是什么局限与问题。
比如,我就是基于自己的 GPT-2 代码,从零实现了 Qwen3 架构 —— 它和 gpt-oss 的相似度非常高。这也自然引出了下一个话题:把 gpt-oss 和更新的架构做对比。
《Ahead of AI》是读者支持型创作。如果想接收新文章、支持我的创作,欢迎免费或付费订阅。
3. gpt-oss 与主流新架构(Qwen3)的对比
梳理完从 GPT-2 到 gpt-oss 的演进之后,我们可以更进一步,把 gpt-oss 和三个月前(2025 年 5 月)发布的更新架构 Qwen3 做横向对比。
我选择 Qwen3 作为对比对象,原因有二:一是截至本文写作时,它是表现最好的开源权重模型之一;二是其中一款 MoE 模型在总可训练参数量上和 gpt-oss 相近,具备直接对比的基础。
下图对比了 gpt-oss-20b 与同等规模的 Qwen3 模型。

图 13:同等规模的 gpt-oss 与 Qwen3 模型并置对比
可见 gpt-oss 20B 与 Qwen3 30B-A3B 的架构组件高度相似。除了维度差异之外,最核心的不同是 gpt-oss 采用了前文提到的滑动窗口注意力(图中未标出),而 Qwen3 没有这一设计。
接下来我们逐个拆解值得关注的细节差异。
3.1 宽度与深度的权衡
仔细对比两款模型会发现,Qwen3 的架构要深得多:它有 48 个 Transformer 块,而 gpt-oss 只有 24 个。

图 14:Qwen3 的 Transformer 块数量是 gpt-oss-20b 的两倍
反过来,gpt-oss 的架构则宽得多:
-
嵌入维度为 2880,Qwen3 为 2048
-
专家层(前馈网络)的中间投影维度同样为 2880,Qwen3 为 768
另外值得注意的是,gpt-oss 的注意力头数量也是 Qwen3 的两倍,但这并不会直接增加模型宽度 —— 模型宽度由嵌入维度决定。
在参数量固定的前提下,两种设计各有优劣吗?一般经验而言,更深的模型灵活性更强,但由于梯度爆炸、梯度消失问题(RMSNorm 与残差连接正是为缓解这类问题设计),训练难度也更大。
更宽的架构优势在于推理速度更快(每秒生成 token 数更高),并行性更好,但显存开销也更大。
至于建模效果,据我所知目前没有严格控制变量的对照研究(固定参数量与数据集),仅 Gemma 2 论文中的一项消融实验显示:在 90 亿参数架构下,更宽的配置略优于更深的配置。在 4 项基准测试中,宽模型平均得分为 52.0,深模型平均得分为 50.8。
3.2 少而大的专家 vs 多而小的专家
另一个值得注意的点是:gpt-oss 的专家数量少得出人意料 —— 总共 32 个(而非 128 个),且每个 token 仅激活 4 个专家(而非 8 个)。但相应地,它的单个专家规模远大于 Qwen3 的专家。
这一设计很有意思,因为近年的行业趋势与研究结论都指向 “更多、更小的专家” 效果更优。在总参数量不变的前提下,DeepSeekMoE 论文中的下图很好地展示了这一规律。

图 15:《DeepSeekMoE:迈向混合专家语言模型的极致专家专业化》论文图标注版,来源:https://arxiv.org/abs/2401.06066
值得一提的是,与 DeepSeek 系列模型不同,gpt-oss 与 Qwen3 均未使用共享专家。
平心而论,gpt-oss 的专家数量少,可能是 20B 这个小尺寸带来的副作用。看 120B 版本就能发现:其他参数不变,只增加了 Transformer 块数量与专家数量,如下图所示。

图 16:两款 gpt-oss 架构对比:更大的 120B 版本仅缩放了 Transformer 块数量与专家数量
20B 与 120B 模型如此相似,最朴素的解释是:120B 才是主力研发版本,而做小版本最简单的方法,就是减少 Transformer 块和专家数量 —— 毕竟参数主要集中在这两部分。也有人推测,他们可能先训练了 120B 模型,再砍掉部分层和专家继续预训练得到小版本,而非从零随机初始化训练。
无论如何,只缩放层数和专家数的做法其实并不常见。比如 Qwen3 系列的不同尺寸 MoE 模型,是在更多维度上按比例缩放的。

图 17:不同规格 Qwen3 模型的架构差异
3.3 注意力偏置与注意力汇点
gpt-oss 与 Qwen3 都采用分组查询注意力。主要区别在于,如前文所述,gpt-oss 通过隔层的滑动窗口注意力限制上下文长度。
但有一个细节引起了我的注意:gpt-oss 的注意力权重使用了偏置单元,如下图所示。

图 18:gpt-oss 模型在注意力层中使用偏置单元,代码示例见此
自 GPT-2 之后我就很少见到这种设计,偏置单元通常被认为是冗余的。事实上,有一篇近期论文从数学上证明,至少对于键投影(k_proj)来说确实如此;而且实验结果也显示,是否使用偏置单元的效果差异很小。
注:对应论文原链接 https://arxiv.org/pdf/2302.08626 加载失败,此处基于原文表述保留结论。

图 19:来源 https://arxiv.org/pdf/2302.08626 的表格,展示从零开始训练时,使用与不使用偏置单元的平均测试损失
你可能还注意到了代码截图里对 “汇点(sinks)” 的定义。一般来说,注意力汇点是放置在序列开头的特殊 “始终被关注” token,用于稳定注意力计算,在长上下文场景中尤其有用。也就是说,当上下文变得极长时,开头的这个特殊 token 仍会被持续关注,它可以学习存储整个序列的通用有效信息。(据我所知,这一概念最早在《基于注意力汇点的高效流式语言模型》一文中提出。)
而在 gpt-oss 的实现中,注意力汇点并不是输入序列里的真实 token,而是附加在注意力分数上的、逐头学习的偏置对数几率。其目标与传统注意力汇点一致,但无需修改分词后的输入序列。

图 20:gpt-oss 中注意力汇点的使用方式;基于 Hugging Face 代码整理
3.4 开源协议
最后一点和 Qwen3 类似:gpt-oss 系列采用 Apache 2.0 开源协议,这一点非常友好(我自己的开源项目也偏好这个协议)。这意味着模型可以被用于蒸馏其他模型,也可无限制用于商业产品。
补充说明:开源权重 vs 完全开源大模型。这个区分已经讨论了很多年,但为了避免对本次发布产生误解,还是有必要澄清:有些厂商只开放模型权重与推理代码(比如 Llama、Gemma、gpt-oss),而另一些(比如 OLMo)会开放全部内容,包括训练代码、数据集与权重,属于严格意义上的完全开源。
按这个严格定义,gpt-oss 和 Qwen3 一样,属于开源权重模型—— 它开放了权重与推理代码,但不含训练代码与数据集。不过整个行业对术语的使用并不统一。
我猜 “gpt-oss” 里的 “oss” 代表开源软件(open source software);但让我意外的是,OpenAI 自己在官方公告里明确将其描述为开源权重模型。
4. 其他值得关注的细节
前面几节梳理了从 GPT-2 到 gpt-oss 的架构演进,也对比了它与 Qwen3(以及多数近年新模型)的异同。除此之外,还有几个零散但重要的细节还没提到,它们不太适合归入前面的章节,但同样值得了解。
4.1 训练概况
遗憾的是,目前关于训练数据规模与训练算法的公开信息不多。我从模型卡片报告与官方公告中整理了最核心的信息:
-
gpt-oss 系列模型采用了我们最先进的预训练与训练后技术……
-
…… 训练总计消耗 210 万 H100 算力小时;gpt-oss-20b 的训练算力约为其 1/10。
-
…… 包含监督微调阶段与高算力强化学习阶段……
-
模型在以英文为主的纯文本数据集上训练,重点覆盖 STEM、编程与通用知识领域。
由此可知,gpt-oss 是推理型模型。210 万 H100 小时的训练算力,和规模约 5.6 倍的 DeepSeek V3 的 278.8 万 H800 小时训练算力大致处于同一量级。目前暂未查到 Qwen3 的训练时长数据。
有意思的是,gpt-oss 的训练时长包含了指令跟随的监督学习与强化学习推理两部分;而 DeepSeek V3 只是预训练基座模型,DeepSeek R1 是在其之上单独训练的。
4.2 推理能力设计
如上一节所说,gpt-oss 是推理型模型。但尤其特别的是,它的训练方式让用户可以通过推理时扩展,轻松控制推理的强度。
具体来说,gpt-oss 可以在系统提示词中加入 “推理强度:低 / 中 / 高” 的指令,直接影响回复的长度与准确率,如下图所示。

图 21:不同推理强度下 gpt-oss 的回复长度与效果(图标注版,来自官方模型卡片)
这种可调节的设计非常实用,让我们可以平衡成本、算力与准确率。比如面对简单任务 —— 比如回答直白的知识问题、修改小错别字 —— 就不需要深度推理,既能节省时间与资源,也能避免回复过长、推理过程冗余。
有些遗憾的是,和 Qwen3、OLMo 不同,OpenAI 没有放出强化学习推理训练之前的基座模型。基座模型对研究推理方法的学者来说是极具价值的起点(这也是我目前偏爱 Qwen3 基座版的原因之一)。我猜测 OpenAI 的这个决定更多是面向工业与生产场景,而非学术研究。
注意:初代 Qwen3 模型也有开关来启用 / 关闭思考(推理)模式(通过分词器中的enable_thinking=True/False设置,本质是添加 \\ 标签来控制是否输出推理过程)。但 Qwen3 团队近几周更新了模型,放弃了混合模式,转而推出专门的指令版、思考版、代码版模型。
原因是混合模式的表现不如单独训练的模型:
经与社区交流并复盘后,我们决定放弃混合思考模式。后续将分别单独训练指令版与思考版模型,以追求最优效果。
4.3 MXFP4 量化优化:关键的小细节
一个令人惊喜的细节是:OpenAI 为 gpt-oss 的 MoE 专家层提供了 MXFP4 量化方案。
量化格式过去是个小众方向,主要用于移动端或嵌入式 AI。但随着模型规模越来越大,量化的重要性也日益凸显。MXFP4 优化让模型得以在单 GPU 设备上运行。
实际运行的显存占用情况如下:
-
大模型(120B 版本)可在单张 80GB 显存的 H100 或更新 GPU 上运行。虽然不是消费级硬件,但租单卡 H100 的成本远低于多卡机器,也不用操心模型分布式部署与通信开销。另外,AMD MI300X 显卡从发布首日就获得了支持!
-
更小的 20B 版本甚至能塞进 16GB 显存;前提是需要 RTX 50 系及以上显卡,才支持 MXFP4 格式。(更新:近期已有补丁增加了对 RTX 4090 等老显卡的支持。)
注意,模型也能在不支持 MXFP4 的老硬件上运行,只是显存占用会更高。如果不用 MXFP4 优化、采用 bfloat16 精度,20B 版本约占 48GB 显存,120B 版本约占 240GB 显存。
顺便一提,我在自己的 Mac Mini 上通过 ollama 可以流畅运行 gpt-oss-20b,内存占用约 13.5GB,表现非常不错。
4.4 基准测试表现
两款模型发布时间还短,目前独立第三方基准测试数据不多。我查了 LM Arena 榜单,gpt-oss 尚未上榜,因此目前 Qwen3-Instruct 仍是 LM Arena 用户票选的最佳开源权重模型。

图 22:LM Arena 榜单当前状态(截至 2025 年 8 月 8 日)
从 gpt-oss 官方公告放出的推理基准测试来看,gpt-oss 系列的表现与 OpenAI 闭源模型、Qwen3 处于同一水平。

图 23:主基准测试图表来自 gpt-oss 官方公告;“无工具” 的 gpt-oss-120b 数据来自官方模型卡片论文;Qwen3 数据来自官方代码仓库
但需要注意:gpt-oss-120b 的规模几乎只有 Qwen3 A235B-A22B-Thinking-2507 的一半,且能在单卡上运行。
不过,基准测试分数并不总能反映真实使用体验。我过去几天的有限试用下来,感觉 gpt-oss 的能力相当不错。但也正如其他人观察到的,它的幻觉倾向相对较高(模型卡片中也提到了这一点)。
这可能是因为训练高度侧重数学、逻辑题、编程等推理任务,导致了一定程度的 “通用知识遗忘”。不过 gpt-oss 的设计本身就考虑了工具调用,随着工具生态成熟,这个缺陷的影响会越来越小。开源大模型的工具集成还在早期阶段,但随着技术成熟,我相信我们会越来越多地让模型在回答事实类问题时调用外部资源(比如搜索引擎)。
如果这个趋势成立,那么优先保证推理能力、弱化记忆能力就是合理的选择。这和人类的学习逻辑很像 —— 不管是上学还是生活中,解决问题的能力往往比死记硬背知识点更重要。
5. gpt-oss 与 GPT-5
OpenAI 这一周动作频频,在 gpt-oss 发布后不久,就推出了备受期待的 GPT-5。GPT-5 的发布很有看点。而我最直观的感受是:从基准测试表现来看,他们的开源模型和自家顶级闭源产品的差距之小,着实令人意外。

图 24:主基准测试图表来自 GPT-5 官方公告;gpt-oss 数据来自官方模型卡片与公告;Qwen3 数据来自 Qwen3-Coder 官方仓库
总而言之,尽管有人觉得这次发布言过其实,但我很高兴能看到一批实力强劲的开源权重模型,和顶级闭源模型的差距并不大。当然,基准测试往往不能准确反映真实使用体验,目前试用样本还少,下结论为时尚早。但对于喜欢用开源权重、本地部署(或私有部署)模型的人来说,现在无疑是个好时代。