JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

Transformer 為何稱霸

你已經搭起了注意力、多頭注意力,乃至完整的 Transformer。現在是揭曉答案的時候:為什麼單單這一種架構幾乎取代了它之前的一切——以及哪裡炒作跑贏了真相。

舊模型做不到的事:不必等待

到現在,你已經能手工讀懂一個 Transformer 模塊了。那它為什麼會贏?最大的原因幾乎是機械性的,與「智能」關係不大:Transformer 一次性讀入整段序列。而循環網路要先處理第 1 個詞,再第 2 個、第 3 個——每一步都得等上一步。這種依賴鏈在紙面上沒問題,卻扼住了 2010 年代最關鍵的那項資源:GPU——一種只有在成千上萬次計算並排進行時才能盡情飛馳的晶片。

自注意力沒有這種鏈條。每個 token 在一次大矩陣乘法裡看遍其它所有 token,於是整句話——乃至整頁文字——都被並行處理。這意味著 Transformer 把一項漫長、空轉、按部就班的任務,變成了一大批 GPU 能一口吞下的運算。這套架構不只是契合硬體;它契合的是*整個領域當時正拼命打造的*那種硬體。讓人們敢把 Transformer 做到前所未有規模的,與其說是某個巧妙想法,不如說是訓練速度。

「Attention is all you need」——這標題究竟在主張什麼

2017 年那篇 Attention Is All You Need 的標題故意帶點調皮。它真正的主張同時既窄又大膽:你可以把循環與卷積徹底扔掉,只留注意力加上簡單的前饋層,機器翻譯反而做得更好。多年來人們一直把注意力*附加*在循環模型上當幫手。這篇論文的妙招,是讓注意力成為整座承重結構——也就是你如今從零件搭起來的那個 Transformer

不過對這標題要誠實些,因為這個領域很少誠實。「你只需要它」在 2017 年那個翻譯基準上是成立的;它*不是*自然法則。Transformer 仍然需要位置編碼(光靠注意力是分不清順序的),仍然需要歸一化和殘差連接才能訓得起來,也仍然把大量原始容量寄託在前饋模塊上。這句口號流傳開來,是因為它朗朗上口,而非因為注意力真是唯一的配料。

規模與遷移:把它推成龐然大物的兩台引擎

一個訓練得快的架構,只有在「越做大越划算」時才真正重要——而 Transformer 在這點上撞了大運,少有設計這般幸運。研究者發現了縮放定律:在跨越許多數量級的範圍內,隨著參數、資料、算力的增加,損失會平滑而可預測地下降。在測試過的區間裡沒有斷崖,也沒有明顯天花板。這把一場研究豪賭變得更像工程:多花十倍算力,就能拿到可量化地更好的模型。錢能買來能力,錢便湧了進來。

第二台引擎是遷移。你不必為每個任務各訓一個模型,而是先在浩如煙海的無標註文本上做一次預訓練,學到通用結構,然後再便宜地微調,甚至只用提示就能應付每件具體活兒。這正是前幾級台階裡的遷移學習思想,但 Transformer 把它放大到驚人:一個大基礎模型成了可複用的底座,翻譯、摘要、寫程式、聊天通吃。所謂大語言模型正是如此——單個預訓練好的 Transformer,被壓去幹上千種活。

專家混合:養一個巨腦,每次只用一小片

縮放定律說越大越好,但越大也意味著每個 token 都得為每個參數買單——成本暴漲。專家混合(MoE)是個機靈的躲閃法。你把一個大前饋模塊換成比如 64 個較小的「專家」模塊,再加一個小小的路由器,它為每個 token 只挑其中 2 個來運行。模型可以*擁有*海量參數,但任何單個 token 只*激活*其中一小撮。

# one MoE feed-forward layer, per token
scores  = router(token)              # how well each expert fits this token
top2    = argtop(scores, k=2)        # pick the 2 best experts
out = 0
for e in top2:                       # run ONLY those 2, not all 64
    out += softmax(scores)[e] * expert[e](token)
# total params: 64 experts. compute paid: 2 experts.
路由器把每個 token 送往與它最匹配的專家;對該 token 而言,模型的大部分都在閒置。

好處是實打實的:你把總知識量(參數規模)與每 token 的推理成本解耦了。但誠實地說,代價也是實打實的。那些專家即便大多閒著也得全部駐留在顯存裡,所以 MoE 很吃記憶體,部署也更棘手。路由可能崩塌成少數幾個專家霸佔所有 token,需要平衡技巧來糾偏。MoE 是個擴規模的*技巧*,不是智能上的飛躍——它以更友好的算力帳單換來更大的模型,僅此而已,沒有更神秘的東西。

誠實的取捨——以及為何「稱霸」不等於「永遠贏家」

現在說說營銷略過的部分。自注意力讓每個 token 與其它每個 token 兩兩比較,所以成本隨序列長度的*平方*增長。上下文長度翻一倍,計算量就翻四倍。正是這個平方瓶頸,讓長文檔變得昂貴,也讓一個小行當——FlashAttention、稀疏與線性注意力等變體——專門為壓低這成本而存在。這套架構的標誌性優勢「一次看遍全局」,同時也是它標誌性的開銷。

還有兩條誠實的局限。Transformer 極其耗資料、耗算力;那張以美元與能耗計的帳單,絕不是腳註。而作為語言模型,它們預測的是貌似合理的下一個 token——並沒有內建的求真保證,這正是為什麼幻覺(流暢而自信的胡說)是結構性的,而非一個能打補丁修掉的 bug。所謂的湧現能力——似乎在規模夠大時驟然出現的本領——令人興奮,卻也存爭議:其中一些,一旦你更仔細地度量,就收斂成了平滑而不足為奇的曲線。

那它究竟為何稱霸?不是因為它是終極或最聰明的設計,而是因為它夠並行,能大規模訓練;夠通用,能處處遷移;又夠幸運,擴規模一直划算。請留意它越出文本的觸角:同一個模塊如今驅動著處理圖像的視覺 Transformer,還有音頻、蛋白質結構等等。這份通用性才是真正的頭條。會不會有某種在長上下文上更快的東西最終取而代之,仍是開放問題——「稱霸」是一個時代的快照,而非永恆的定論。