大語言模型:訓練、精調與對齊

鄧杭、楊耀東

  • 大語言模型:訓練、精調與對齊-preview-1
  • 大語言模型:訓練、精調與對齊-preview-2
  • 大語言模型:訓練、精調與對齊-preview-3
大語言模型:訓練、精調與對齊-preview-1

相關主題

商品描述

本書系統講解LLMs的算法原理和代碼實現,復雜算法配套公式和代碼調試結果,直觀理解算法實現細節。為精簡篇幅主講以Decode架構技術路線的大模型實現方案,基礎內容涵蓋Word2Vec、Transformer、GPT、LLaMA、LoRA、Self-Instruct等topic,進階內容包含RL、RLHF、LLM推理加速、LLM訓練技巧。特色如下: 主要內容:系統講解大語言模型發展脈絡,給出現代大語言模型的技術路線,包含算法基礎、預訓練、微調、RLHF對齊等核心技術,同時闡述大語言模型涉及的工程問題如大語言模型的訓練和推理。除此之外會總結學科主要發展方向。 技術深度:該書為保證能深入算法原理,會講解核心算法的公式推導,並給出對應的簡易pytorch代碼實現,避免存在理論與實現理解偏差,便於從業人員能從底層優化大語言模型技術。 大模型對齊:本書除了講解核心大語言模型架構,著重講解大語言模型對齊技術,從強化學習理論入手,講解大語言模型下的SFT、Reward Model和PPO算法實現,使得模型不僅能對齊人類偏好也能保證大語言模型應用的安全性。

作者簡介

鄧杭,北京大學人工智能研究院科研助理,研究興趣包括大語言模型安全對齊、RLHF和紅隊等,在互聯網上發表多篇大模型相關技術文章,深入算法底層原理和源碼實現,廣受好評;同時開展線上大模型課堂,學員來自海內外名校和知名科技公司(Google/Amazon/阿裏/...)從業人員。此前在無人機公司任職資深算法工程師和無人駕駛技術團隊負責人,具有7年的一線工程研發經驗。

目錄大綱

目錄

第1 章大語言模型綜述................. 1

1.1 大語言模型介紹..................... 1

1.1.1 大語言模型定義........... 1

1.1.2 大語言模型歷史........... 1

1.2 大語言模型特點..................... 4

1.2.1 縮放定律................... 4

1.2.2 湧現能力................... 6

1.2.3 苦澀的教訓................ 7

1.3 大語言模型研究現狀............... 7

1.3.1 大語言模型建模........... 7

1.3.2 大語言模型架構........... 9

1.3.3 大語言模型技術路線..... 10

1.3.4 大語言模型訓練數據..... 12

1.4 自然語言數據處理.................. 14

1.4.1 文本處理流程............. 14

1.4.2 分詞器...................... 14

1.4.3 詞嵌入向量................ 15

1.4.4 Word2Vec .................. 17

1.4.5 詞嵌入層................... 18

小結.......................................... 19

第2 章Transformer 模型............. 20

2.1 Transformer ......................... 20

2.2 註意力機制.......................... 20

2.2.1 序列表征................... 20

2.2.2 註意力概念................ 21

2.2.3 註意力分數................ 22

2.3 Transformer 模型結構............. 24

2.3.1 機器翻譯數據............. 24

2.3.2 Transformer 模型架構和訓練目標................ 24

2.3.3 Transformer 輸入層...... 26

2.3.4 Transformer 編碼器...... 29

2.3.5 Transformer 解碼器...... 37

2.3.6 Transformer 輸出層...... 40

2.4 Transformer 訓練和推理.......... 40

2.4.1 Transformer 訓練......... 41

2.4.2 Transformer 推理......... 42

2.5 Transformer 關鍵代碼實踐....... 42

2.5.1 縮放點積註意力........... 42

2.5.2 多頭註意力機制........... 43

小結.......................................... 44

附錄:Transformer 位置編碼必要性* ................................ 44

第3 章GPT .............................. 46

3.1 GPT 模型介紹....................... 46

3.1.1 GPT 模型發展歷史....... 46

3.1.2 GPT 模型關鍵改進....... 48

3.1.3 GPT 預訓練建模.......... 50

3.2 GPT 網絡結構....................... 51

3.2.1 輸入層...................... 53

