硬核拆解!从GPT-2到gpt-oss,揭秘大模型进化关键密码

2025-08-17 发布 · 浏览19次 · 点赞0次 · 收藏0次

【导读】自GPT-2以来,大模型的整体架构虽然未有大的变化,但从未停止演化的脚步。借OpenAI开源gpt-oss(120B/20B),Sebastian Raschka博士将我们带回硬核拆机现场,回溯了从GPT-2到gpt-oss的大模型演进之路,并将gpt-oss与Qwen3进行了详细对比。

8月5日,在GPT-5发布前两天,OpenAI推出了它的两款开源权重大语言模型:gpt-oss-120b、gpt-oss-20b。

这是自2019年GPT-2,近六年来OpenAI首次发布开放权重的模型。

得益于巧妙的优化技术,这些模型甚至可以在本地设备上运行。

Sebastian Raschka博士在《从GPT-2到gpt-oss:架构进步分析》一文中,将我们拉回硬核拆机现场,深度解析了从GPT-2到gpt-oss的LLM架构演进,并将gpt-oss与Qwen3进行了详细对比。

以下是本文的核心内容速览:

  • 模型架构:GPT-2与gpt-oss模型架构对比;

  • MXFP4优化技术:如何将庞大的gpt-oss模型部署在单张GPU上;

  • 宽度与深度的权衡:gpt-oss与Qwen3的设计思路对比分析;

  • 注意力机制的细节:注意力偏置(Attention Bias)与注意力池(Attention Sinks)解析;

  • 性能基准:全面评测并与GPT-5展望比较。


GPT-2与gpt-oss的模型架构比较

在深入讨论架构细节之前,先看gpt-oss-20b和gpt-oss-120b的整体架构。


图1:两个gpt-oss模型的对比

也许你会觉得,这与近期看过的LLM架构相比,并无任何新奇之处。

这并不奇怪,因为顶尖的LLM开发者,往往采用相同的基础架构,性能提升很可能来自数据与算法的调整,再做一些小幅微调。

背后原因可能包括:

1. 人才流动:这些顶级实验室间的人才流动非常频繁;

2. Transformer架构的霸主地位:至今还没找到比Transformer架构更优秀的方案;

3. 性能提升可能来自数据处理和算法上的微调,而非重大的架构变革。

从GPT-2到gpt-oss,LLM模型的演化

先坐上「时光机」,回到GPT-2。


图2:gpt-oss-20b与GPT-2 XL1.5B的比较

gpt-oss和GPT-2都是建立在2017年论文《Attention Is All You Need》提出的Transformer架构之上的仅解码器(decoder-only)LLM。

1. 移除Dropout

Dropout是一种传统的防止过拟合的技术,在训练过程中随机「丢弃」一部分网络层的激活值或注意力分数(即将其设为零),GPT-2之后的多数现代LLM中很少再使用Dropout。


图3:将Dropout应用于注意力得分矩阵的示意图

GPT-2最初使用Dropout,可能是沿用了最早的Transformer架构设计。

研究者们发现,它并不能真正提升LLM的性能。

这很可能是因为LLM通常在海量的数据集上进行单轮训练,这与当初Dropout诞生时所针对的那种动辄训练数百轮的场景截然不同。

由于训练中每个token只被看到一次,过拟合的风险原本就很小。

今年的一篇论文通过在Pythia 1.4B的实验证实,在当前这种单轮训练模式下,使用Dropout反而会导致模型在下游任务中的表现变差。

2. RoPE替代绝对位置编码

在基于Transformer的大模型中,位置编码是必要的,因为注意力机制本身默认把输入的token视为无序。

在原始的GPT架构中,绝对位置嵌入通过为序列中的每个位置学习一个位置向量,并将其与token嵌入相加,从而注入位置信息。


图4:绝对位置嵌入的说明

RoPE(旋转位置嵌入)不是把位置信息作为独立嵌入相加,而是依据每个token的位置,对query和key向量施加位置相关的旋转来编码。

RoPE最早于2021年被提出,但直到2023年Meta发布初代Llama模型后才被广泛采用,并自此成为了LLM的标配。

3. 激活函数之争:Swish/SwiGLU何以取代GELU?

激活函数的选择曾是一个热门话题,直到十多年前逐渐落定到ReLU。

此后研究者提出并尝试了多种更「平滑」的ReLU变体,其中GELU和Swish被广泛保留并沿用至今。


图5:Swish和GELU激活的比较,它们都是ReLU的更平滑版本

早期的GPT架构使用GELU,其定义为:0.5·x·[1+erf(x/√2)]。

其中erf(误差函数)与高斯积分相关,通常通过对高斯积分的多项式近似来计算。而Swish使用的是更简单的sigmoid函数,它的形式是x·sigmoid(x)。

