快速回答:Transformer 是什麼?

Transformer 是一種神經網路架構,2017 年由 Google 團隊在論文《Attention Is All You Need》中提出。它用「注意力機制」(Attention Mechanism)取代了之前處理語言時常用的循環(RNN)和卷積(CNN)架構,讓 AI 可以同時看一整段文字的所有位置,而不用像 RNN 那樣一個字一個字讀過去。

幾乎所有你現在用到的 AI 語言模型——GPT-4、Claude、Gemini、Llama——底層都是 Transformer 架構或它的變體。可以說 Transformer 是 2020 年代 AI 爆發的基礎建築。

Transformer 的正式定義

Transformer 是一種基於自注意力機制(Self-Attention)的序列到序列(Sequence-to-Sequence)模型架構。它由 Encoder(編碼器)和 Decoder(解碼器)兩部分組成,透過 Multi-Head Attention 讓模型在處理每個位置的資訊時,可以同時關注序列中所有其他位置的資訊,不受距離限制。

論文標題「Attention Is All You Need」直接點出重點:不需要卷積,不需要遞迴,只要注意力機制就夠了。

白話解釋

想像你在讀一篇長文章。RNN 的讀法像是拿一根手指從第一個字開始,一個字一個字往後指,讀到最後才回頭想之前的內容——如果文章很長,前面的內容可能已經記不太清楚了。

Transformer 的讀法則像是把整篇文章攤開在桌上,你可以同時看到每個段落,並且快速判斷「哪些段落跟當前這句話有關」。比如文章第一段提到「小明買了一隻狗」,第十段說「牠喜歡吃骨頭」,Transformer 可以立刻把「牠」和「狗」連結起來,不需要從第一段重新讀到第十段。

這種「同時看全文」的能力就是 Self-Attention 的本質。

為什麼 Transformer 很重要?

在 Transformer 出現之前,處理語言的主流架構是 RNN 和 LSTM。這些架構有兩個根本問題。

第一個問題是速度慢。RNN 必須按照順序處理文字,前一個字處理完才能處理下一個字。這意味著一段 1000 個字的文字需要循序執行 1000 步,無法利用 GPU 的平行運算能力。

第二個問題是長距離遺忘。RNN 處理到第 500 個字時,前面第 10 個字的資訊已經衰減到幾乎消失。LSTM 改善了這個問題,但在非常長的文字上仍然力不從心。

Transformer 同時解決了這兩個問題。因為 Self-Attention 是對所有位置同時運算,所以可以平行處理,速度快很多。而且每個位置都直接和所有其他位置計算注意力,不會因為距離遠就遺忘。

核心原理:Self-Attention(自注意力機制)

Self-Attention 的核心概念可以用三個向量來理解:Query(查詢)、Key(鍵)、Value(值)。

把它想像成圖書館的搜尋系統。你想找一本關於「台灣的 AI 政策」的書。你的搜尋關鍵字就是 Query。每本書的標籤是 Key。書的內容是 Value。搜尋系統會把你的 Query 和每本書的 Key 比對,找出最相關的幾本書(高注意力分數),然後把這些書的 Value(內容)加權混合,作為搜尋結果給你。

在 Transformer 中,每個字同時擁有 Query、Key、Value 三個向量。處理「牠喜歡吃骨頭」這句話時,「牠」的 Query 會和文中所有字的 Key 比對。如果「狗」這個字的 Key 和「牠」的 Query 很匹配,注意力分數就會很高,模型就會把「狗」的 Value 資訊融入到「牠」的理解中。

Multi-Head Attention(多頭注意力)

Multi-Head Attention 是讓這個過程同時跑多次,每次用不同的「搜尋角度」。一個 Head 可能關注語法關係(主詞和動詞),另一個 Head 可能關注語意關係(代名詞和它指代的名詞),第三個 Head 可能關注位置關係(相鄰的字)。多個 Head 的結果合併起來,模型就能同時理解多個層面的關係。

