八年后,Meta教會了Transformer「顯式思考」
最近的 Meta 可謂大動作不斷,一邊瘋狂裁人,一邊又高強(qiáng)度產(chǎn)出論文。
10 月 20 日,他們又上線了一篇新論文《The Free Transformer》,作者只有一位,日內(nèi)瓦大學(xué)教授、Meta 研究科學(xué)家 Fran?ois Fleuret。有意思的是,F(xiàn)ran?ois 所在的 FAIR 是 Meta 近日裁員最嚴(yán)重的部門之一。

- 論文標(biāo)題:The Free Transformer
- 論文地址:https://arxiv.org/pdf/2510.17558
在這篇文章中,F(xiàn)ran?ois 重寫了 Transformer 的思維方式,造出了一個叫 Free Transformer 的新架構(gòu)(一種新解碼器 Transformer 擴(kuò)展,它使用無監(jiān)督潛在變量來提高下游任務(wù)的性能),直接打破了自 2017 年以來所有 GPT 模型賴以存在的核心規(guī)則。
在過去的 8 年里,Transformer 一直像是被蒙上眼睛的猜詞機(jī)器,在生成內(nèi)容時,只能一次預(yù)測一個最有可能的 next token,沒有內(nèi)在計劃,也沒有潛在思考,也不能返回來修改。
這種想什么就直接說什么的方式,會導(dǎo)致模型出現(xiàn)幻覺,也就是把編造的內(nèi)容說得信誓旦旦。Transformer 其實(shí)需要具備某種反思能力,才能避免冗長、雜亂的思維鏈輸出。
而 Meta 給了它一個。他們在解碼器內(nèi)部加入了隨機(jī)潛在變量,讓模型能在開口說話之前,先在內(nèi)部秘密地決定自己要怎么生成內(nèi)容。這就像是給 GPT 裝上了一顆隱藏的心智。

結(jié)果顯示,在 15 億和 80 億參數(shù)的模型上,這一方法在代碼生成、數(shù)學(xué)文字題和多選任務(wù)上都取得了明顯提升。
Free transformer「新」在哪里?
任何潛在的隨機(jī)變量 Y_r,無論它與 token S_1,…,S_t 以及此前采樣的其他潛在變量 Y_1,…,Y_r?1 之間存在怎樣的統(tǒng)計依賴關(guān)系,在合理的假設(shè)下,都可以表示為一個函數(shù) f_r (S_1,…,S_t, Y_1,…,Y_r?1, Z_r),其中 Z_r 是來自隨機(jī)生成器的一個值。
因此,如果在生成過程中為模型提供足夠多相互獨(dú)立采樣的隨機(jī)值 Z_1, Z_2,…,那么只要模型的容量足以編碼函數(shù) f_r,合適的訓(xùn)練過程原則上就可以構(gòu)建出具有任意依賴結(jié)構(gòu)的潛在變量族。
正如在采樣過程中對一個 token 的選擇可以表示為隨機(jī)值和 logits 函數(shù)一樣,任何依賴隨機(jī)值和其他激活的激活函數(shù)也可以被解釋為模型在生成過程中所做出的某種決策。這樣的決策使得潛在激活成為 token 的非確定性函數(shù),而僅觀察 token 只能獲得關(guān)于這些潛在激活的部分信息。
那么,F(xiàn)ree Transformer 的模型架構(gòu)是怎樣的呢?作者將「Transformer Block」稱為由多頭注意力層和類 MLP 的逐 token 模塊的常規(guī)組合,并包含歸一化層與殘差連接。
架構(gòu)概覽如下圖 1 和圖 2 所示,F(xiàn)ree Transformer 是一種在中間層注入噪聲 Z 的標(biāo)準(zhǔn)解碼器結(jié)構(gòu)。這樣的設(shè)計允許與編碼器共享一半的 Transformer 模塊,從而顯著減少計算開銷,這是因?yàn)橹挥幸粋€ Transformer 模塊需要專門為編碼器計算。
正如我們將看到的,這個模型擁有解碼器 Transformer 的全部組件,同時為編碼器增加了一個非因果模塊和兩個線性層。
作者尚未研究在何種深度注入 Z 最為合適,注入得太早會削弱編碼器的表達(dá)能力,而注入得太晚又會削弱解碼器處理潛在變量的能力。

