新智元報(bào)道
編輯:元宇 英智
【新智元導(dǎo)讀】自GPT-2以來,大模型的整體架構(gòu)雖然未有大的變化,但從未停止演化的腳步。借OpenAI開源gpt-oss(120B/20B),Sebastian Raschka博士將我們帶回硬核拆機(jī)現(xiàn)場(chǎng),回溯了從GPT-2到gpt-oss的大模型演進(jìn)之路,并將gpt-oss與Qwen3進(jìn)行了詳細(xì)對(duì)比。
8月5日,在GPT-5發(fā)布前兩天,OpenAI推出了它的兩款開源權(quán)重大語言模型:gpt-oss-120b、gpt-oss-20b。
這是自2019年GPT-2,近六年來OpenAI首次發(fā)布開放權(quán)重的模型。
得益于巧妙的優(yōu)化技術(shù),這些模型甚至可以在本地設(shè)備上運(yùn)行。
Sebastian Raschka博士在《從GPT-2到gpt-oss:架構(gòu)進(jìn)步分析》一文中,將我們拉回硬核拆機(jī)現(xiàn)場(chǎng),深度解析了從GPT-2到gpt-oss的LLM架構(gòu)演進(jìn),并將gpt-oss與Qwen3進(jìn)行了詳細(xì)對(duì)比。
以下是本文的核心內(nèi)容速覽:
模型架構(gòu):GPT-2與gpt-oss模型架構(gòu)對(duì)比;
MXFP4優(yōu)化技術(shù):如何將龐大的gpt-oss模型部署在單張GPU上;
寬度與深度的權(quán)衡:gpt-oss與Qwen3的設(shè)計(jì)思路對(duì)比分析;
注意力機(jī)制的細(xì)節(jié):注意力偏置(Attention Bias)與注意力池(Attention Sinks)解析;
性能基準(zhǔn):全面評(píng)測(cè)并與GPT-5展望比較。
GPT-2與gpt-oss的模型架構(gòu)比較
在深入討論架構(gòu)細(xì)節(jié)之前,先看gpt-oss-20b和gpt-oss-120b的整體架構(gòu)。
圖1:兩個(gè)gpt-oss模型的對(duì)比
也許你會(huì)覺得,這與近期看過的LLM架構(gòu)相比,并無任何新奇之處。
這并不奇怪,因?yàn)轫敿獾腖LM開發(fā)者,往往采用相同的基礎(chǔ)架構(gòu),性能提升很可能來自數(shù)據(jù)與算法的調(diào)整,再做一些小幅微調(diào)。
背后原因可能包括:
1. 人才流動(dòng):這些頂級(jí)實(shí)驗(yàn)室間的人才流動(dòng)非常頻繁;
2. Transformer架構(gòu)的霸主地位:至今還沒找到比Transformer架構(gòu)更優(yōu)秀的方案;
3. 性能提升可能來自數(shù)據(jù)處理和算法上的微調(diào),而非重大的架構(gòu)變革。
從GPT-2到gpt-oss,LLM模型的演化
先坐上「時(shí)光機(jī)」,回到GPT-2。
圖2:gpt-oss-20b與GPT-2 XL1.5B的比較
gpt-oss和GPT-2都是建立在2017年論文《Attention Is All You Need》提出的Transformer架構(gòu)之上的僅解碼器(decoder-only)LLM。
1. 移除Dropout
Dropout是一種傳統(tǒng)的防止過擬合的技術(shù),在訓(xùn)練過程中隨機(jī)「丟棄」一部分網(wǎng)絡(luò)層的激活值或注意力分?jǐn)?shù)(即將其設(shè)為零),GPT-2之后的多數(shù)現(xiàn)代LLM中很少再使用Dropout。
圖3:將Dropout應(yīng)用于注意力得分矩陣的示意圖
GPT-2最初使用Dropout,可能是沿用了最早的Transformer架構(gòu)設(shè)計(jì)。
研究者們發(fā)現(xiàn),它并不能真正提升LLM的性能。
這很可能是因?yàn)長LM通常在海量的數(shù)據(jù)集上進(jìn)行單輪訓(xùn)練,這與當(dāng)初Dropout誕生時(shí)所針對(duì)的那種動(dòng)輒訓(xùn)練數(shù)百輪的場(chǎng)景截然不同。
由于訓(xùn)練中每個(gè)token只被看到一次,過擬合的風(fēng)險(xiǎn)原本就很小。
今年的一篇論文通過在Pythia 1.4B的實(shí)驗(yàn)證實(shí),在當(dāng)前這種單輪訓(xùn)練模式下,使用Dropout反而會(huì)導(dǎo)致模型在下游任務(wù)中的表現(xiàn)變差。
2. RoPE替代絕對(duì)位置編碼
在基于Transformer的大模型中,位置編碼是必要的,因?yàn)樽⒁饬C(jī)制本身默認(rèn)把輸入的token視為無序。
在原始的GPT架構(gòu)中,絕對(duì)位置嵌入通過為序列中的每個(gè)位置學(xué)習(xí)一個(gè)位置向量,并將其與token嵌入相加,從而注入位置信息。
圖4:絕對(duì)位置嵌入的說明
RoPE(旋轉(zhuǎn)位置嵌入)不是把位置信息作為獨(dú)立嵌入相加,而是依據(jù)每個(gè)token的位置,對(duì)query和key向量施加位置相關(guān)的旋轉(zhuǎn)來編碼。
RoPE最早于2021年被提出,但直到2023年Meta發(fā)布初代Llama模型后才被廣泛采用,并自此成為了LLM的標(biāo)配。
3. 激活函數(shù)之爭:Swish/SwiGLU何以取代GELU?
激活函數(shù)的選擇曾是一個(gè)熱門話題,直到十多年前逐漸落定到ReLU。
此后研究者提出并嘗試了多種更「平滑」的ReLU變體,其中GELU和Swish被廣泛保留并沿用至今。
圖5:Swish和GELU激活的比較,它們都是ReLU的更平滑版本
早期的GPT架構(gòu)使用GELU,其定義為:0.5·x·[1+erf(x/√2)]。
其中erf(誤差函數(shù))與高斯積分相關(guān),通常通過對(duì)高斯積分的多項(xiàng)式近似來計(jì)算。而Swish使用的是更簡單的sigmoid函數(shù),它的形式是x·sigmoid(x)。
在實(shí)踐中,Swish的計(jì)算成本略低于GELU,這或許是它在多數(shù)新模型中取代GELU的主要原因。
至于建模性能,不同論文結(jié)論略各有差異,但這些差異往往落在統(tǒng)計(jì)標(biāo)準(zhǔn)誤差范圍內(nèi),最終優(yōu)劣還高度依賴超參數(shù)調(diào)校。
如今,Swish已成為大多數(shù)架構(gòu)的選擇。不過,GELU也并未被完全拋棄,例如谷歌今年發(fā)布的Gemma模型就仍然堅(jiān)持使用GELU。
更重要的變化:GLU結(jié)構(gòu)
更值得注意的是,比替換激活函數(shù)本身更值得注意的變化是,模型中的前饋網(wǎng)絡(luò)(feed-forward module)模塊的結(jié)構(gòu)也發(fā)生了改變。
前饋模塊常被帶門控的GLU(Gated Linear Unit)變體取代。
具體而言,原本的兩層全連接會(huì)被三層全連接替換,其用法如下圖所示。
圖6:Swish與GELU,及其門控對(duì)應(yīng)版本SwiGLU和GEGLU的比較
為便于說明,可對(duì)比常規(guī)FFN與GLU變體的具體代碼實(shí)現(xiàn)思路:
圖7:常規(guī)前饋模塊(頂部)和SwiGLU變體(底部)
假設(shè)embedding維度為1024。常規(guī)FFN中,隱藏維常取4×d_model=4096,因此有:
fc1:1024×4096=4,194,304
fc2:1024×4096=4,194,304
也就是說,fc1+fc2=8,388,608個(gè)參數(shù)。
GLU變體(SwiGLU)參數(shù)總量:
3×1,048,576=3,145,728
結(jié)論非常清晰:SwiGLU結(jié)構(gòu)不僅性能更好,總參數(shù)量實(shí)際上還更少。
其優(yōu)勢(shì)來自于門控帶來的額外的乘法交互,增強(qiáng)了模型的表達(dá)能力。在訓(xùn)練得當(dāng)?shù)那疤嵯拢罡木W(wǎng)絡(luò)往往勝過更淺更寬的網(wǎng)絡(luò)。
4. 混合專家模型 (MoE) 替代單個(gè)前饋網(wǎng)絡(luò)
除了上文提到的把前饋模塊升級(jí)為SwiGLU之外,gpt-oss還用多個(gè)前饋模塊替換了單個(gè)前饋模塊,并在每個(gè)token生成步驟中只啟用其中的一個(gè)子集。
這種做法稱為Mixture-of-Experts(MoE,專家混合),如下圖8所示。
圖8:前饋模塊被專家混合(MoE)模塊替代
因此,用多個(gè)前饋模塊取代單個(gè)前饋模塊(MoE的典型做法)會(huì)顯著增加模型的總參數(shù)量。
不過關(guān)鍵在于:我們不會(huì)對(duì)每個(gè)token激活所有專家,因此,MoE常被稱為稀疏模塊。與之相對(duì),始終使用全部參數(shù)的稱為致密模塊。
MoE帶來的總參數(shù)量意味著在訓(xùn)練中能「裝下」更多知識(shí);稀疏性又能在推理階段保持較高的效率。
5. 分組查詢注意力(GQA)替代多頭注意力(MHA)
近年,分組查詢注意力(Grouped Query Attention, GQA) 已成為多頭注意力(Multi-Head Attention, MHA) 的一種計(jì)算和參數(shù)效率都更高的替代方案。
在多頭注意力(MHA)中,每個(gè)頭都擁有一套獨(dú)立的鍵和值向量。
GQA的核心思想則是通過分組來減少計(jì)算量:它讓多個(gè)查詢頭共享同一套鍵和值。
如(圖9)所示,假設(shè)有4個(gè)注意力頭和2個(gè)鍵值組(key-value groups),那么頭1和頭2可以共享一組鍵值,而頭3和頭4則共享另一組。
這種分組機(jī)制減少了鍵和值的總計(jì)算量,從而降低了內(nèi)存使用并提升了效率。
在推理過程中,需要緩存(KV Cache)和讀取的鍵值張量變少了,這極大地降低了對(duì)內(nèi)存帶寬的需求,從而加快了生成速度。
圖9:MHA與GQA的比較;此處,組大小為2,其中一對(duì)鍵和值在2個(gè)查詢中共享
GQA有如下兩個(gè)好處:
(1)降低參數(shù)量;
(2)在推理時(shí)減少K/V張量的帶寬占用,因?yàn)镵VCache中需要存取的K/V更少。
6. 滑動(dòng)窗口注意力 (Sliding Window Attention)
滑動(dòng)窗口注意力(Sliding-window attention)見下圖10,這一技術(shù)最早由LongFormer論文(2020年)引入,后來被Mistral推廣。
圖10:常規(guī)注意力(左)與滑動(dòng)窗口注意力(右)的比較
有趣的是,gpt-oss在每隔一層就應(yīng)用一次滑窗注意力,可以把它視作MHA/GQA的一種變體。
其核心思想是將注意力計(jì)算的范圍限制在一個(gè)較小的窗口內(nèi),從而有效降低內(nèi)存占用和計(jì)算成本。
gpt-oss在網(wǎng)絡(luò)中交替使用兩類GQA層:一種對(duì)全上下文做注意力,另一種使用僅128 token的滑動(dòng)窗口。
根據(jù)消融研究,滑動(dòng)窗口注意力對(duì)模型性能的影響很小。
需要注意的是,Gemma2的窗口為4096 tokens,而Gemma3將其降到1024 tokens。在gpt-oss中,窗口僅為128 tokens,可謂非常小。
GPT-3已經(jīng)使用了類似的交替致密與局部帶狀稀疏注意力,而gpt-oss與GPT-3類似,也采用交替的致密與局部帶狀稀疏注意力模式。
回看了GPT-3論文,確實(shí)有相關(guān)描述:
我們使用與GPT-2相同的模型架構(gòu)……不同之處在于,我們?cè)赥ransformer的各層中采用了交替的致密與局部帶狀稀疏注意力模式,這與Sparse Transformer類似。
7. RMSNorm替代LayerNorm
最后,與GPT-2相比的最后一個(gè)小調(diào)整,是用RMSNorm取代LayerNorm。
與把GELU換成Swish,把FFN換成SwiGLU的做法類似,RMSNorm也是一種小而合理的效率提升。
RMSNorm和LayerNorm的目的都是對(duì)層激活值進(jìn)行歸一化,如下圖所示。
圖11:一個(gè)小線性層中LayerNorm(左)與RMSNorm(右)的比較
在圖11中,LayerNorm和RMSNorm都將層輸出縮放到一個(gè)合理的范圍內(nèi)。
LayerNorm會(huì)減去均值并除以標(biāo)準(zhǔn)差,使層輸出具有零均值與單位方差(方差為1、標(biāo)準(zhǔn)差為1)。
RMSNorm則將輸入除以RMS。這不會(huì)強(qiáng)制零均值與單位方差,但均值與方差仍會(huì)落在合理區(qū)間:均值約在-1到1,方差約在0到1。
盡管兩者都能起到穩(wěn)定激活值、改善優(yōu)化的作用,但LLM中,RMSNorm更受青睞,因?yàn)樗?jì)算成本更低。
與LayerNorm不同,RMSNorm沒有偏置(bias/shift)項(xiàng),并把計(jì)算均值和方差兩個(gè)步驟簡化為RMS操作。
這使得跨特征維度的規(guī)約(reduction)操作從兩次減少到了一次,從而降低了GPU之間的通信開銷,提升了訓(xùn)練效率。
下圖展示了它們?cè)诖a實(shí)現(xiàn)上的區(qū)別:
圖12:LayerNorm和RMSNorm的代碼實(shí)現(xiàn),顯示RMSNorm在計(jì)算上更簡單
8. GPT-2的價(jià)值傳承
學(xué)習(xí)LLM時(shí),GPT-2是非常好的入門級(jí)架構(gòu)。
從GPT-2入手,你可以把重心放在基礎(chǔ)要素上(注意力機(jī)制、位置嵌入、歸一化以及整體訓(xùn)練流程),而不會(huì)被新架構(gòu)里層出不窮的功能與微調(diào)細(xì)節(jié)「淹沒」。
gpt-oss與Qwen3的比較
在梳理了從GPT-2到gpt-oss的演進(jìn)之后,Sebastian Raschka博士將gpt-oss與更近的架構(gòu)Qwen3進(jìn)行比較。
選擇Qwen3,主要基于兩點(diǎn)原因:
1. Qwen3在當(dāng)前屬于頂尖開源權(quán)重(open-weight)模型;
2. Qwen3的某個(gè)MoE變體在可訓(xùn)練參數(shù)規(guī)模上與gpt-oss相近,便于直接對(duì)比。
通過圖中的對(duì)比,可以看到:gpt-oss20B與Qwen3 30B-A3B在架構(gòu)上非常相似。
圖13:gpt-oss-20b與Qwen3模型比較
主要差別在于gpt-oss使用了滑動(dòng)窗口注意力機(jī)制,而Qwen3未使用該機(jī)制。
1. 寬度與深度權(quán)衡
Qwen3是一個(gè)更深的架構(gòu),它有48個(gè)Transformer Block,而不是24個(gè)(見下圖14)。
圖14:Qwen3的Transformer塊數(shù)量是gpt-oss-20b的兩倍
gpt-oss的架構(gòu)要「寬」得多:
嵌入維度(embedding dimension)為2880,Qwen3為2048。
中間專家層(即前饋網(wǎng)絡(luò))的投影維度也為2880,Qwen3為768。
gpt-oss的注意力頭數(shù)約為Qwen3兩倍,但這不會(huì)直接增加模型「寬度」,因?yàn)楹笳咧饕蒭mbedding維度決定。
在參數(shù)總量固定的前提下,「更深」與「更寬」孰優(yōu)?
一個(gè)經(jīng)驗(yàn)法則是:更深的模型表達(dá)更靈活,但訓(xùn)練更易不穩(wěn)(梯度爆炸/消失),這正是RMSNorm與殘差/捷徑連接試圖緩解的問題。
更寬的架構(gòu)在推理時(shí)通常更快,因?yàn)椴⑿卸雀?。代價(jià)是更高顯存占用。
2. 少量「大專家」vs 大量「小專家」
gpt-oss的專家數(shù)量更少(32 vs 128),且每個(gè)token激活專家更少(4 vs 8);但gpt-oss的單個(gè)專家更大,比Qwen3的專家「更寬」。
這點(diǎn)頗有意思,因?yàn)榻鼇淼内厔?shì)傾向于「更多、更小」的專家。
DeepSeek有關(guān)MoE的論文中對(duì)此有很好的示例。
圖15:《DeepSeekMoE:邁向混合專家語言模型的終極專業(yè)化之路》論文注釋圖
與DeepSeek不同,gpt-oss與Qwen3均未采用「共享專家」設(shè)計(jì)。
客觀說,gpt-oss-20B的專家較少,可能只是因?yàn)樗P统叽巛^小的緣故。
觀察gpt-oss-120B版本(見下圖16),確實(shí)在其他設(shè)置不變時(shí)增加了專家數(shù)與層數(shù)。
圖16:對(duì)比兩個(gè)gpt-oss架構(gòu),120B模型僅擴(kuò)展了Transformer塊的數(shù)量和專家的數(shù)量
然而,僅在層數(shù)與專家數(shù)兩個(gè)維度上縮放的情況并不常見。
Qwen3的多檔MoE模型(見圖17)會(huì)在更多方面做更成比例的伸縮。
圖17:不同Qwen3模型中的架構(gòu)差異
3. 注意力偏置(Attention Bias)與注意力池(Attention Sinks)
gpt-oss與Qwen3都采用GQA(分組查詢注意力)。
主要區(qū)別是gpt-oss在每隔一層使用滑動(dòng)窗口注意力來限制上下文。
但有個(gè)細(xì)節(jié)引人注意:gpt-oss似乎在注意力權(quán)重里使用了偏置項(xiàng)。
圖18:gpt-oss模型在注意力層使用偏差單元
GPT-2之后,很少再看到偏置項(xiàng)用于此處,通常被視為冗余。
根據(jù)近期一篇論文,從數(shù)學(xué)上證明至少對(duì)k_proj來說確實(shí)如此;而實(shí)證也顯示有無偏置差別很小。
圖19:展示了在從頭開始訓(xùn)練模型時(shí),有和無偏差單元的平均測(cè)試損失。
還有一個(gè)細(xì)節(jié)是圖18的代碼里sinks的定義。
注意力池(Attention Sinks)通常指一些特殊的、安插在序列開頭的常被關(guān)注token。它們的作用是穩(wěn)定注意力機(jī)制,在長上下文場(chǎng)景下尤其有用。
在gpt-oss的實(shí)現(xiàn)中,注意力匯并非真實(shí)token,而是按頭(per-head)學(xué)習(xí)的bias logits,直接加到注意力得分上。
圖20:gpt-oss中注意力匯流的使用;基于此處Hugging Face代碼
有趣的小知識(shí)
1. 訓(xùn)練概述
關(guān)于gpt-oss訓(xùn)練集規(guī)模與算法的信息不多。下面摘錄了模型卡(1)與公告(2)里最關(guān)鍵的線索:
gpt-oss使用了我們最先進(jìn)的預(yù)訓(xùn)練與后訓(xùn)練技術(shù)進(jìn)行訓(xùn)練[…](1);
訓(xùn)練耗時(shí)約210萬H100GPU小時(shí),其中g(shù)pt-oss-20B少了近10倍(1);
流程包括有監(jiān)督微調(diào)階段與高計(jì)算量的強(qiáng)化學(xué)習(xí)階段[…](2);
數(shù)據(jù)主要是英文、純文本,偏重STEM、編程與通用知識(shí)(2)。
由此可知,gpt-oss是推理型模型。其210萬H100小時(shí)的訓(xùn)練量,與DeepSeek V3(278.8萬H800小時(shí))大致同級(jí)。
可惜Qwen3的訓(xùn)練時(shí)長尚未公開。
gpt-oss的訓(xùn)練時(shí)長同時(shí)包含了指令跟隨的監(jiān)督學(xué)習(xí)與推理的強(qiáng)化學(xué)習(xí);而DeepSeek V3僅是預(yù)訓(xùn)練基座,其上另行訓(xùn)練了DeepSeek R1。
2. 推理力度
如上所述,gpt-oss是推理型模型。特別之處在于,它被訓(xùn)練成可通過推理時(shí)伸縮,讓用戶調(diào)節(jié)推理強(qiáng)度。
具體來說,gpt-oss可以在系統(tǒng)提示中接受「Reasoning effort:low/medium/high」指令(見下圖21),并直接影響回復(fù)長度與準(zhǔn)確度。
圖21:不同推理力度下gpt-oss模型的響應(yīng)長度和質(zhì)量(來自模型卡的標(biāo)注圖)
這種可調(diào)性便于在成本、算力、準(zhǔn)確度之間平衡。
3. MXFP4優(yōu)化:小而關(guān)鍵的細(xì)節(jié)
一個(gè)有趣的驚喜是,OpenAI為MoE專家發(fā)布了MXFP4量化方案的gpt-oss模型。MXFP4的優(yōu)化使模型能在單卡設(shè)備上運(yùn)行。
它可以讓gpt-oss-120B放進(jìn)單張80GBH100或更新的GPU;而20B小模型甚至可以放進(jìn)16GB顯存。
gpt-oss模型,在舊硬件上也能跑,但不支持MXFP4,因此顯存占用更高。
4. 基準(zhǔn)測(cè)試
從gpt-oss公告給出的推理類基準(zhǔn)看,gpt-oss與OpenAI自研閉源以及Qwen3旗鼓相當(dāng)(見下圖22)。
圖22:主要基準(zhǔn)圖表來自官方gpt-oss公告帖子。"無工具"的gpt-oss-120b數(shù)據(jù)來自官方模型卡論文,Qwen3的數(shù)值來自官方Qwen3倉庫。
值得注意的是,gpt-oss-120B的規(guī)模幾乎只有Qwen3 A235B-A22B-Thinking-2507的一半,且可單卡運(yùn)行。
當(dāng)然,基準(zhǔn)成績不等于真實(shí)可用性。據(jù)這幾天的試用,gpt-oss的能力不俗,但也存在不少人所觀察到的,幻覺傾向相對(duì)偏高(這點(diǎn)在模型卡中也有提及)。
這可能與其在數(shù)學(xué)、謎題、代碼等推理任務(wù)上的訓(xùn)練重心有關(guān),導(dǎo)致一定的「通識(shí)遺忘」。
但由于gpt-oss是面向工具使用設(shè)計(jì),優(yōu)先提升「推理力」而非「記憶量」,隨著開源LLM的工具集成成熟,這個(gè)短板未來或許影響漸小。
5. gpt-oss與GPT-5
OpenAI在gpt-oss之后,很快就發(fā)布了期待已久的GPT-5。
有趣的是,就基準(zhǔn)表現(xiàn)(見圖23)而言,gpt-oss模型與OpenAI旗艦產(chǎn)品之間的接近程度令人驚喜。
圖23:gpt-oss數(shù)據(jù)來自官方模型卡論文和公告,Qwen3數(shù)據(jù)來自官方Qwen3-Coder倉庫。
當(dāng)然,基準(zhǔn)≠實(shí)用。由于目前使用樣本還少,結(jié)論為時(shí)尚早。但對(duì)喜愛開源與本地/私有化部署的人而言,這無疑是一個(gè)好時(shí)機(jī)。
參考資料:
https://magazine.sebastianraschka.com/p/from-gpt-2-to-gpt-oss-analyzing-the
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.