在实践中,Swish的计算成本略低于GELU,这或许是它在多数新模型中取代GELU的主要原因。

至于建模性能,不同论文结论略各有差异,但这些差异往往落在统计标准误差范围内,最终优劣还高度依赖超参数调校。

如今,Swish已成为大多数架构的选择。不过,GELU也并未被完全抛弃,例如谷歌今年发布的Gemma模型就仍然坚持使用GELU。

更重要的变化:GLU结构

更值得注意的是,比替换激活函数本身更值得注意的变化是,模型中的前馈网络(feed-forward module)模块的结构也发生了改变。

前馈模块常被带门控的GLU(Gated Linear Unit)变体取代。

具体而言,原本的两层全连接会被三层全连接替换,其用法如下图所示。


图6:Swish与GELU,及其门控对应版本SwiGLU和GEGLU的比较

为便于说明,可对比常规FFN与GLU变体的具体代码实现思路:


图7:常规前馈模块(顶部)和SwiGLU变体(底部)

假设embedding维度为1024。常规FFN中,隐藏维常取4×d_model=4096,因此有:

fc1:1024×4096=4,194,304

fc2:1024×4096=4,194,304

也就是说,fc1+fc2=8,388,608个参数。

GLU变体(SwiGLU)参数总量:

3×1,048,576=3,145,728

结论非常清晰:SwiGLU结构不仅性能更好,总参数量实际上还更少。

其优势来自于门控带来的额外的乘法交互,增强了模型的表达能力。在训练得当的前提下,更深更窄的网络往往胜过更浅更宽的网络。

4. 混合专家模型 (MoE) 替代单个前馈网络

除了上文提到的把前馈模块升级为SwiGLU之外,gpt-oss还用多个前馈模块替换了单个前馈模块,并在每个token生成步骤中只启用其中的一个子集。

这种做法称为Mixture-of-Experts(MoE,专家混合),如下图8所示。


图8:前馈模块被专家混合(MoE)模块替代

因此,用多个前馈模块取代单个前馈模块(MoE的典型做法)会显著增加模型的总参数量。

不过关键在于:我们不会对每个token激活所有专家,因此,MoE常被称为稀疏模块。与之相对,始终使用全部参数的称为致密模块。

MoE带来的总参数量意味着在训练中能「装下」更多知识;稀疏性又能在推理阶段保持较高的效率。

5. 分组查询注意力(GQA)替代多头注意力(MHA)

近年,分组查询注意力(Grouped Query Attention, GQA) 已成为多头注意力(Multi-Head Attention, MHA) 的一种计算和参数效率都更高的替代方案。

在多头注意力(MHA)中,每个头都拥有一套独立的键和值向量。

GQA的核心思想则是通过分组来减少计算量:它让多个查询头共享同一套键和值。

如(图9)所示,假设有4个注意力头和2个键值组(key-value groups),那么头1和头2可以共享一组键值,而头3和头4则共享另一组。

这种分组机制减少了键和值的总计算量,从而降低了内存使用并提升了效率。

在推理过程中,需要缓存(KV Cache)和读取的键值张量变少了,这极大地降低了对内存带宽的需求,从而加快了生成速度。


图9:MHA与GQA的比较;此处,组大小为2,其中一对键和值在2个查询中共享

GQA有如下两个好处:

(1)降低参数量;

(2)在推理时减少K/V张量的带宽占用,因为KVCache中需要存取的K/V更少。

6. 滑动窗口注意力 (Sliding Window Attention)

滑动窗口注意力(Sliding-window attention)见下图10,这一技术最早由LongFormer论文(2020年)引入,后来被Mistral推广。


图10:常规注意力(左)与滑动窗口注意力(右)的比较

有趣的是,gpt-oss在每隔一层就应用一次滑窗注意力,可以把它视作MHA/GQA的一种变体。

其核心思想是将注意力计算的范围限制在一个较小的窗口内,从而有效降低内存占用和计算成本。

gpt-oss在网络中交替使用两类GQA层:一种对全上下文做注意力,另一种使用仅128 token的滑动窗口。

根据消融研究,滑动窗口注意力对模型性能的影响很小。

需要注意的是,Gemma2的窗口为4096 tokens,而Gemma3将其降到1024 tokens。在gpt-oss中,窗口仅为128 tokens,可谓非常小。

GPT-3已经使用了类似的交替致密与局部带状稀疏注意力,而gpt-oss与GPT-3类似,也采用交替的致密与局部带状稀疏注意力模式。

回看了GPT-3论文,确实有相关描述:

我们使用与GPT-2相同的模型架构……不同之处在于,我们在Transformer的各层中采用了交替的致密与局部带状稀疏注意力模式,这与Sparse Transformer类似。

