💡一句話定義
GPT 是單向(自回歸)的解碼器,靠預測下一個字、擅長生成;BERT 是雙向的編碼器,能同時看左右文脈、擅長理解(分類、抽取)。兩者都建立在 Transformer 上,只是用了它的不同部分與不同訓練目標。
🎮互動:點一個字,看它能看到誰
切換 BERT / GPT,點句子裡任一個字:BERT 連到左右所有字(全知);GPT 只連到前面的字(禁止偷看右邊)。下方是該位置的預測機率。
BERT vs GPT 全句動態互動演示
模型對該位置的預測機率 (Top 5)
BERT 模式
請點擊上方的任意單字。
BERT 會嘗試利用「前後文」來填補該位置。
GPT 則只能利用「前面的字」來預測該位置。
BERT 會嘗試利用「前後文」來填補該位置。
GPT 則只能利用「前面的字」來預測該位置。
👀雙向 vs 單向
⚖️BERT vs GPT 對照表
| 面向 | BERT | GPT |
|---|---|---|
| 用 Transformer 的 | Encoder(編碼器) | Decoder(解碼器) |
| 方向 | 雙向(看左右) | 單向(只看前面,Masked) |
| 訓練目標 | MLM 克漏字+下一句預測 | 預測下一個 token(語言模型) |
| 擅長 | 理解:分類、情感、NER、問答抽取 | 生成:對話、寫作、補全 |
🎯兩種訓練目標
🕳️BERT:MLM 克漏字
把句中部分字遮住([MASK]),用左右上下文猜回來;另加「下一句預測」。
把句中部分字遮住([MASK]),用左右上下文猜回來;另加「下一句預測」。
➡️GPT:預測下一字
由左到右,用前面的字預測下一個 token(自回歸語言模型)。
由左到右,用前面的字預測下一個 token(自回歸語言模型)。
🚫為什麼 BERT 不能直接寫文章?
BERT 是雙向編碼、設計來「理解」而非「逐字生成」,它沒有自回歸的生成機制——每個位置都同時看左右,無法像 GPT 那樣一個一個往下接。要生成,就得改架構或直接用解碼器模型。所以現代大型生成模型幾乎都走 GPT(解碼器)路線。
🏗️共同點:預訓練 + 微調
兩者都採預訓練 → 微調範式:先在海量無標註語料上預訓練學通用語言能力(BERT 用 MLM、GPT 用下一字預測),再用少量標註資料微調到特定任務。這是 NLP 的主流做法,也讓一個大模型能服務很多下游任務。
✅自我檢測
Q1. BERT 和 GPT 最根本的差別?
BERT 是雙向編碼器(Encoder)、擅長理解;GPT 是單向自回歸解碼器(Decoder)、擅長生成。兩者都基於 Transformer,用了它的不同部分。
Q2. 兩者的訓練目標各是什麼?
BERT 用遮罩語言模型(MLM,克漏字)+下一句預測,雙向看上下文;GPT 用預測下一個 token(自回歸語言模型),由左到右。
Q3. 各自適合什麼任務?
BERT 適合理解類:分類、情感分析、命名實體、問答抽取;GPT 適合生成類:對話、寫作、補全。現代大型生成模型多走 GPT 路線。
Q4. 為什麼 BERT 不能像 GPT 那樣生成文章?
BERT 是雙向編碼、設計來理解,沒有自回歸的逐字生成機制(每個位置都看左右)。要生成需改架構或用解碼器模型。
🎯重點整理
- 同源:都基於 Transformer。
- BERT:Encoder、雙向、MLM、擅理解。
- GPT:Decoder、單向自回歸、預測下一字、擅生成。
- 選型:理解任務選 BERT 類、生成任務選 GPT 類。
- 共同:預訓練 + 微調範式。