【转载】大语言模型架构全面对比09:GPT-OSS

原文地址 第9章 GPT-OSS

9. GPT-OSS

在我写完本文约一周后,OpenAI 发布了 gpt-oss-120b 与 gpt-oss-20b—— 这是该公司自 2019 年 GPT-2 以来首次推出开源权重模型。由于 OpenAI 的开源模型备受业界期待,我更新了本文将其纳入。本节只做简要介绍,我另外撰写了一篇更详尽的专题文章,专门分析 gpt-oss 系列模型,可在此查看:

《从 GPT-2 到 gpt-oss:架构演进深度解析》
作者:塞巴斯蒂安・拉施卡(Sebastian Raschka)博士
2025 年 8 月 9 日
阅读全文

在介绍核心亮点之前,先概览 gpt-oss-20b 与 gpt-oss-120b 两款模型,如下图 26 所示。

figure26

图 26:两款 gpt-oss 模型架构概览

从图 26 可见,其架构包含了前文介绍过的所有常见组件。例如图 27 将小型 gpt-oss 架构与 Qwen3 30B-A3B 并置对比 —— 后者同样是 MoE 模型,激活参数量相近(gpt-oss 激活参数为 36 亿,Qwen3 30B-A3B 为 33 亿)。

figure27

图 27:gpt-oss 与 Qwen3 架构对比

图 27 未体现的一点是:gpt-oss 采用了滑动窗口注意力(与 Gemma 3 类似,但采用隔层交替的方式,而非 5:1 的比例)。

9.1 宽度与深度

图 27 显示 gpt-oss 与 Qwen3 采用了相似的组件,但仔细对比会发现:Qwen3 的架构要深得多,拥有 48 个 Transformer 块,而 gpt-oss 只有 24 个。

另一方面,gpt-oss 的架构则宽得多:

  • 嵌入维度为 2880,而非 2048

  • 专家层(前馈网络)的中间投影维度同样为 2880,而非 768

另外值得注意的是,gpt-oss 的注意力头数量是 Qwen3 的两倍,但这并不会直接增加模型宽度 —— 模型宽度由嵌入维度决定。

在参数量固定的前提下,两种设计各有优劣吗?一般经验而言,更深的模型灵活性更强,但由于梯度爆炸与梯度消失问题(RMSNorm 与残差连接正是为缓解这类问题而设计),训练难度也更大。

更宽的架构优势在于推理速度更快(每秒生成 token 数更高),并行性更好,但显存开销也更大。

至于建模效果,据我所知目前还没有严格控制变量的对照研究(即固定参数量与数据集),仅 Gemma 2 论文中的一项消融实验(表 9)显示:在 90 亿参数架构下,更宽的配置略优于更深的配置。在 4 项基准测试中,宽模型平均得分为 52.0,深模型平均得分为 50.8。

9.2 少而大的专家 vs 多而小的专家

如图 27 所示,另一个值得注意的点是:gpt-oss 的专家数量少得出人意料(共 32 个,而非 128 个),且每个 token 仅激活 4 个专家(而非 8 个)。但与此同时,它的单个专家规模远大于 Qwen3 的专家。

这一设计很有意思,因为近年的趋势与研究结论都指向「更多、更小的专家」效果更优。在总参数量不变的前提下,DeepSeekMoE 论文中的图 28 很好地展示了这一变化规律。

figure28

图 28:《DeepSeekMoE:迈向混合专家语言模型的极致专家专业化》论文图标注版,来源:https://arxiv.org/abs/2401.06066

值得一提的是,与 DeepSeek 系列模型不同,gpt-oss 与 Qwen3 均未使用共享专家。

9.3 注意力偏置与注意力汇点

gpt-oss 与 Qwen3 均采用分组查询注意力。主要区别在于:如前文所述,gpt-oss 通过隔层的滑动窗口注意力来限制上下文长度。

但有一个细节引起了我的注意:gpt-oss 的注意力权重使用了偏置单元,如图 29 所示。

figure29

图 29:gpt-oss 模型在注意力层中使用偏置单元,代码示例见此

自 GPT-2 之后,我就很少见到这种偏置单元的设计,它通常被认为是冗余的。事实上,有一篇近期论文从数学上证明,至少对于键投影(k_proj)来说确实如此;此外实验结果也显示,是否使用偏置单元的效果差异很小(见图 30)。

注:对应论文原链接 https://arxiv.org/pdf/2302.08626 加载失败,此处基于原文表述保留结论。

figure30

图 30:来源 https://arxiv.org/pdf/2302.08626 的表格,展示了从零开始训练时,使用与不使用偏置单元的平均测试损失

你可能还注意到了图 30 的代码截图中对「汇点(sinks)」的定义。一般来说,注意力汇点是放置在序列开头的特殊「始终被关注」token,用于稳定注意力计算,在长上下文场景中尤其有用。也就是说,当上下文变得极长时,开头的这个特殊 token 仍会被持续关注,它可以学习存储整个序列的通用有效信息。(据我所知,这一概念最早在《基于注意力汇点的高效流式语言模型》一文中提出。)

而在 gpt-oss 的实现中,注意力汇点并不是输入序列里的真实 token,而是附加在注意力分数上的、逐头学习的偏置对数几率(图 31)。其目标与上述注意力汇点一致,但无需修改分词后的输入序列。

figure31

图 31:gpt-oss 中注意力汇点的使用方式;基于 Hugging Face 代码整理

关于 gpt-oss 的更多信息,以及它与 GPT-2 的详细对比,可参考我的另一篇专题文章:

《从 GPT-2 到 gpt-oss:架构演进深度解析》
作者:塞巴斯蒂安・拉施卡博士
2025 年 8 月 9 日
阅读全文

Leave a Reply

Your email address will not be published. Required fields are marked *

*