實際的計算公式是 Attention(Q,K,V) = softmax(QK^T / sqrt(d_k)) V。其中 QK^T 計算每對字之間的相關分數,除以 sqrt(d_k) 做縮放防止數值太大,softmax 把分數轉成機率分佈(加起來為 1),最後乘上 V 得到加權結果。

架構解析:Encoder-Decoder

原始的 Transformer 由 Encoder 和 Decoder 兩部分組成。

Encoder 負責「理解輸入」。它讀入一段文字,透過多層 Self-Attention 和 Feed-Forward Network(前饋網路),把每個字轉換成一個包含上下文資訊的向量。經過 6 層 Encoder(原始論文的設定)後,每個字的向量不再只代表它自己,而是融合了整段文字的上下文資訊。

Decoder 負責「產生輸出」。它一個字一個字地產生結果,每產生一個字時,會同時看兩個來源的資訊:一是 Encoder 產生的輸入理解(Cross-Attention),二是自己目前已經產生的文字(Masked Self-Attention,遮罩是為了防止看到未來的字)。

Positional Encoding(位置編碼)是另一個重要元件。因為 Self-Attention 同時看所有位置,它本身不知道字的順序。「狗咬人」和「人咬狗」在沒有位置資訊的情況下是一樣的。所以 Transformer 在輸入時加上位置編碼,告訴模型每個字的位置。

主要 Transformer 變體

不同的 AI 模型使用 Transformer 架構的不同部分。

變體 結構 代表模型 擅長的任務
Encoder-only 只用 Encoder BERT、RoBERTa 文字分類、語意理解、搜尋排序
Decoder-only 只用 Decoder GPT-4、Claude、Llama 文字生成、對話、程式碼撰寫
Encoder-Decoder 兩者都用 T5、BART 翻譯、摘要、格式轉換
Vision Transformer Encoder + 影像 ViT、DINO 影像辨識、物件偵測

BERT 只用 Encoder(擅長理解文字,用於搜尋、分類),它是雙向的,可以同時看到前後文。GPT 只用 Decoder(擅長產生文字,用於對話、寫作),它是單向的,只能看到前面已經產生的字。T5 和原始翻譯模型使用完整的 Encoder-Decoder,擅長轉換任務,如翻譯、摘要。

Transformer vs CNN vs RNN

特性 Transformer CNN RNN/LSTM
平行運算 可以 可以 不行(循序)
長距離依賴 直接計算 需要很多層 容易遺忘
運算複雜度 O(n²d) O(knd) O(nd²)
適合的任務 語言、視覺、音訊 影像、局部特徵 時序資料
代表模型 GPT, BERT, Claude ResNet, VGG LSTM, GRU
資料需求 大量 中等 中等

值得注意的是,Transformer 的 O(n²) 複雜度在處理非常長的序列時會變成瓶頸。這也是為什麼 Context Window 的大小是 AI 模型的重要規格之一。128K tokens 的 context window 意味著 Attention 矩陣有 128K × 128K 的大小。不同的模型用不同的方法處理這個問題,包括稀疏注意力(Sparse Attention)、滑動視窗注意力(Sliding Window Attention)、和群組查詢注意力(Grouped Query Attention)。

Transformer 的後續發展

2017 年之後,Transformer 的應用遠超過原始論文預期的機器翻譯場景。

在語言領域:GPT 系列證明了只用 Decoder 的 Transformer 加上大量資料,就能產生高品質的文字。BERT 證明了只用 Encoder 的 Transformer 在理解任務上表現很強。

在視覺領域:Vision Transformer(ViT,2020 年)把圖片切成小方塊(Patches),當作序列輸入 Transformer,在影像分類上達到和 CNN 相當甚至更好的效果。

在多模態領域:GPT-4V、Gemini、Claude 把文字和影像一起處理,底層仍然是 Transformer 架構,只是輸入的表示方式不同。

在音訊領域:Whisper(OpenAI 的語音辨識模型)使用 Encoder-Decoder Transformer 把語音轉成文字。

