大語言模型訓練中的自監督學習和其他訓練方式。
自監督學習(Self-Supervised Learning)
1. 什么是自監督學習?
自監督學習是一種不需要人工標注數據的訓練方式,模型從數據本身學習特征和模式。
在語言模型中的具體實現:
# 示例:掩碼語言模型(Masked Language Model, MLM)
原始文本: "北京是中國的首都"
↓
訓練輸入: "北京是[MASK]的首都"
訓練目標: 預測 [MASK] = "中國"# 示例:自回歸語言模型(Autoregressive LM)
原始文本: "今天天氣很好"
↓
訓練輸入: "今天" → 預測: "天氣"
訓練輸入: "今天天氣" → 預測: "很"
訓練輸入: "今天天氣很" → 預測: "好"
2. 主要的自監督學習方式
a) 自回歸預訓練(GPT系列)
# Next Token Prediction
# 給定前文,預測下一個詞
輸入: "The capital of China is"
目標: "Beijing"# 這是目前最主流的方式!
b) 掩碼語言建模(BERT系列)
# Masked Language Modeling
# 隨機遮蓋部分詞,預測被遮蓋的詞
輸入: "The [MASK] of China is [MASK]"
目標: [MASK1] = "capital", [MASK2] = "Beijing"
c) 去噪自編碼(T5系列)
# Denoising Autoencoding
# 對文本添加噪聲,然后恢復原文
原始: "北京是中國的首都"
加噪: "北京[X]中國[Y]首都"
目標: 還原成原始文本
其他訓練方式對比
1. 監督學習(Supervised Learning)
需要人工標注的數據:
# 情感分析任務
輸入: "這部電影太棒了!"
標簽: "正面" # 人工標注# 問答任務
問題: "中國的首都是哪里?"
答案: "北京" # 人工標注
缺點:
- 標注成本高
- 數據量有限
- 難以擴展到大規模
2. 強化學習(Reinforcement Learning)
通過獎勵信號學習:
# RLHF (Reinforcement Learning from Human Feedback)
模型輸出: "這是一個很好的回答..."
人類反饋: 👍 (獎勵) 或 👎 (懲罰)
模型調整: 根據反饋優化
3. 半監督學習(Semi-Supervised Learning)
結合少量標注數據和大量無標注數據:
# 先自監督預訓練
大量無標注文本 → 預訓練模型# 再監督微調
少量標注數據 → 微調模型
目前主流的訓練范式
現代大模型訓練的標準流程:
具體實現:
1. 預訓練階段(自監督)
# 使用數萬億 tokens 的文本
# 目標:Next Token Prediction
model = GPT(config)
for batch in massive_text_data:loss = model.compute_loss(batch) # 預測下一個詞optimizer.step()
2. 指令微調階段(監督)
# 使用高質量的問答對
instruction_data = [{"instruction": "解釋什么是機器學習", "response": "機器學習是..."},{"instruction": "寫一首關于春天的詩", "response": "春風送暖..."}
]
3. 偏好對齊階段(強化學習)
# 使用人類偏好數據
preference_data = [{"prompt": "如何學習編程?","chosen": "循序漸進的好答案...","rejected": "敷衍的差答案..."}
]
為什么自監督學習是基礎?
1. 數據規模優勢
監督學習:需要人工標注 → 最多百萬級樣本
自監督學習:自動從文本學習 → 可達萬億級 tokens
2. 成本效益
- 無需人工標注
- 可以利用互聯網上所有文本
- 訓練數據幾乎無限
3. 通用性強
- 學到通用的語言理解能力
- 可遷移到各種下游任務
實際案例
GPT-3 訓練數據規模:
- Common Crawl: 410B tokens (60%)
- WebText2: 19B tokens (22%)
- Books: 12B tokens (8%)
- Wikipedia: 3B tokens (3%)
總計: 約 500B tokens
LLaMA-2 訓練過程:
1. 預訓練: 2萬億 tokens,自監督學習
2. SFT: 約10萬條高質量指令
3. RLHF: 約100萬條人類偏好比較
總結
- 自監督學習是基座模型訓練的核心,因為它能利用海量無標注數據
- 目前主流是三階段訓練:
- 自監督預訓練(基礎能力)
- 監督微調(任務能力)
- 強化學習對齊(符合人類偏好)
- 未來趨勢:
- 更大規模的自監督預訓練
- 更高質量的監督數據
- 更高效的對齊方法(如 DPO)
這種組合訓練方式讓模型既有廣泛的知識基礎,又能很好地完成特定任務!