接下來看編碼器與損失。作者表示,在訓(xùn)練階段或 KV 緩存預(yù)填充過程中,張量 Z 是與編碼器一起采樣得到的。
Free Transformer 擁有一個專屬于編碼器的 Transformer 模塊,并且該模塊是非因果的,使得整個編碼器也是非因果結(jié)構(gòu)。這一點(diǎn)是必要的,因?yàn)榻獯a器的條件約束可能產(chǎn)生長程影響,需要考慮完整的序列信息,才能獲得潛在變量的合理?xiàng)l件分布。
在這個編碼器專用模塊中,查詢的輸入來自一個經(jīng)過訓(xùn)練的、可學(xué)習(xí)的常數(shù) token 嵌入 ζ,它會被復(fù)制以匹配序列長度;而鍵和值的輸入則來自解碼器前半部分的輸出。之所以使用這種可學(xué)習(xí)的常數(shù)嵌入作為查詢輸入,而不是輸入序列的標(biāo)準(zhǔn)表示,是為了防止編碼器學(xué)習(xí)到逐 token 的映射關(guān)系,使其能夠捕捉到序列的全局特征,從而更具跨任務(wù)和跨數(shù)據(jù)集的可遷移性。
最終,通過一個線性讀出層,從編碼器模塊的輸出中為每個 token 計算出一個維度為 H = 16 的向量。
最后是二進(jìn)制映射器。
編碼器的最后一個線性層會針對正在處理的序列中每一個位置 t,計算出一個向量 L_t = (L_t,1, …, L_t,H) ∈ ?^H,其各個分量被解釋為二進(jìn)制編碼中每一位的 logits。
二進(jìn)制映射器會獨(dú)立地對這些比特 B_t,1, …, B_t,H 進(jìn)行采樣(方式如下):

并根據(jù)采樣結(jié)果輸出一個維數(shù)為 2^H 的獨(dú)熱向量 Y_t,用以表示對應(yīng)的二進(jìn)制取值。

實(shí)驗(yàn)結(jié)果
合成數(shù)據(jù)集
為了驗(yàn)證 Free Transformer 確實(shí)利用潛變量 Z 來對其生成過程進(jìn)行條件化,本文設(shè)計了一個合成數(shù)據(jù)集,在合成訓(xùn)練集中,作者對每個序列的生成方式進(jìn)行了規(guī)定,如以 1/16 的概率將任意字符替換為感嘆號!。圖 3 為一些示例。

接著,作者在該數(shù)據(jù)上訓(xùn)練了四個不同 free bits 閾值 κ 的 Free Transformer 模型,并使用相同的隨機(jī)提示詞生成了三組序列,如圖 4 所示。
對于每個模型:藍(lán)色組中,每個序列的噪聲 Z 都是獨(dú)立采樣的;綠色組中,只為整組序列采樣一個相同的 Z,并使用它生成全部序列。
當(dāng) KL 散度的值非常低時,模型的表現(xiàn)類似于普通 Transformer(見圖 4 左中)。隨著該值的增加,模型首先僅在潛在狀態(tài)中編碼目標(biāo)的位置(圖 4 右中);進(jìn)一步增大時,模型開始同時編碼目標(biāo)位置和噪聲(圖 4 左下);當(dāng)值再度升高時,模型會將整個序列都編碼進(jìn)潛在狀態(tài),從而導(dǎo)致生成結(jié)果出錯(圖 4 右下)。

為了在標(biāo)準(zhǔn)基準(zhǔn)測試上評估性能,作者使用了僅解碼器 Transformer。這些模型經(jīng)過高度優(yōu)化,采用了以下關(guān)鍵技術(shù):如 SwiGLU 非線性激活函數(shù);旋轉(zhuǎn)位置嵌入等。
下游任務(wù)的性能結(jié)果如表 1(針對 15 億參數(shù)模型)和表 2(針對 80 億參數(shù)模型)所示,兩組結(jié)果均基于四種不同的 κ 值。

從結(jié)果可以看到,模型在 HumanEval+、MBPP 和 GSM8K 等任務(wù)上取得了顯著提升 —— 這些任務(wù)普遍被認(rèn)為需要一定的推理能力。
此外,在 MMLU 和 CSQA(多選題任務(wù))上,8B 模型在 KL 散度為 0.5 比特時也表現(xiàn)出明顯改進(jìn)。
為了在更貼近真實(shí)應(yīng)用場景的條件下評估模型改進(jìn)效果,作者使用 1 萬億(1T)tokens 訓(xùn)練了 80 億參數(shù)(8B)模型。這種大規(guī)模訓(xùn)練顯著提升了基線模型和 Free Transformer 的性能。
下游任務(wù)的性能結(jié)果列于表 3。

訓(xùn)練過程中的對應(yīng)曲線可見圖 7。

從圖中可以觀察到,在這一階段模型的性能提升速率基本保持穩(wěn)定,因此取平均值有助于減輕訓(xùn)練波動帶來的影響。
最關(guān)鍵的結(jié)果是:模型在 HumanEval+、MBPP、GSM8K、MMLU 和 CSQA 等任務(wù)上的性能均獲得顯著提升,驗(yàn)證了在小規(guī)模實(shí)驗(yàn)中觀察到的趨勢,同時在其他任務(wù)上也表現(xiàn)出更高的穩(wěn)定性。























