大模型核心技術與開發實踐:基於Transformer、PyTorch及Hugging Face
淩峰
- 出版商: 清華大學
- 出版日期: 2025-06-01
- 售價: $594
- 語言: 簡體中文
- ISBN: 7302691401
- ISBN-13: 9787302691402
-
相關分類:
LangChain、DeepLearning
下單後立即進貨 (約4週~6週)
相關主題
商品描述
"《大模型核心技術與開發實踐:基於Transformer、PyTorch及Hugging Face》系統地介紹大語言模型(LLM)的理論基礎、實現方法及在多種場景中的應用實踐。共分為12章,第1~3章介紹Transformer模型的基本架構與核心概念,包括編解碼器的結構、自註意力機制、多頭註意力的設計和工作原理;第4~6章結合實際案例,講解如何利用PyTorch和Hugging Face庫構建、訓練和微調LLM;第7~9章介紹生成模型的推理和優化技術,包括量化、剪技、多GPU並行處理、混合精度訓練等,以提高模型在大規模數據集上的訓練和推理效率;第10、11章通過實例講解Transformer在實際NLP任務中的應用以及模型可解釋性技術;第12章通過一個企業級文本分析平臺項目的搭建,介紹從數據預處理、文本生成、高級分析到容器化與雲端部署的完整流程,並提供了代碼示例、模塊化測試和性能評估方法,幫助讀者實際構建滿足企業需求的智能應用系統。 《大模型核心技術與開發實踐:基於Transformer、PyTorch及Hugging Face》覆蓋了當前廣泛關註的LLM技術熱點,並提供了豐富的實例代碼,適合大模型開發人員、大模型應用工程師、算法工程師以及計算機專業的學生,亦可作為高校人工智能課程的相關教學用書。"
目錄大綱
目 錄
第 1 章 Transformer與PyTorch的集成應用概述 1
1.1 大模型與Transformer的技術背景 1
1.1.1 自註意力機制的原理與實現細節 2
1.1.2 多層堆疊與殘差連接:Transformer的高效信息流 4
1.2 PyTorch的應用場景與技術特點 7
1.2.1 動態圖計算與自動微分機制 7
1.2.2 GPU加速與多設備支持 8
1.3 快速上手:使用PyTorch實現一個簡單的Transformer模型 12
1.3.1 Transformer編碼器的基礎實現與訓練流程 13
1.3.2 解碼器與完整Transformer模型的拼接與測試 16
1.4 本章小結 21
1.5 思考題 21
第 2 章 Transformer編碼器與解碼器的原理與實現 22
2.1 Transformer編碼器與解碼器結構分析 22
2.1.1 位置編碼的設計與實現 23
2.1.2 多頭註意力與前饋層的層次關系 28
2.2 基於PyTorch實現編碼器-解碼器架構 31
2.2.1 多頭註意力模塊的獨立實現與測試 32
2.2.2 殘差連接與層歸一化的模塊化實現 34
2.3 Transformer的編碼解碼過程 36
2.3.1 編碼器多層堆疊與信息流動的實現 36
2.3.2 解碼器自回歸生成過程的實現與可視化 39
2.3.3 基於文本的Transformer實例:逐步打印編碼解碼過程 42
2.4 編碼器和解碼器的雙向訓練流程 45
2.4.1 編碼器與解碼器的聯合訓練策略 45
2.4.2 掩碼機制在雙向訓練中的應用 49
2.5 本章小結 52
2.6 思考題 53
第 3 章 註意力機制與多頭註意力的實現 54
3.1 註意力機制的基礎與實現原理 54
3.1.1 點積註意力與縮放機制 55
3.1.2 註意力權重的歸一化與Softmax函數應用 57
3.2 多頭註意力的設計與實現細節 60
3.2.1 多頭分組與並行計算策略 60
3.2.2 多頭註意力的拼接與線性變換 62
3.3 使用PyTorch實現多頭註意力並進行可視化 64
3.3.1 註意力矩陣的生成與可視化 64
3.3.2 不同頭註意力分布的可視化分析 67
3.4 多頭註意力權重的提取與應用 70
3.4.1 多頭註意力權重提取與解讀:理解模型的關註點 70
3.4.2 多頭註意力權重的優化與調控 72
3.5 本章小結 75
3.6 思考題 76
第 4 章 Hugging Face Transformers庫的應用 77
4.1 Transformer模型的加載與配置 77
4.1.1 預訓練模型的加載與管理 78
4.1.2 模型配置自定義與參數調整 79
4.2 使用Hugging Face庫進行模型訓練與推理 83
4.2.1 模型訓練數據的預處理與標註 83
4.2.2 訓練過程中的參數優化與監控 86
4.3 Hugging Face生態系統的其他工具介紹 88
4.3.1 Tokenizer的自定義與高效分詞方法 88
4.3.2 Dataset和Pipeline工具的集成應用 91
4.4 自定義Hugging Face的模型訓練流程 93
4.4.1 自定義訓練循環與評估指標 93
4.4.2 遷移學習與微調:從預訓練到特定任務 96
4.5 本章小結 99
4.6 思考題 100
第 5 章 數據預處理與文本分詞技術 101
5.1 文本數據的清洗與標準化 101
5.1.1 特殊字符和標點的處理 102
5.1.2 停用詞去除與大小寫規範化 105
5.2 分詞方法及其在不同模型中的應用 106
5.2.1 詞級分詞與子詞分詞 107
5.2.2 BPE與WordPiece分詞算法的實現原理 109
5.3 使用PyTorch和Hugging Face進行分詞與詞嵌入 112
5.3.1 基於Hugging Face Tokenizer的高效分詞 112
5.3.2 Embedding層的定義與詞嵌入矩陣的初始化 115
5.4 動態分詞與序列截斷技術 117
5.4.1 處理變長文本輸入 117
5.4.2 長序列的截斷與填充 119
5.4.3 綜合案例:文本清洗、分詞、詞嵌入與動態填充 122
5.5 本章小結 125
5.6 思考題 125
第 6 章 模型微調與遷移學習 127
6.1 微調與遷移學習的基本概念與方法 127
6.1.1 遷移學習的體系結構:模型的選擇與適配 128
6.1.2 全參數微調與部分參數微調的優缺點 131
6.2 使用預訓練模型進行領域微調 133
6.2.1 領域特定數據的預處理與加載 133
6.2.2 調節學習率與損失函數 135
6.3 微調策略與優化技巧:凍結層、增量訓練等 137
6.3.1 凍結模型層的選擇與解凍 137
6.3.2 增量訓練中的數據選擇與樣本權重分配 139
6.4 增量學習:如何在新數據上繼續微調 142
6.4.1 基於新數據的微調策略:避免災難性遺忘 143
6.4.2 使用正則化與約束技術保持原模型性能 146
6.4.3 綜合案例:增量學習中的微調策略與優化 149
6.5 本章小結 152
6.6 思考題 153
第 7 章 文本生成與推理技術 154
7.1 文本生成方法概述:Beam Search、Top-K與Top-P采樣 154
7.1.1 Beam Search的多路徑生成與評估 155
7.1.2 Top-K采樣的限制與稀疏性控制 156
7.1.3 Top-P采樣的自適應概率截斷機制 158
7.2 文本生成模型的應用實例 160
7.2.1 使用預訓練語言模型生成長篇文本 160
7.2.2 生成多輪對話的上下文保持與管理 163
7.2.3 引導生成特定情緒的文本 166
7.3 生成模型的實現與優化 168
7.3.1 使用PyTorch和Transformers庫實現生成模型 168
7.3.2 生成模型的批量處理與並行加速 171
7.3.3 生成結果的後處理與數據清洗 173
7.4 控制生成式模型輸出的技術手段 176
7.4.1 溫度調控參數的設置與生成調節 176
7.4.2 限制生成輸出的內容 179
7.4.3 生成限制:控制模型輸出的重復與一致性 181
7.5 句子長度與風格調控 184
7.5.1 強制生成短句或長句 184
7.5.2 生成特定語法與風格的文本 187
7.5.3 語言風格遷移與自定義風格調控 189
7.6 本章小結 192
7.7 思考題 192
第 8 章 模型優化與量化技術 194
8.1 模型優化策略概述:剪枝與蒸餾 194
8.1.1 剪枝策略的類型與應用場景 194
8.1.2 蒸餾模型的設計與小模型訓練技巧 197
8.2 模型量化方法在推理中的加速效果 200
8.2.1 靜態量化與動態量化 200
8.2.2 量化感知訓練 203
8.3 基於PyTorch的模型優化與性能測試 206
8.3.1 TorchScript在優化模型中的應用 207
8.3.2 使用PyTorch Profiler進行性能分析 209
8.4 混合精度訓練與內存優化 212
8.4.1 使用AMP進行混合精度訓練 212
8.4.2 Gradient Checkpointing的內存管理 214
8.5 本章小結 218
8.6 思考題 218
第 9 章 分布式訓練與多GPU並行處理 220
9.1 分布式訓練的基本原理與架構 220
9.1.1 數據並行與模型並行的架構 221
9.1.2 分布式訓練:參數服務器與All-Reduce 223
9.2 多GPU並行處理的實現與代碼示例 225
9.2.1 單機多卡的實現與管理 226
9.2.2 跨機器多GPU的分布式訓練配置 229
9.3 梯度累積與分布式同步優化 231
9.3.1 梯度累積應用場景與實現 231
9.3.2 分布式訓練中的梯度同步與參數更新 234
9.4 本章小結 237
9.5 思考題 237
第 10 章 NLP任務實例:分類、問答與命名實體識別 239
10.1 文本分類任務實現與優化技巧 239
10.1.1 數據預處理與標簽平衡技術 240
10.1.2 超參數調優與模型性能提升 242
10.2 問答系統的實現流程與代碼演示 243
10.2.1 預訓練語言模型在問答任務中的應用 244
10.2.2 答案抽取與評分機制 247
10.2.3 多輪問答中的上下文跟蹤與信息保持 249
10.2.4 知識圖譜增強 251
10.3 基於Transformer的序列標註任務實現 254
10.3.1 命名實體識別的標註 254
10.3.2 序列標註模型 260
10.3.3 綜合案例:基於BERT的命名實體識別與上下文追蹤的多輪對話系統 263
10.4 本章小結 268
10.5 思考題 269
第 11 章 深度學習模型的可解釋性 270
11.1 使用SHAP和LIME進行特征重要性分析 270
11.1.1 SHAP在深度模型中的應用與特征影響力排序 271
11.1.2 LIME在不同輸入類型下的局部解釋 273
11.2 註意力權重提取與層次分析 274
11.2.1 逐層提取多頭註意力權重 275
11.2.2 跨層註意力權重變化 276
11.2.3 綜合案例:基於Transformer的文本分類模型的多層次可解釋性分析 278
11.3 本章小結 281
11.4 思考題 281
第 12 章 構建智能文本分析平臺 283
12.1 項目概述與模塊劃分 283
12.1.1 項目概述 283
12.1.2 模塊劃分 284
12.2 模塊化開發與測試 285
12.2.1 數據收集與預處理 285
12.2.2 文本生成與內容生成 288
12.2.3 高級文本分析 292
12.2.4 模型優化與推理性能提升 296
12.2.5 多GPU與分布式訓練 299
12.2.6 可解釋性分析與模型可控性 303
12.2.7 單元測試 305
12.2.8 集成測試 310
12.3 平臺容器化部署與雲端部署 313
12.3.1 使用Docker進行容器化部署 313
12.3.2 使用Kubernetes實現雲端可擴展性和高可用性 315
12.4 本章小結 319
12.5 思考題 319