7. RMSNorm替代LayerNorm

最后,与GPT-2相比的最后一个小调整,是用RMSNorm取代LayerNorm。

与把GELU换成Swish,把FFN换成SwiGLU的做法类似,RMSNorm也是一种小而合理的效率提升。

RMSNorm和LayerNorm的目的都是对层激活值进行归一化,如下图所示。


图11:一个小线性层中LayerNorm(左)与RMSNorm(右)的比较

在图11中,LayerNorm和RMSNorm都将层输出缩放到一个合理的范围内。

LayerNorm会减去均值并除以标准差,使层输出具有零均值与单位方差(方差为1、标准差为1)。

RMSNorm则将输入除以RMS。这不会强制零均值与单位方差,但均值与方差仍会落在合理区间:均值约在-1到1,方差约在0到1。

尽管两者都能起到稳定激活值、改善优化的作用,但LLM中,RMSNorm更受青睐,因为它计算成本更低。

与LayerNorm不同,RMSNorm没有偏置(bias/shift)项,并把计算均值和方差两个步骤简化为RMS操作。

这使得跨特征维度的规约(reduction)操作从两次减少到了一次,从而降低了GPU之间的通信开销,提升了训练效率。

下图展示了它们在代码实现上的区别:


图12:LayerNorm和RMSNorm的代码实现,显示RMSNorm在计算上更简单

8. GPT-2的价值传承

学习LLM时,GPT-2是非常好的入门级架构。

从GPT-2入手,你可以把重心放在基础要素上(注意力机制、位置嵌入、归一化以及整体训练流程),而不会被新架构里层出不穷的功能与微调细节「淹没」。

gpt-oss与Qwen3的比较

在梳理了从GPT-2到gpt-oss的演进之后,Sebastian Raschka博士将gpt-oss与更近的架构Qwen3进行比较。

选择Qwen3,主要基于两点原因:

1. Qwen3在当前属于顶尖开源权重(open-weight)模型;

2. Qwen3的某个MoE变体在可训练参数规模上与gpt-oss相近,便于直接对比。

通过图中的对比,可以看到:gpt-oss20B与Qwen3 30B-A3B在架构上非常相似。


图13:gpt-oss-20b与Qwen3模型比较

主要差别在于gpt-oss使用了滑动窗口注意力机制,而Qwen3未使用该机制。

1. 宽度与深度权衡

Qwen3是一个更深的架构,它有48个Transformer Block,而不是24个(见下图14)。


图14:Qwen3的Transformer块数量是gpt-oss-20b的两倍

gpt-oss的架构要「宽」得多:

嵌入维度(embedding dimension)为2880,Qwen3为2048。

中间专家层(即前馈网络)的投影维度也为2880,Qwen3为768。

gpt-oss的注意力头数约为Qwen3两倍,但这不会直接增加模型「宽度」,因为后者主要由embedding维度决定。

在参数总量固定的前提下,「更深」与「更宽」孰优?

一个经验法则是:更深的模型表达更灵活,但训练更易不稳(梯度爆炸/消失),这正是RMSNorm与残差/捷径连接试图缓解的问题。

更宽的架构在推理时通常更快,因为并行度更好。代价是更高显存占用。

2. 少量「大专家」vs 大量「小专家」

gpt-oss的专家数量更少(32 vs 128),且每个token激活专家更少(4 vs 8);但gpt-oss的单个专家更大,比Qwen3的专家「更宽」。

这点颇有意思,因为近来的趋势倾向于「更多、更小」的专家。

DeepSeek有关MoE的论文中对此有很好的示例。


图15:《DeepSeekMoE:迈向混合专家语言模型的终极专业化之路》论文注释图

与DeepSeek不同,gpt-oss与Qwen3均未采用「共享专家」设计。

客观说,gpt-oss-20B的专家较少,可能只是因为它模型尺寸较小的缘故。

观察gpt-oss-120B版本(见下图16),确实在其他设置不变时增加了专家数与层数。


图16:对比两个gpt-oss架构,120B模型仅扩展了Transformer块的数量和专家的数量

然而,仅在层数与专家数两个维度上缩放的情况并不常见。

Qwen3的多档MoE模型(见图17)会在更多方面做更成比例的伸缩。


图17:不同Qwen3模型中的架构差异

3. 注意力偏置(Attention Bias)与注意力池(Attention Sinks)

gpt-oss与Qwen3都采用GQA(分组查询注意力)。

主要区别是gpt-oss在每隔一层使用滑动窗口注意力来限制上下文。

但有个细节引人注意:gpt-oss似乎在注意力权重里使用了偏置项。


图18:gpt-oss模型在注意力层使用偏差单元

GPT-2之后,很少再看到偏置项用于此处,通常被视为冗余。