3.2.2 解碼器...................... 53

3.2.3 輸出層...................... 57

3.3 BPE 編碼............................. 57

3.3.1 BPE 編碼算法原理....... 58

3.3.2 BPE 詞表訓練............. 58

3.3.3 BPE 編碼................... 59

3.3.4 BPE 解碼................... 60

3.4 GPT 模型生成....................... 60

3.4.1 GPT 模型推理............. 60

3.4.2 GPT 生成方法............. 61

3.4.3 本節小結................... 65

小結.......................................... 65

附錄:語言模型的壓縮理論* ... 66

第4 章Llama ............................ 68

4.1 Llama 模型........................... 68

4.1.1 模型介紹................... 68

4.1.2 Llama 模型預訓練........ 69

4.2 Llama 模型結構..................... 70

4.2.1 Llama 整體結構........... 70

4.2.2 Llama 塊.................... 71

4.2.3 均方根歸一化............. 72

4.2.4 分組查詢註意力機制..... 74

4.2.5 旋轉位置編碼............. 75

4.2.6 SwiGLU .................... 78

4.3 鍵值緩存............................. 79

4.3.1 自回歸模型生成分析..... 79

4.3.2 KV Cache 的實現......... 82

4.3.3 KV Cache 顯存消耗...... 83

4.4 長文本繼續預訓練.................. 84

4.4.1 Llama 3 長文本訓練方案......................... 84

4.4.2 衰減特性分析* ............ 84

4.4.3 旋轉位置編碼分析........ 86

4.4.4 位置編碼內插............. 86

4.4.5 NTK-RoPE ................ 88

4.4.6 長文本能力測評........... 90

小結.......................................... 90

附錄:稀疏混合專家系統* ...... 90

第5 章有監督微調....................... 92

5.1 語言模型微調概覽.................. 92

5.1.1 介紹......................... 92

5.1.2 有監督微調................ 95

5.1.3 提示詞微調................ 96

5.1.4 微調中的災難性遺忘..... 96

5.2 參數高效微調........................ 97

5.2.1 定義......................... 97

5.2.2 參數高效微調方法........ 97

5.3 LoRA 算法原理..................... 100

5.3.1 LoRA 定義................. 100

5.3.2 LoRA 分析................. 101

5.3.3 LoRA 微調參數量對比.. 103

5.3.4 性能分析................... 103

5.4 QLoRA ............................... 104

5.5 微調方法對比........................ 104

小結.......................................... 105

第6 章提示詞工程和LLM 應用...... 106

6.1 提示詞工程.......................... 106

6.1.1 概述......................... 106

6.1.2 上下文學習................ 107

6.1.3 提示詞工程常用術語定義......................... 108

6.1.4 效果......................... 109

6.2 思維鏈................................ 109

6.2.1 推理問題................... 109

6.2.2 思維鏈...................... 110

6.2.3 CoT 的性能表現.......... 111

6.3 CoT 擴展方案....................... 112

6.3.1 自一致性................... 112

6.3.2 Auto-CoT .................. 113

6.3.3 思維樹...................... 113

6.3.4 其他方法................... 116

6.4 檢索增強生成........................ 116

6.4.1 檢索增強生成流程........ 116

6.4.2 自反思檢索增強生成..... 117

6.4.3 嵌入模型原理............. 118

6.5 智能體................................ 118

6.5.1 智能體介紹................ 118

6.5.2 ReAct ....................... 119

6.5.3 AI 智能體:深度研究.... 120

6.6 自指令數據合成..................... 121

6.6.1 指令跟隨能力............. 121

6.6.2 自指令數據流程........... 122

6.6.3 數據標註................... 124

6.7 評估................................... 125

6.7.1 模型評估................... 125

6.7.2 基準測評................... 125

6.7.3 勝率測評................... 126

6.7.4 競技場排位................ 126

6.7.5 基準測評方法............. 127

小結.......................................... 128

附錄:In-Context learning理論* ................................ 128

第7 章強化學習.......................... 133

7.1 強化學習概述........................ 133

7.1.1 強化學習介紹............. 133

7.1.2 馬爾可夫決策過程........ 134

7.1.3 強化學習關鍵概念........ 135

7.1.4 策略和價值函數........... 137

7.1.5 貝爾曼方程................ 138