在效率優化方面:Flash Attention 透過重新安排記憶體存取模式,讓 Attention 計算在 GPU 上快了 2-4 倍。KV Cache 讓 Decoder 在生成文字時不用重複計算已經算過的 Key 和 Value。量化技術讓大型模型可以在消費級 GPU 上運行。

安全與限制

Transformer 架構本身的限制包括幾個面向。

Context Window 大小的限制,超過視窗的內容模型看不到。雖然現在有些模型的 Context Window 已經到 128K 甚至更長,但在非常長的文本中,模型對中間段落的注意力會比開頭和結尾弱(Lost in the Middle 現象)。

計算成本高,特別是長序列的 Attention 計算。處理 128K tokens 的成本遠高於 4K tokens,這也是為什麼 API 按 token 數量計費。

需要大量訓練資料才能學到好的表示。小型 Transformer 在資料量不足時,效果可能還不如傳統方法。

從安全角度看,理解 Transformer 的運作原理有助於理解幾個常見的 AI 安全問題。Prompt Injection 之所以有效,是因為攻擊者的文字會和所有其他位置計算 Attention,影響模型的注意力分佈。模型會產生幻覺,部分原因是 Decoder 的自回歸生成過程中,一旦某個 token 的機率分佈偏離了事實,後續的 token 會基於這個偏離繼續生成,錯誤會累積。

常見問題

Transformer 和 GPT 的關係是什麼?

GPT(Generative Pre-trained Transformer)是基於 Transformer Decoder 部分建造的語言模型。可以想成 Transformer 是建築的結構工法,GPT 是用這個工法蓋出來的特定建築。所有的 GPT 都是 Transformer,但 Transformer 還被用來蓋很多其他「建築」(BERT、Claude、Gemini 等)。

為什麼 Transformer 這麼成功?

三個因素的結合:Self-Attention 機制讓模型能捕捉長距離依賴、平行運算讓訓練速度大幅提升、以及 Scaling Law(模型越大、資料越多、效果越好)被驗證有效。後面這點特別重要——RNN 和 CNN 在規模擴大後效果提升有限,但 Transformer 的效果隨規模增長而持續提升。

Self-Attention 的 O(n²) 是什麼意思?

n 是序列長度(例如 token 數量)。O(n²) 意味著序列長度翻倍,計算量會變成 4 倍。如果序列從 1000 tokens 增加到 10000 tokens,計算量增加 100 倍。這就是為什麼 Context Window 的擴大(從 4K 到 128K 到 1M)需要架構上的創新,而不僅僅是加更多 GPU。

不懂數學也能理解 Transformer 嗎?

可以理解核心概念:每個字看看其他字有多相關,根據相關程度來理解整句話。實際的矩陣運算和反向傳播需要線性代數和微積分,但如果你的目標是「理解 AI 為什麼這樣回答」而非「自己訓練模型」,直覺式的理解就夠用了。

未來會有取代 Transformer 的架構嗎?

目前有幾個候選架構在研究中,包括 Mamba(基於 State Space Model,線性複雜度)和 RWKV(結合 RNN 和 Transformer 的優點)。它們在某些場景下表現和 Transformer 接近,且在長序列上更有效率。但截至 2026 年,Transformer 仍然是主流,主要因為它的生態系(訓練框架、推論優化、硬體支援)最成熟。

ChatGPT 用的是 Transformer 嗎?

是。GPT 這個名字裡的 T 就是 Transformer。ChatGPT 是基於 GPT 系列模型(Decoder-only Transformer)加上 RLHF(從人類回饋中強化學習)做出來的。Claude、Gemini 等大型語言模型也都基於 Transformer 架構。

Transformer 只能處理文字嗎?

不是。Vision Transformer(ViT)處理圖片,Whisper 處理語音,2026 年的多模態模型同時處理文字、圖片、音訊和影片。Transformer 的核心是「序列處理」,只要資料能被表示成序列,就可以用 Transformer 處理。

參考資料