大語言模型:原理與工程實踐

楊青

買這商品的人也買了...

相關主題

商品描述

本書用10章對大語言模型進行全面且深入的介紹。首先對大語言模型的基本概念進行介紹。其次,從大語言模型的基礎技術、預訓練數據構建、預訓練技術等方面展開討論,幫助讀者深入瞭解大語言模型的構建和訓練過程。然後,詳細介紹有監督微調和強化對齊等技術,以及如何評估大語言模型的性能。此外,介紹提示工程和工程實踐等方面的內容,幫助讀者瞭解大語言模型的應用和實際操作過程。最後,介紹如何從零開始微調大語言模型,輔以代碼示例,幫助讀者更好地應用這些技術。通過閱讀本書,讀者可以獲得全面且深入的大語言模型的知識框架。

目錄大綱

目 錄
1 解鎖大語言模型1
1.1 什麽是大語言模型·1
1.2 語言模型的發展·2
1.3 GPT 系列模型的發展·3
1.4 大語言模型的關鍵技術·4
1.5 大語言模型的涌現能力·5
1.6 大語言模型的推理能力·5
1.7 大語言模型的縮放定律·6
參考文獻·7
2 大語言模型基礎技術·8
2.1 語言表示介紹·8
2.1.1 詞表示技術·8
2.1.2 分詞技術·9
2.2 經典結構 Transformer·14
2.2.1 輸入模塊·15
2.2.2 多頭自註意力模塊·16
2.2.3 殘差連接與層歸一化·19
2.2.4 前饋神經網絡·19
2.2.5 解碼器·19
2.3 預訓練語言模型·21
2.3.1 Decoder 的代表:GPT 系列·21
2.3.2 Encoder 的代表:BERT·23
2.4 初探大語言模型·24
2.4.1 InstructGPT·24
2.4.2 LLaMA 系列·28
參考文獻·30
3 預訓練數據構建·32
3.1 數據的常見類別及其來源·32
3.1.1 網頁數據·33
3.1.2 書籍數據·34
3.1.3 百科數據·34
3.1.4 代碼數據·34
3.1.5 其他數據·36
3.2 數據的預處理方式·36
3.2.1 正文提取·37
3.2.2 質量過濾·37
3.2.3 文檔去重·38
3.2.4 數據集凈化·39
3.3 常用數據集的完整構建方式 ·40
3.3.1 C4·40
3.3.2 MassiveText·40
3.3.3 RefinedWeb·41
3.3.4 ROOTS·42
3.4 難點和挑戰·43
3.4.1 數據收集的局限性·43
3.4.2 數據質量評估的挑戰·43
3.4.3 自動生成數據的風險·44
參考文獻·44
4 大語言模型預訓練·46
4.1 大語言模型為什麽這麽強·46
4.2 大語言模型的核心模塊·49
4.2.1 核心架構·49
4.2.2 組成模塊選型·51
4.3 大語言模型怎麽訓練·60
4.3.1 訓練目標·60
4.3.2 數據配比·62
4.4 預訓練還有什麽沒有解決·65
參考文獻·66
5 挖掘大語言模型潛能:有監督微調·67
5.1 揭開有監督微調的面紗·67
5.1.1 什麽是有監督微調·67
5.1.2 有監督微調的作用與意義·68
5.1.3 有監督微調的應用場景·68
5.2 有監督微調數據的構建·69
5.2.1 有監督微調數據的格式·69
5.2.2 有監督微調數據的自動化構建·70
5.2.3 有監督微調數據的選擇·75
5.3 大語言模型的微調方法·76
5.3.1 全參數微調·76
5.3.2 適配器微調·76
5.3.3 前綴微調·77
5.3.4 提示微調·78
5.3.5 低秩適配·79
5.4 大語言模型的微調和推理策略·79
5.4.1 混合微調策略·80
5.4.2 基於上下文學習的推理策略·81
5.4.3 基於思維鏈的推理策略·82
5.5 大語言模型微調的挑戰和探索·83
5.5.1 大語言模型微調的幻覺問題·83
5.5.2 大語言模型微調面臨的挑戰·84
5.5.3 大語言模型微調的探索與展望 ·84
參考文獻·85
6 大語言模型強化對齊·87
6.1 強化學習基礎 ·87
6.1.1 強化學習的基本概念·87
6.1.2 強化學習中的隨機性·88
6.1.3 強化學習的目標·89
6.1.4 Q 函數與 V 函數·89
6.2 DQN 方法·91
6.2.1 DQN 的結構·91
6.2.2 DQN 訓練:基本思想·92
6.2.3 DQN 訓練:目標網絡·94
6.2.4 DQN 訓練:探索策略·94
6.2.5 DQN 訓練:經驗回放·95
6.2.6 DQN 訓練:完整算法·95
6.2.7 DQN 決策·96
6.3 策略梯度方法·96
6.3.1 策略網絡的結構·96
6.3.2 策略網絡訓練:策略梯度·97
6.3.3 策略網絡訓練:優勢函數·99
6.3.4 PPO 算法·100
6.4 揭秘大語言模型中的強化建模·101
6.4.1 Token-level 強化建模·101
6.4.2 Sentence-level 強化建模·102
6.5 獎勵模型·103
6.5.1 獎勵模型的結構·103
6.5.2 獎勵模型的訓練·104
6.5.3 獎勵模型損失函數分析·106
6.6 RLHF·108
6.6.1 即時獎勵·108
6.6.2 RLHF 算法·109
6.7 RLHF 實戰框架·111
6.8 RLHF 的難點和問題·111
6.8.1 數據瓶頸·112
6.8.2 硬件瓶頸·113
6.8.3 方法瓶頸·114
參考文獻·115
7 大語言模型的評測·117
7.1 基座語言模型的評測·117
7.1.1 主要的評測維度和基準概述·118
7.1.2 具體案例:LLaMA 2 選取的評測基準·118
7.2 大語言模型的對話能力評測·120
7.2.1 評測任務·120
7.2.2 評測集的構建標準·131
7.2.3 評測方式·132
7.3 大語言模型的安全性評測·132
7.3.1 評測任務·133
7.3.2 評測方式和標準·134
7.4 行業大語言模型的評測:以金融行業大語言模型為例·134
7.4.1 金融行業大語言模型的自動化評測集·135
7.4.2 金融行業大語言模型的人工評測集·136
7.5 整體能力的評測·137
7.6 主流評測數據集及基準·138
參考文獻·142
8 大語言模型的應用·143
8.1 大語言模型為什麽需要提示工程·143
8.1.1 人類和大語言模型進行復雜決策的對比·144
8.1.2 提示工程的作用·144
8.2 什麽是提示詞·145
8.2.1 提示詞的基礎要素·146
8.2.2 提示詞設計的通用原則·146
8.3 推理引導·147
8.3.1 零樣本提示·147
8.3.2 少樣本提示·148
8.3.3 思維鏈提示·149
8.3.4 自我一致性提示·150
8.3.5 思維樹提示·151
8.4 動態交互·155
8.4.1 檢索增強生成技術·155
8.4.2 推理和行動協同技術·159
8.5 案例分析·161
8.5.1 案例介紹·161
8.5.2 工具設計·161
8.5.3 提示詞設計·165
8.5.4 案例運行·167
8.6 局限和發展·172
8.6.1 目前的局限·172
8.6.2 未來的發展·173
參考文獻·173
9 工程實踐·175
9.1 大語言模型訓練面臨的挑戰·175
9.2 大語言模型訓練綜述·176
9.2.1 數據並行·176
9.2.2 模型並行·179
9.2.3 ZeRO 並行·181
9.3 大語言模型訓練技術選型技巧·184
9.4 大語言模型訓練優化秘籍·186
9.4.1 I/O 優化·186
9.4.2 通信優化·187
9.4.3 穩定性優化·190
9.5 大語言模型訓練工程實踐·190
9.5.1 DeepSpeed 架構·191
9.5.2 DeepSpeed 訓練詳解·191
9.5.3 DeepSpeed 訓練調優實踐·194
9.6 強化學習工程實踐·196
9.6.1 DeepSpeed-Chat 混合引擎架構·196
9.6.2 DeepSpeed-Chat 訓練詳解·197
9.6.3 DeepSpeed-Chat 訓練調優實踐·199
9.7 大語言模型推理工程·201
9.7.1 提升規模:模型量·202
9.7.2 提高並行度:張量並行·205
9.7.3 推理加速:算子優化·207
9.7.4 降低計算量:KV-Cache·208
9.7.5 推理工程綜合實踐·210
參考文獻·212
10 手把手教你訓練 7B 大語言模型·214
10.1 自動化訓練框架·214
10.1.1 自動化訓練框架介紹·214
10.1.2 主要模塊介紹·215
10.2 動手訓練 7B 大語言模型·237
10.2.1 語料預處理·238
10.2.2 預訓練實踐·240
10.2.3 指令微調實踐·245
10.3 小結·247