7.2 強化學習方法........................ 140

7.3 動態規劃............................. 141

7.4 蒙特卡洛方法........................ 143

7.4.1 蒙特卡洛價值評估........ 143

7.4.2 試探性出發蒙特卡洛控制......................... 144

7.4.3 非試探性出發蒙特卡洛控制......................... 144

7.5 時序差分學習........................ 145

7.5.1 時序差分策略評估........ 145

7.5.2 SARSA:時序差分控制......................... 145

7.5.3 Q 學習:離軌策略的時序差分控制................ 146

7.5.4 期望SARSA:基於期望值的時序差分控制....... 147

7.5.5 深度Q 網絡:DQN ....... 147

7.5.6 多步時序差分............. 149

7.5.7 基於價值函數的強化學習方法總結................ 150

7.6 策略梯度方法........................ 151

7.6.1 策略梯度定理............. 151

7.6.2 策略梯度證明* ............ 152

7.6.3 REINFORCE 策略梯度......................... 153

7.6.4 離軌策略梯度............. 154

7.7 演員-評論家......................... 155

7.7.1 演員-評論家算法.......... 155

7.7.2 信賴域策略優化........... 156

7.7.3 近端策略優化............. 157

7.7.4 策略梯度類方法小結..... 159

7.8 大語言模型的MDP 描述.......... 159

小結.......................................... 159

第8 章基於強化學習的大語言模型訓練............................... 160

8.1 大語言模型後訓練與對齊......... 160

8.2 人工智能系統對齊定義............ 161

8.2.1 對齊的目標:RICE原則......................... 162

8.2.2 對齊循環................... 162

8.3 基於人類反饋的強化學習......... 164

8.3.1 RLHF 介紹................. 164

8.3.2 RLHF 訓練................. 164

8.3.3 RLHF 數據收集........... 165

8.3.4 模型訓練................... 166

8.3.5 RLHF 強化學習實現細節......................... 168

8.3.6 RLHF 算法分析........... 173

8.3.7 RLHF 小結................. 174

8.4 直接偏好優化........................ 174

8.4.1 偏好模型................... 175

8.4.2 DPO 問題定義............ 176

8.4.3 DPO 推導.................. 176

8.4.4 DPO 分析.................. 177

8.5 大語言模型推理強化學習......... 180

8.5.1 推理模型概覽............. 180

8.5.2 推理強化學習方法........ 181

8.5.3 基於強化學習的語言模型智能體................... 185

小結.......................................... 186

第9 章大語言模型的訓練.............. 187

9.1 大語言模型訓練..................... 187

9.1.1 介紹......................... 187

9.1.2 分布式訓練框架........... 188

9.1.3 訓練目標................... 188

9.1.4 設備邏輯架構............. 189

9.1.5 分布式通信操作........... 189

9.2 混合並行策略........................ 191

9.2.1 數據並行................... 193

9.2.2 張量並行................... 196

9.2.3 流水線並行................ 200

9.2.4 上下文並行................ 202

9.2.5 本節小結................... 204

9.3 分布式訓練系統:DeepSpeed .... 204

小結.......................................... 208

附錄A:專家並行* ............... 209

附錄B:訓練-推理解耦架構* ..................... 209

第10 章高效大語言模型............... 211

10.1 LLM 推理特點分析............... 211

10.1.1 LLM 推理介紹........... 211

10.1.2 推理步驟.................. 211

10.1.3 章節安排.................. 212

10.2 Flash Attention ................... 212

10.2.1 Online Softmax .......... 214

10.2.2 Flash Attention ......... 219

10.2.3 Flash Attention反向* ...................... 224

10.2.4 Flash Attention-V2 ..... 227

10.2.5 Flash Attention-V2反向* ...................... 228

10.3 vLLM 推理服務................... 229

10.3.1 推理服務問題............ 230

10.3.2 分頁註意力機制......... 232

10.3.3 連續批處理............... 233

10.3.4 解碼策略.................. 233

10.4 量化壓縮部署...................... 234

10.4.1 SmoothQuant ............ 234

10.4.2 AWQ ....................... 235

10.5 投機解碼............................ 236

10.5.1 塊解碼..................... 236

10.5.2 投機解碼.................. 238

小結.......................................... 239

參考文獻...................................... 240