大語言模型(LLM)按架構分類的深度解析
1. 僅編碼器架構(Encoder-Only)
原理
- 雙向注意力機制:通過Transformer編碼器同時捕捉上下文所有位置的依賴關系
# 偽代碼示例:BERT的MLM任務 masked_input = "The [MASK] sat on the mat" output = encoder(masked_input) # 預測[MASK]="cat"
- 預訓練任務:
- 掩碼語言建模(MLM):隨機遮蓋15%的單詞進行預測
- 下一句預測(NSP):判斷兩個句子是否連續(后續模型如RoBERTa已移除)
使用場景
- 理解型任務:
- 文本分類(如情感分析)
- 命名實體識別(NER)
- 抽取式問答(如SQuAD)
- 典型應用:
- Google搜索的BERT集成
- 金融文檔實體抽取
代表模型
- BERT:首個大規模Encoder-Only預訓練模型
- RoBERTa:優化訓練策略(移除NSP,更大batch size)
- ALBERT:參數共享技術減少內存占用
2. 僅解碼器架構(Decoder-Only)
原理
- 自回歸生成:從左到右逐token預測,依賴前文上下文
# GPT生成示例(偽代碼) input = "The cat sat" for _ in range(max_len):next_token = decoder(input)[-1] # 預測下一個tokeninput += next_token
- 注意力機制:因果掩碼(Causal Mask)確保不泄露未來信息
使用場景
- 生成型任務:
- 開放域對話(如ChatGPT)
- 創意寫作(故事/詩歌生成)
- 代碼補全(如GitHub Copilot)
- 典型應用:
- OpenAI的ChatGPT系列
- Meta的Llama開源模型
代表模型
- GPT系列:從GPT-1到GPT-4的演進
- Llama 2:開源可商用的Decoder-Only模型
- PaLM:Google的大規模純解碼器模型
3. 編碼器-解碼器架構(Encoder-Decoder)
原理
- 兩階段處理:
- 編碼器壓縮輸入為上下文表示
- 解碼器基于該表示自回歸生成輸出
# T5翻譯示例(偽代碼) encoder_output = encoder("Hello world") # 編碼 translation = decoder(encoder_output, start_token="<translate>") # 生成"你好世界"
- 注意力橋接:交叉注意力(Cross-Attention)連接編碼器與解碼器
使用場景
- 序列到序列任務:
- 機器翻譯(如英譯中)
- 文本摘要(如新聞簡報生成)
- 語義解析(自然語言轉SQL)
- 典型應用:
- Google的T5文本到文本統一框架
- 客服系統的多輪對話管理
代表模型
- T5:將所有任務統一為text-to-text格式
- BART:去噪自編碼預訓練,擅長生成任務
- Flan-T5:指令微調增強的多任務版本
架構對比圖譜
技術指標對比
架構類型 | 參數量典型值 | 訓練目標 | 硬件需求(訓練) |
---|---|---|---|
Encoder-Only | 110M-340M | MLM | 8-16 GPUs |
Decoder-Only | 7B-70B | 下一個詞預測 | 數百-數千GPUs |
Encoder-Decoder | 3B-11B | 去噪自編碼 | 32-256 GPUs |
選型建議
-
選擇Encoder-Only當:
- 需要高精度文本理解(如法律合同分析)
- 硬件資源有限(可選用ALBERT等輕量版)
-
選擇Decoder-Only當:
- 需求開放域生成能力(如營銷文案創作)
- 追求零樣本/小樣本學習(如GPT-3風格應用)
-
選擇Encoder-Decoder當:
- 處理輸入輸出長度差異大的任務(如長文檔摘要)
- 需要嚴格的結構化輸出(如自然語言轉代碼)
注:當前趨勢顯示Decoder-Only架構(如GPT-4、Llama 2)通過指令微調也能實現部分理解任務能力,但專業場景仍推薦專用架構。