🎯 什麼情境該想到我

當你「要做文字分類、抽取、翻譯或生成,在猶豫用 BERT 類小模型、T5 類,還是直接呼叫 GPT/LLaMA 這種生成式大模型」的時候。

⚙️ 怎麼用(步驟 / 公式)

1. 三種架構差在注意力看得到哪裡

架構注意力矩陣意思
Encoder-only完全(雙向)處理每個詞時看得到整句前後文
Encoder-Decoder編碼器雙向+解碼器下三角+交叉注意力產生第 i 個輸出時,參考整個輸入,以及已產生的前 i−1 個輸出
Decoder-only下三角(只看前面)產生第 i 個詞時只能看前面已產生的

預訓練任務也對應不同:Encoder-only 練挖空填詞(BERT 遮掉約 15% 的 token 讓模型補回);Encoder-Decoder 練截斷補全、片段還原(T5 把連續片段遮掉讓模型生成);Decoder-only 練預測下一個詞(GPT)。

2. 依任務選(書的對照,「同等參數規模下」)

架構擅長弱點代表
Encoder-only理解與判別:情感分析、文本分類、命名實體辨識、語意相似度沒有解碼器,不能直接生成;硬要生成的話,每產一個詞都要重算整個序列BERT、RoBERTa、ALBERT、ELECTRA
Encoder-Decoder有條件生成:翻譯、摘要、問答(要先理解輸入再產出)多了解碼器,參數與計算量大T5、BART、Flan-T5、mT5
Decoder-only開放式生成;規模夠大後什麼任務都能做規模小時(GPT-1、GPT-2 時代)缺雙向上下文,理解複雜輸入不如前兩者GPT 系列、LLaMA 系列

3. 實務判斷(我依書的結論整理)

  • 要大量、低延遲、低成本地做分類/抽取/向量化,標註資料夠:BERT 類模型仍然划算。書說這類模型「參數止步 6.6 億」,代表跑得動、跑得便宜。
  • 翻譯、摘要這種輸入輸出成對的任務,又要自己微調一個中型模型:T5/BART 類。
  • 任務多變、沒有標註資料、需要指令跟隨與推理:直接用 Decoder-only 大模型配 prompt(見 工具-上下文學習的示例怎麼挑怎麼排)。

4. 為什麼最後是 Decoder-only 勝出(書給的理由)

  1. 生成能力:Encoder-only 沒有生成元件,只能迭代挖空、反覆前向傳播,在生成式 AI 的需求下吃虧。
  2. 計算效率:Encoder-Decoder 參數多、長序列時編碼器與解碼器都很重;開放式生成的輸入很短甚至沒有,保留完整的編碼器沒必要。
  3. 結構簡單、參數好擴展:只留解碼器,每步只看已生成的部分,好往上堆規模。2019 年底後算力起飛,2021 年起在 GPT-3 推動下成為主流。
  4. 規模大了以後的任務泛化:湧現出上下文學習,不微調也能做多種任務。

書的措辭多是「可能」,這是歷史歸因,不是嚴格實驗比較。

5. 序列很長、Transformer 太貴時:非 Transformer 架構

Transformer 的注意力計算量隨序列長度平方成長。書介紹的替代方案都把計算壓到跟長度成線性:

架構訓練推論書的評價
SSM(S4 等)用卷積形式平行訓練用遞迴形式,對長度線性參數少、長序列快
RWKV可平行每步計算與記憶體固定擴到 14B,NLP 任務與同規模 Transformer 相當;長距離依賴仍有局限
Mamba計算與記憶體隨長度線性每步常數時間;A100 上吞吐量是同規模 Transformer 的 5 倍3B 勝過兩倍參數的 Transformer,能處理百萬級長度;但上下文超過 16k 後困惑度幾乎不再下降
TTT外層正常預訓練,內層用自監督更新線性用模型參數當隱狀態,書說更能捕捉超長上下文

核心機制:SSM 用狀態方程 x_k = Ā x_{k−1} + B̄ u_k、y_k = C̄ x_k 把歷史壓進固定大小的狀態。正因為狀態大小固定,上下文一長就可能過早飽和。Mamba 讓 B、C、Δ 依輸入內容改變(選擇機制),補強處理文字這類資訊密集資料的能力。

判斷(我的整理):這些架構目前主要是研究與特定長序列場景的選項(基因、音訊、超長文件)。一般產品要處理長文時,先考慮 RAG 切塊或長上下文的 Transformer 模型,生態系成熟得多。

🧪 我實際套用的紀錄

  • (尚無)

⚠️ 注意 / 什麼時候不適用

  • 書寫作截至 2024 年中,非 Transformer 架構的版圖變動很快;書也沒提混合架構(如 Jamba)、RetNet、Hyena。選型前要重新查證。
  • 書中幾處數字前後不一:GPT-2 XL 的注意力頭數正文寫 25、表格寫 36;BART 語料正文寫 160GB、表格寫約 20GB。引用時以原論文為準。
  • 「BERT 類便宜」的前提是有標註資料可以微調;沒有標註資料時,大模型零樣本常常更省事。

🔗 相關工具