Agentic Research

Transformer(模型架構)

又稱:Transformer 架構 · 注意力機制 · attention · self-attention · 自注意力

一種以「注意力」為核心的神經網路架構,2017 年問世;現今幾乎所有 LLM 都建立在它上面。

你會在什麼時候遇到它

讀任何模型介紹,第一段幾乎都會出現「基於 Transformer 架構」。你不需要會推公式,但需要知道注意力在做什麼、以及它為什麼贏過舊架構 —— 否則後面解釋 prefill 與 decode、KV 快取、長上下文為什麼又貴又慢的這一整串內容,對你都是天書。

打個比方

在它之前的遞迴網路像傳話遊戲:訊息一個位置一個位置往後傳,越遠越失真,而且沒辦法同時處理。Transformer 像圓桌會議:任何兩個詞都能直接對上話,所有詞同時開議 —— 又快,又不怕距離遠。

最小範例

句子:「那隻貓沒有跳上桌子,因為牠太累了。」

問題:「牠」指的是誰?

注意力機制:處理「牠」這個 token 時,模型對句子裡每個詞
各算一個注意力權重 ——「貓」拿到很高的權重,「桌子」很低。
「牠」的內部表示因此被「貓」的資訊大幅改寫。

這樣的注意力層堆疊很多層,每一層學不同的關注模式。

重點是「每個 token 都能直接看到所有其他 token」,而且這件事對整段文字一次算完。這個可平行化的性質,就是 Transformer 取代遞迴架構、讓模型能靠堆硬體做大的根本原因。

Transformer 一層內部:注意力是怎麼算出來的流程圖:四個 token(我、喜歡、讀、書)先各自變成 embedding 向量,再投影成 Q、K、V 三組向量。每個 token 的 Q 與其他所有 token 的 K 做點積,得到一張 n×n 的原始分數表;除以 √d_k 縮放後過 softmax,變成每列加總為 1 的注意力權重;再用這些權重對 V 做加權加總。之後接殘差相加與 LayerNorm、前饋網路、再一次殘差與 LayerNorm,得到這一層的輸出。因為每個 token 都對所有 token 算分數,矩陣是 n×n,所以序列長度加倍會讓計算量變四倍。圖中權重為示意值。注意力計算(這一層的核心)我喜歡讀書每個 token → 一個 embedding 向量Q查詢K鍵V值同一組向量,三個不同的投影我喜歡讀書我喜歡讀書6111252111351243這個矩陣是整張圖的重點:每個 token 對所有 token各算一個分數→ 這就是「自」注意力權重 × V → 加權加總一層的其餘部分殘差相加 + LayerNorm把原輸入加回來前饋網路 FFN逐 token 各自處理殘差相加 + LayerNorm這一層的輸出這樣的層堆疊很多層上一層的輸出=下一層的輸入矩陣是 n×n:序列長度加倍,計算量變四倍這就是長上下文昂貴的根本原因
1/9輸入:四個 token
模型看到的不是字,是 token。這裡用一個四 token 的句子當例子。
第 1 步,共 9 步 輸入:四個 token

最常搞錯的地方

  • 以為注意力等於「理解」。注意力算的是訓練學出來的相關性權重,不是寫死的語法規則 —— 它多數時候抓對重點,但沒有任何保證,這也是模型會一本正經出錯的底層機制之一。
  • 以為注意力很便宜。每個 token 要對序列裡所有 token 算權重,成本隨長度快速上升 —— 這是上下文越長越貴、越慢的底層原因。

相關詞條

下一步