Skip to content

Transformer 與注意力機制:大模型的核心引擎

2017 年,Google 在論文《Attention Is All You Need》中提出的 Transformer 架構,徹底改變了自然語言處理的遊戲規則。它拋棄了傳統的循環神經網路(RNN),僅依靠注意力機制就實現了更強的效能和更高的訓練效率。今天,幾乎所有的大語言模型——GPT、BERT、T5、LLaMA——都建立在 Transformer 的基礎之上。

🔄
RNN 的困境
顺序处理,长距离依赖衰减
Transformer 突破
并行计算,全局注意力
🎯
注意力机制
动态关注重要信息
🚀
大模型基石
GPT、BERT 的核心架构

一、RNN 的困境與 Transformer 的突破

在 Transformer 出現之前,處理序列資料(如文字、語音)的主流方法是循環神經網路(RNN)及其變體 LSTM、GRU。這些模型透過循環結構,逐個處理序列中的元素,並維護一個隱藏狀態來記憶歷史資訊。

1.1 RNN 的三大致命缺陷

順序依賴,無法並行:RNN 必須等待前一個時間步的計算完成,才能處理下一個詞。這導致訓練速度極慢,無法充分利用現代 GPU 的並行計算能力。

長距離依賴衰減:即使是改進的 LSTM,在處理長文字時,早期資訊也會逐漸被「遺忘」。比如在一篇 500 字的文章中,模型很難記住開頭提到的關鍵資訊。

梯度消失/爆炸:在反向傳播時,梯度需要沿著時間步逐層傳遞,容易出現梯度消失或爆炸,導致訓練不穩定。

1.2 Transformer 的革命性突破

Transformer 透過自注意力機制(Self-Attention),讓模型能夠「一眼看全」整個序列,直接計算任意兩個位置之間的關係,無需逐步傳遞資訊。

RNN / LSTM
顺序处理:词1 → 词2 → 词3
❌ 长距离依赖衰减
❌ 无法并行训练
Transformer
并行处理:所有词同时计算
✅ 全局注意力
✅ 高效并行

Transformer 的核心優勢

  • 並行計算:所有位置的注意力可以同時計算,訓練速度提升數十倍
  • 全域視野:直接捕獲長距離依賴,不受序列長度限制
  • 可擴展性:架構簡潔統一,易於堆疊更深的網路

二、Transformer 完整架構:從整體到細節

Transformer 的完整架構由編碼器(Encoder)解碼器(Decoder)兩部分組成,分別負責理解輸入和生成輸出。

Encoder(编码器)
× N 层
Multi-Head Self-Attention
捕获输入序列内部依赖
Add & Norm
Feed Forward Network
位置独立的非线性变换
Add & Norm
输入
Token Embedding + Positional Encoding
Decoder(解码器)
输出
Linear + Softmax → 概率分布
× N 层
Masked Self-Attention
只看当前位置之前的词
Add & Norm
Cross-Attention
关注 Encoder 的输出
Add & Norm
Feed Forward Network
位置独立的非线性变换
Add & Norm
输出(移位)
Token Embedding + Positional Encoding

2.1 編碼器(Encoder)

以句子「銀行帳戶裡的餘額不足」為例。當模型處理「餘額」這個詞時,它會自動計算與其他詞的相關性:

  • 「餘額」與「帳戶」高度相關(0.35)
  • 「餘額」與「銀行」中度相關(0.20)
  • 「餘額」與「的」、「裡」等虛詞相關性低(0.05-0.10)

這種相關性不是人工規定的,而是模型透過大量資料自動學習出來的。

自注意力示例:「他」关注「小明」
小明 把 苹果 给了 的 母亲
小明
65%
5%
苹果
10%
给了
10%
5%
3%
母亲
2%
「他」把 65% 注意力投向「小明」,识别代词指代关系

2.2 注意力的計算過程

自注意力機制透過三個關鍵步驟實現:

  1. 生成 Q、K、V 向量:每個詞透過三個不同的線性變換,生成 Query(查詢)、Key(鍵)、Value(值)三個向量
  2. 計算注意力權重:用 Query 與所有 Key 做點積,得到相似度分數
  3. 加權求和:用注意力權重對 Value 向量加權求和,得到最終輸出

三、Query、Key、Value:注意力的三劍客

Transformer 的注意力機制借鑑了資訊檢索的思想,將每個詞對映到三個不同的向量空間。

3.1 三個向量的角色

Query(查詢):代表「我想找什麼」。當前詞的查詢意圖,用於與其他詞的 Key 匹配。

Key(鍵):代表「我是什麼」。每個詞的特徵標識,用於被 Query 檢索。