根据近期一篇论文,从数学上证明至少对k_proj来说确实如此;而实证也显示有无偏置差别很小。


图19:展示了在从头开始训练模型时,有和无偏差单元的平均测试损失。

还有一个细节是图18的代码里sinks的定义。

注意力池(Attention Sinks)通常指一些特殊的、安插在序列开头的常被关注token。它们的作用是稳定注意力机制,在长上下文场景下尤其有用。

在gpt-oss的实现中,注意力汇并非真实token,而是按头(per-head)学习的bias logits,直接加到注意力得分上。


图20:gpt-oss中注意力汇流的使用;基于此处Hugging Face代码

有趣的小知识

1. 训练概述

关于gpt-oss训练集规模与算法的信息不多。下面摘录了模型卡(1)与公告(2)里最关键的线索:

gpt-oss使用了我们最先进的预训练与后训练技术进行训练[…](1);

训练耗时约210万H100GPU小时,其中gpt-oss-20B少了近10倍(1);

流程包括有监督微调阶段与高计算量的强化学习阶段[…](2);

数据主要是英文、纯文本,偏重STEM、编程与通用知识(2)。

由此可知,gpt-oss是推理型模型。其210万H100小时的训练量,与DeepSeek V3(278.8万H800小时)大致同级。

可惜Qwen3的训练时长尚未公开。

gpt-oss的训练时长同时包含了指令跟随的监督学习与推理的强化学习;而DeepSeek V3仅是预训练基座,其上另行训练了DeepSeek R1。

2. 推理力度

如上所述,gpt-oss是推理型模型。特别之处在于,它被训练成可通过推理时伸缩,让用户调节推理强度。

具体来说,gpt-oss可以在系统提示中接受「Reasoning effort:low/medium/high」指令(见下图21),并直接影响回复长度与准确度。


图21:不同推理力度下gpt-oss模型的响应长度和质量(来自模型卡的标注图)

这种可调性便于在成本、算力、准确度之间平衡。

3. MXFP4优化:小而关键的细节

一个有趣的惊喜是,OpenAI为MoE专家发布了MXFP4量化方案的gpt-oss模型。MXFP4的优化使模型能在单卡设备上运行。

它可以让gpt-oss-120B放进单张80GBH100或更新的GPU;而20B小模型甚至可以放进16GB显存。

gpt-oss模型,在旧硬件上也能跑,但不支持MXFP4,因此显存占用更高。

4. 基准测试

从gpt-oss公告给出的推理类基准看,gpt-oss与OpenAI自研闭源以及Qwen3旗鼓相当(见下图22)。


图22:主要基准图表来自官方gpt-oss公告帖子。"无工具"的gpt-oss-120b数据来自官方模型卡论文,Qwen3的数值来自官方Qwen3仓库。

值得注意的是,gpt-oss-120B的规模几乎只有Qwen3 A235B-A22B-Thinking-2507的一半,且可单卡运行。

当然,基准成绩不等于真实可用性。据这几天的试用,gpt-oss的能力不俗,但也存在不少人所观察到的,幻觉倾向相对偏高(这点在模型卡中也有提及)。

这可能与其在数学、谜题、代码等推理任务上的训练重心有关,导致一定的「通识遗忘」。

但由于gpt-oss是面向工具使用设计,优先提升「推理力」而非「记忆量」,随着开源LLM的工具集成成熟,这个短板未来或许影响渐小。

5. gpt-oss与GPT-5

OpenAI在gpt-oss之后,很快就发布了期待已久的GPT-5。

有趣的是,就基准表现(见图23)而言,gpt-oss模型与OpenAI旗舰产品之间的接近程度令人惊喜。


图23:gpt-oss数据来自官方模型卡论文和公告,Qwen3数据来自官方Qwen3-Coder仓库。

当然,基准≠实用。由于目前使用样本还少,结论为时尚早。但对喜爱开源与本地/私有化部署的人而言,这无疑是一个好时机。

参考资料:

https://magazine.sebastianraschka.com/p/from-gpt-2-to-gpt-oss-analyzing-the

硬核拆解!从GPT-2到gpt-oss,揭秘大模型进化关键密码 - AI 资讯 - 资讯 - AI 中文社区

声明:本文转载自新智元,转载目的在于传递更多信息,并不代表本社区赞同其观点和对其真实性负责,本文只提供参考并不构成任何建议,若有版权等问题,点击这里。本站拥有对此声明的最终解释权。如涉及作品内容、版权和其它问题,请联系我们删除,我方收到通知后第一时间删除内容。

点赞(0) 收藏(0)
0条评论
珍惜第一个评论,它能得到比较好的回应。
评论

游客
登录后再评论
  • 鸟过留鸣,人过留评。
  • 和谐社区,和谐点评。