簡介
如果 BERT 從兩個方向「讀取」文本,GPT 從左到右「寫入」文本 — 自回歸生成。 GPT 是 ChatGPT、Claude、Gemini 的基礎——正在改變世界的法學碩士。
1. GPT 架構:僅解碼器
Input: "Once upon a time"
│ │ │ │
▼ ▼ ▼ ▼
┌──────────────────────────┐
│ Transformer Decoder │
│ (Causal Self-Attention)│
│ Chỉ nhìn bên trái! │
└──────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
"upon" "a" "time" ","
因果語言建模
$$P(x_1, x_2, ..., x_n) = \prod_{i=1}^{n} P(x_i | x_1, ..., x_{i-1})$$
該模型根據所有先前的令牌預測下一個令牌(不展望未來)。
2.演化:GPT-1 → GPT-4
| 型號 | 年份 | 參數 | 訓練資料 | 突破 |
|---|---|---|---|---|
| GPT-1 | 2018 | 117M | 圖書語料庫 | 生成式預訓練工作 |
| GPT-2 | 2019 | 2019 1.5B | 1.5B網路文字 (40GB) | 「釋放太危險」 |
| GPT-3 | 2020 | 175B | 175B 570GB 文字 | 情境學習,少量鏡頭 |
| GPT-4 | 2023 | ~1.8T(傳聞) | 網路規模 | 多模態、推理 |
| GPT-4o | 2024 | 2024未公開 | + 圖片、音訊 | 本地多式聯運 |
3. 解碼策略
溫度、Top-k、Top-p
from transformers import GPT2LMHeadModel, GPT2Tokenizer
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")
input_text = "Artificial intelligence will"
input_ids = tokenizer.encode(input_text, return_tensors="pt")
# Greedy (deterministic, boring)
greedy = model.generate(input_ids, max_length=50, do_sample=False)
# Temperature sampling (creativity control)
creative = model.generate(
input_ids, max_length=50,
do_sample=True,
temperature=0.8, # < 1: focused, > 1: creative
top_k=50, # Chỉ xét 50 tokens có probability cao nhất
top_p=0.9, # Nucleus sampling: 90% probability mass
)
print(tokenizer.decode(creative[0]))
| 參數 | 低 | 曹 |
|---|---|---|
| 溫度 | 精準、可重複 | 創意、隨性 |
| 熱門 | 選擇少,安全 | 多種選擇 |
| 頂p | 絕對關注代幣 | 考慮更多代幣 |
4.情境學習(ICL)
GPT-3發現:不需要微調,只要在提示中放一個例子!
prompt = """
Classify the sentiment:
Text: "This movie is amazing!" → Positive
Text: "Terrible experience" → Negative
Text: "The food was okay" → Neutral
Text: "I absolutely love this product!" →"""
# GPT sẽ trả lời: "Positive"
# Không cần fine-tune! Chỉ cần prompt engineering.
| 範式 | 範例 | 微調? |
|---|---|---|
| 零射擊 | 沒有例子 | 沒有 |
| 一擊 | 1 個例子 | 沒有 |
| 少射 | 3-10 例 | 沒有 |
| 微調 | 數以千計的例子 | 是的 |
5.BERT vs GPT vs T5
| 特點 | BERT(編碼器) | GPT(解碼器) | T5(Enc-Dec) |
|---|---|---|---|
| 方向 | 雙向 | 由左至右 | 兩者 |
| 預訓練 | 傳銷+NSP | 因果LM | 去雜訊 |
| 適合 | 分類、NER、QA | 世代,聊天 | 一切(文字到文字) |
| 例 | 羅伯特·福伯特 | GPT-4,駱駝 | T5、mT5、ViT5 |
總結
| 概念 | 詳情 |
|---|---|
| GPT | 僅解碼器、因果 LM、自回歸 |
| 縮放定律 | 更大的模型+更多的數據=更好的性能 |
| 解碼 | 溫度、top-k、top-p 控制輸出多樣性 |
| ICL | 無需微調的少樣本學習 |
| BERT 與 GPT | 理解 (BERT) 與生成 (GPT) |
下一篇文章
第 12 課:Hugging Face 生態系統 — 使用最常用的庫練習現代 NLP:Transformers、Datasets、Tokenizers。