Value(值):代表「我的內容是什麼」。實際要傳遞的資訊,根據注意力權重被加權求和。

這種設計的巧妙之處在於:相似度計算(Q·K)和資訊傳遞(V)是解耦的。模型可以學習到「哪些詞應該關注」和「關注後應該提取什麼資訊」是兩個獨立的問題。

🔍
Query
我想找什么
🔑
Key
我是什么
💎
Value
我的内容
Attention(Q, K, V) = softmax(QKT / √dk) V

3.2 注意力計算公式

完整的注意力計算公式為:

Attention(Q, K, V) = softmax(QK^T / √d_k) V

其中:

  • QK^T:計算 Query 和 Key 的點積,得到相似度矩陣
  • √d_k:縮放因子,防止點積值過大導致 softmax 梯度消失
  • softmax:將相似度轉換為機率分佈(注意力權重)
  • 最後與 V 相乘:用注意力權重對 Value 加權求和

四、多頭注意力:從多個角度理解語義

單個注意力頭只能捕獲一種類型的依賴關係。為了讓模型從多個角度理解句子,Transformer 引入了多頭注意力(Multi-Head Attention)

4.1 多頭的工作機制

多頭注意力將輸入投影到多個不同的子空間,每個「頭」獨立計算注意力,最後將所有頭的輸出拼接起來。

典型的 Transformer 使用 8 個或 16 個注意力頭,每個頭可能專注於不同的語言現象:

  • 語法頭:識別主謂賓、定狀補等語法關係
  • 語義頭:捕獲詞義相關性(如「銀行」與「帳戶」)
  • 位置頭:關注相鄰詞的局部依賴
  • 指代頭:解析代詞指向(如「他」指向「小明」)
  • 情感頭:識別褒貶色彩和情緒傾向
  • 實體頭:識別人名、地名等命名實體
语法头
主谓宾关系
语义头
词义关联
位置头
距离关系
指代头
代词消解
情感头
情绪倾向
实体头
命名实体
修饰头
定状补
全局头
整体语境
8 个头从不同角度理解语义,最后拼接融合

4.2 多頭的優勢

表達能力更強:不同的頭可以捕獲不同類型的依賴關係,避免單一視角的侷限。

並行計算:多個頭可以同時計算,不增加計算時間。

穩健性更好:即使某些頭學習失敗,其他頭仍能提供有效資訊。

多頭注意力的數學表達

MultiHead(Q, K, V) = Concat(head_1, ..., head_h) W^O
其中 head_i = Attention(QW_i^Q, KW_i^K, VW_i^V)

每個頭有獨立的權重矩陣 W^Q、W^K、W^V,最後透過 W^O 融合所有頭的輸出。


五、Transformer 完整架構:編碼器與解碼器

Transformer 的完整架構由編碼器(Encoder)解碼器(Decoder)兩部分組成,分別負責理解輸入和生成輸出。

5.1 編碼器(Encoder)

編碼器由多層(通常 6-12 層)相同的結構堆疊而成,每層包含兩個子層:

  1. 多頭自注意力層:捕獲輸入序列內部的依賴關係
  2. 前饋神經網路(Feed Forward):對每個位置獨立進行非線性變換

每個子層後面都有殘差連接(Residual Connection)層歸一化(Layer Normalization),確保深層網路的訓練穩定性。

5.2 解碼器(Decoder)

解碼器也由多層堆疊,但每層有三個子層:

  1. 遮罩多頭自注意力(Masked Multi-Head Attention):只能看到目前位置之前的詞,防止「作弊」
  2. 交叉注意力(Cross-Attention):連接編碼器和解碼器,讓解碼器關注輸入序列
  3. 前饋神經網路:與編碼器相同
Encoder(编码器)
× N 层
Multi-Head Self-Attention
捕获输入序列内部依赖
Add & Norm
Feed Forward Network
位置独立的非线性变换
Add & Norm
输入
Token Embedding + Positional Encoding
Decoder(解码器)
输出
Linear + Softmax → 概率分布
× N 层
Masked Self-Attention
只看当前位置之前的词
Add & Norm
Cross-Attention
关注 Encoder 的输出
Add & Norm
Feed Forward Network
位置独立的非线性变换
Add & Norm
输出(移位)
Token Embedding + Positional Encoding

5.3 現代變體:僅編碼器 vs 僅解碼器

雖然原始 Transformer 包含編碼器和解碼器,但現代大模型通常只使用其中一種:

架構類型代表模型適用任務
僅編碼器BERT、RoBERTa文字分類、命名實體識別、問答
僅解碼器GPT、LLaMA、Claude文字生成、對話、程式碼補全
編碼器-解碼器T5、BART翻譯、摘要、文字改寫

GPT 為什麼只用解碼器?

GPT 系列模型採用自迴歸生成方式,逐個預測下一個詞。僅解碼器架構天然適合這種生成任務,且結構更簡潔,易於擴展到千億參數規模。


六、位置編碼:告訴模型詞的順序

Transformer 的自注意力機制本身是位置無關的——它把句子看作一個詞的集合,而不關心詞的順序。但詞序對語義至關重要:「我愛你」和「你愛我」意思完全不同!

6.1 位置編碼的必要性

為了讓模型感知位置資訊,Transformer 在輸入嵌入中加入位置編碼(Positional Encoding)。位置編碼是一個與詞嵌入維度相同的向量,直接加到詞嵌入上。

问题:词序很重要
我爱你你爱我
解决:位置编码
Token Embedding + Positional Encoding
正弦余弦(Transformer 原始)
可学习(BERT、GPT)
旋转编码 RoPE(LLaMA)

6.2 正弦餘弦位置編碼

原始 Transformer 使用固定的正弦餘弦函數生成位置編碼:

PE(pos, 2i) = sin(pos / 10000^(2i/d))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d))

這種設計的優點:

  • 唯一性:每個位置有唯一的編碼
  • 相對位置:模型可以學習到相對距離關係
  • 外推性:可以處理比訓練時更長的序列

6.3 現代位置編碼方案

隨著研究深入,出現了更多位置編碼方案:

可學習位置編碼:BERT、GPT 將位置編碼作為可訓練參數,而非固定函數。

相對位置編碼:T5、DeBERTa 不編碼絕對位置,而是編碼詞之間的相對距離。

旋轉位置編碼(RoPE):LLaMA、GPT-NeoX 使用的方案,透過旋轉 Q 和 K 向量注入位置資訊,外推效能更好。

ALiBi:透過在注意力分數上加偏置項實現位置感知,無需額外參數。


七、Transformer 的影響與未來

Transformer 的出現,不僅僅是一個新架構的誕生,更是整個 AI 研究範式的轉變。

7.1 統一的預訓練範式

Transformer 讓「預訓練 + 微調」成為 NLP 的標準流程。透過在海量無標註文字上預訓練,模型學會了語言的通用表示,然後只需少量標註資料就能適應各種下游任務。

7.2 跨模態的通用架構

Transformer 的成功不侷限於文字。它已經被成功應用到:

  • 電腦視覺:Vision Transformer (ViT) 在影像分類上超越 CNN
  • 語音辨識:Whisper 使用 Transformer 實現多語言語音轉文字
  • 蛋白質結構預測:AlphaFold 2 用 Transformer 預測蛋白質 3D 結構
  • 強化學習:Decision Transformer 將 RL 問題轉化為序列建模

7.3 大模型時代的基石

從 GPT-3 的 1750 億參數,到 GPT-4 的萬億參數,Transformer 展現出驚人的可擴展性。它的並行計算特性,讓我們能夠訓練前所未有的巨型模型,並觀察到湧現能力(Emergent Abilities)——當模型足夠大時,自動「悟」出推理、程式碼、多語言等能力。

7.4 未來的挑戰與方向

儘管 Transformer 取得了巨大成功,但仍面臨挑戰:

計算複雜度:自注意力的複雜度是 O(n²),處理長文字時計算量巨大。

長文字建模:雖然理論上可以處理任意長度,但實際受限於記憶體和計算資源。

可解釋性:注意力權重雖然提供了一定的可解釋性,但深層網路的決策過程仍是黑盒。

目前的研究方向包括:

  • 高效率 Transformer:Linformer、Performer、Flash Attention 等降低複雜度
  • 長上下文建模:Sparse Attention、Sliding Window、Memory 機制
  • 多模態融合:統一處理文字、影像、音訊的原生多模態架構

八、總結

Transformer 和注意力機制的提出,標誌著深度學習從「手工設計特徵」到「端到端學習」的徹底轉變。它不僅解決了 RNN 的技術瓶頸,更重要的是提供了一個簡潔、通用、可擴展的架構,成為大模型時代的基石。

理解 Transformer,就是理解現代 AI 的核心。從 BERT 的雙向編碼,到 GPT 的自迴歸生成,再到多模態大模型的統一表示,所有這些突破都建立在 Transformer 的肩膀上。

未來,隨著算力的提升和演算法的最佳化,Transformer 還將繼續演化,推動 AI 向更強大、更通用的方向發展。