大語言模型(Large Language Model,LLM)是人工智能領(lǐng)域研究和應(yīng)用的前沿焦點,現(xiàn)已成為人工智能發(fā)展的新方向和新一代人工智能的基礎(chǔ)設(shè)施。本書較系統(tǒng)地介紹了語言大模型的基本內(nèi)容,主要包括發(fā)展語言大模型的三次熱潮、深度學(xué)習(xí)基礎(chǔ)、注意力機制、殘差鏈接與逐層歸一化、Transformer模型、預(yù)訓(xùn)練語言模型、LLM結(jié)構(gòu)與訓(xùn)練、遷移學(xué)習(xí)、人類反饋強化學(xué)習(xí)、元學(xué)習(xí)、GPT系列LLM、BERT模型、T5模型、統(tǒng)一語言模型和提示工程等。 本書適合作為本科院校相關(guān)專業(yè)的教材。
陳明,教授。歷任吉林大學(xué)計算機科學(xué)系副教授、教研室主任、副教授;大連理工大學(xué)計算機科學(xué)與工程系系主任、教授;中國石油大學(xué)(北京)計算機科學(xué)與技術(shù)系創(chuàng)始系主任 、教授/博導(dǎo);曾獲德國科學(xué)聯(lián)合會DFG基金赴德國圖賓根大學(xué)計算機學(xué)院學(xué)習(xí)與研究。參加的學(xué)術(shù)組織及任職:中國計算機學(xué)會理事、高級會員、開放系統(tǒng)專委會副主任;中國人工智能學(xué)會理事;智能信息網(wǎng)專委會副主任;《計算機科學(xué)與探索》、《軟件工程》、《計算機教育》編委。個人榮譽:北京市教學(xué)名師,北京市精品課程(數(shù)據(jù)結(jié)構(gòu))負責(zé)人,北京市計算機軟件基礎(chǔ)優(yōu)秀教學(xué)團隊帶頭人。所承擔(dān)過的重點科研或教研項目及在項目中所承擔(dān)的工作:參加并完成國家自然科學(xué)基金、國家863基金等多項科研任務(wù)。出版著作情況:撰寫并出版計算機專著、譯著和教材150余種。主要有《分布計算應(yīng)用模型》(專著),科學(xué)出版社,2009-5;《神經(jīng)網(wǎng)絡(luò)模型》(專著),大連理工大學(xué)出版社,1995-12;《軟件工程實用教程》,電子工業(yè)出版社,2006-1;《Absolute Java》(譯著)電子工業(yè)出版社,2005-6;《多媒體技術(shù)》,電子工業(yè)出版社,2003-6;《大數(shù)據(jù)基礎(chǔ)與應(yīng)用》,北京師范大學(xué)出版社,2016-3;《數(shù)據(jù)科學(xué)與大數(shù)據(jù)導(dǎo)論》,清華大學(xué)出版社,2021-6;《Python語言程序設(shè)計》,清華大學(xué)出版社,2021-12。
目 錄
第1章 大語言模型概述 1
1.1 LLM的產(chǎn)生與發(fā)展 1
1.1.1 LLM的產(chǎn)生 2
1.1.2 LLM的發(fā)展 2
1.2 LLM的特點與分類 4
1.2.1 LLM的特點 4
1.2.2 LLM的分類 5
1.3 自然語言處理與LLM 6
1.3.1 自然語言處理 6
1.3.2 LLM的主要功能 9
1.3.3 LLM擴展法則 10
1.3.4 LLM的涌現(xiàn)現(xiàn)象與涌現(xiàn)能力 12
1.4 LLM技術(shù) 13
1.4.1 LLM基本技術(shù) 13
1.4.2 LLM關(guān)鍵技術(shù) 14
1.4.3 LLM知識體系與人工智能引擎 16
1.4.4 LLM的評價指標 19
1.5 LLM應(yīng)用場景與LLM下游任務(wù) 19
1.5.1 LLM應(yīng)用場景 20
1.5.2 LLM下游任務(wù) 20
1.5.3 LLM應(yīng)用場景與LLM下游任務(wù)的區(qū)別 20
本章小結(jié) 20
第2章 深度學(xué)習(xí)基礎(chǔ) 21
2.1 深度學(xué)習(xí)概述 21
2.1.1 深度學(xué)習(xí)的產(chǎn)生與發(fā)展 21
2.1.2 深度學(xué)習(xí)的內(nèi)涵與外延 22
2.2 機器學(xué)習(xí)方式 24
2.2.1 監(jiān)督式學(xué)習(xí)方式 25
2.2.2 無監(jiān)督式學(xué)習(xí)方式 27
2.2.3 半監(jiān)督式學(xué)習(xí)方式 27
2.2.4 強化學(xué)習(xí)方式 28
2.3 增強泛化能力方法 28
2.3.1 泛化能力與泛化誤差 28
2.3.2 擬合 29
2.3.3 逼近正確擬合的方法 29
2.3.4 超參數(shù)和驗證集 31
2.4 神經(jīng)網(wǎng)絡(luò)模型基礎(chǔ) 33
2.4.1 神經(jīng)網(wǎng)絡(luò)模型及特點 33
2.4.2 學(xué)習(xí)方式與學(xué)習(xí)規(guī)則 39
2.4.3 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)原理 47
2.5 深度學(xué)習(xí) 48
2.5.1 神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí) 48
2.5.2 深度學(xué)習(xí)在LLM中的應(yīng)用 51
2.6 模型評價指標 52
2.6.1 混淆矩陣 52
2.6.2 評價模型的主要參數(shù) 53
本章小結(jié) 55
第3章 注意力機制 56
3.1 編碼器?解碼器架構(gòu) 56
3.1.1 編碼器功能與解碼器功能 57
3.1.2 編碼器?解碼器框架 57
3.1.3 序列到序列模型 61
3.2 注意力機制特點與計算 63
3.2.1 注意力機制特點 63
3.2.2 注意力機制的計算過程 64
3.3 自注意力模型 67
3.3.1 自注意力機制的核心思想 67
3.3.2 自注意力模型計算 67
3.3.3 注意力機制與自注意力機制比較 71
3.3.4 多頭注意力計算 71
3.4 NLP注意力機制 74
3.4.1 軟注意力機制 74
3.4.2 硬注意力機制 75
3.4.3 局部注意力機制 77
3.4.4 點積注意力機制 78
3.4.5 加性注意力機制 79
3.4.6 稀疏注意力機制 80
3.5 注意力機制與編碼器?解碼器結(jié)構(gòu) 81
3.5.1 在編碼器?解碼器中引入注意力機制 81
3.5.2 注意力機制的優(yōu)勢與應(yīng)用場景 82
本章小結(jié) 83
第4章 殘差連接與逐層歸一化 84
4.1 逐層歸一化 84
4.1.1 BN的計算過程與訓(xùn)練 85
4.1.2 BN層的作用 86
4.2 殘差與殘差分析 87
4.2.1 殘差 87
4.2.2 殘差分析 88
4.3 殘差模塊 89
4.3.1 殘差模塊的結(jié)構(gòu) 89
4.3.2 殘差模塊的類型 91
4.3.3 殘差模塊的優(yōu)勢 93
4.4 逐層歸一化與殘差連接在LLM中的應(yīng)用 94
4.4.1 逐層歸一化在LLM中的應(yīng)用 94
4.4.2 殘差連接在LLM中的應(yīng)用 94
本章小結(jié) 95
第5章 Transformer模型 96
5.1 Transformer模型術(shù)語與特點 96
5.1.1 Transformer模型術(shù)語 96
5.1.2 Transformer模型特點 97
5.2 Transformer模型結(jié)構(gòu) 97
5.2.1 Transformer模型架構(gòu) 98
5.2.2 Transformer模型位置向量 98
5.2.3 Transformer模型編碼器 101
5.2.4 Transformer模型解碼器 106
5.2.5 基于Transformer模型的機器翻譯 114
5.3 Transformer模型推理與訓(xùn)練 117
5.3.1 Transformer模型推理 117
5.3.2 Transformer模型訓(xùn)練所涉及的結(jié)構(gòu) 119
5.3.3 Transformer模型訓(xùn)練關(guān)鍵步驟 123
5.3.4 Transformer模型并行訓(xùn)練與測試 124
5.4 Transformer-XL模型 126
5.4.1 長文本問題與解決策略 126
5.4.2 Transformer-XL模型技術(shù) 127
本章小結(jié) 135
第6章 預(yù)訓(xùn)練語言模型 137
6.1 PLM特點、結(jié)構(gòu)與分類 138
6.1.1 PLM特點 138
6.1.2 PLM結(jié)構(gòu) 140
6.1.3 PLM分類 141
6.2 自回歸語言模型 142
6.2.1 自回歸語言模型原理 142
6.2.2 自回歸語言模型結(jié)構(gòu) 143
6.2.3 解碼器自回歸語言模型構(gòu)建過程 144
6.2.4 訓(xùn)練和推理的局限性 145
6.3 自編碼語言模型 145
6.3.1 自編碼語言模型原理 145
6.3.2 自編碼語言模型結(jié)構(gòu) 145
6.3.3 自編碼語言模型訓(xùn)練 146
6.4 編碼器?解碼器預(yù)訓(xùn)練語言模型 146
6.4.1 編碼器?解碼器預(yù)訓(xùn)練語言模型原理 146
6.4.2 編碼器?解碼器預(yù)訓(xùn)練語言模型結(jié)構(gòu) 148
6.5 前綴語言模型 148
6.5.1 前綴語言模型原理 148
6.5.2 前綴語言模型結(jié)構(gòu) 149
6.6 排列語言模型 150
6.6.1 排列語言模型原理 151
6.6.2 排列語言模型結(jié)構(gòu) 151
6.6.3 排列語言模型的特點與應(yīng)用 153
6.6.4 排列語言模型結(jié)構(gòu)比較 153
6.7 PLM訓(xùn)練 153
6.7.1 預(yù)訓(xùn)練過程與作用 154
6.7.2 預(yù)訓(xùn)練策略 156
6.7.3 預(yù)訓(xùn)練與微調(diào)比較 158
6.8 PLM微調(diào) 158
6.8.1 微調(diào)方法分類 158
6.8.2 高效微調(diào) 159
6.8.3 P-Tuning微調(diào) 160
6.8.4 指令微調(diào) 161
6.8.5 LoRA微調(diào) 163
6.8.6 前綴調(diào)優(yōu) 165
6.8.7 Prompt微調(diào) 166
6.8.8 RLHF微調(diào) 170
6.8.9 微調(diào)輸出層 171
6.9 PLM應(yīng)用方法 172
6.9.1 PLM的應(yīng)用過程 172
6.9.2 應(yīng)用于文本生成過程 173
本章小結(jié) 174
第7章 LLM結(jié)構(gòu)與訓(xùn)練 175
7.1 LLM結(jié)構(gòu) 175
7.1.1 LLM架構(gòu) 175
7.1.2 LLM架構(gòu)選擇 177
7.1.3 LLM構(gòu)建 178
7.1.4 LLM評估 179
7.2 LLM結(jié)構(gòu)優(yōu)化 181
7.2.1 LLM優(yōu)化目標 181
7.2.2 LLM優(yōu)化部分介紹 182
7.2.3 LLM數(shù)據(jù)增強 194
7.2.4 LLM分詞器 196
7.2.5 LLM數(shù)據(jù)預(yù)處理 200
7.3 詞向量 203
7.3.1 自然語言表示學(xué)習(xí) 203
7.3.2 Word2Vec模型詞向量 204
7.3.3 靜態(tài)詞向量與動態(tài)詞向量 206
7.4 LLM訓(xùn)練 206
7.4.1 LLM訓(xùn)練的基本策略與方法 206
7.4.2 LLM的分布訓(xùn)練 208
7.4.3 LLM的并行訓(xùn)練 209
7.4.4 LLM的分布式并行訓(xùn)練 210
本章小結(jié) 212
第8章 遷移學(xué)習(xí) 213
8.1 遷移學(xué)習(xí)概述 213
8.1.1 同分布數(shù)據(jù) 213
8.1.2 遷移學(xué)習(xí)原理 214
8.2 遷移學(xué)習(xí)分類與實現(xiàn) 217
8.2.1 遷移學(xué)習(xí)分類準則 217
8.2.2 典型的遷移學(xué)習(xí) 218
8.2.3 遷移學(xué)習(xí)的實現(xiàn) 221
8.3 深度遷移學(xué)習(xí) 222
8.3.1 深度神經(jīng)網(wǎng)絡(luò)的可遷移性 222
8.3.2 深度遷移學(xué)習(xí)的自適應(yīng)方法 226
8.3.3 生成對抗遷移網(wǎng)絡(luò) 229
8.4 遷移學(xué)習(xí)的應(yīng)用場景與方法 231
8.4.1 遷移學(xué)習(xí)的應(yīng)用場景 231
8.4.2 遷移學(xué)習(xí)方法 231
8.4.3 遷移學(xué)習(xí)在LLM中的應(yīng)用 232
本章小結(jié) 234
第9章 人類反饋強化學(xué)習(xí) 235
9.1 強化學(xué)習(xí)原理 236
9.1.1 智能體及其特性 236
9.1.2 強化學(xué)習(xí)模型與工作過程 237
9.1.3 強化學(xué)習(xí)算法分類 240
9.2 SARSA算法 241
9.2.1 SARSA算法基本原理 242
9.2.2 SARSA算法流程 243
9.2.3 SARSA(λ)算法 246
9.3 Q-Learning算法 248
9.3.1 Q-Learning算法基本原理 249
9.3.2 Q-Learning算法流程 250
9.3.3 Q-Learning算法與SARSA算法比較 252
9.4 基于人類反饋強化學(xué)習(xí)的模型與算法 252
9.4.1 人類反饋強化學(xué)習(xí)模型 253
9.4.2 人類反饋強化學(xué)習(xí)算法 253
9.4.3 基于人類反饋強化學(xué)習(xí)算法的LLM預(yù)訓(xùn)練 254
9.4.4 近端策略優(yōu)化算法 257
9.4.5 人類反饋強化學(xué)習(xí)模型的優(yōu)勢與特點 261
本章小結(jié) 264
第10章 元學(xué)習(xí) 265
10.1 元學(xué)習(xí)概述 265
10.1.1 元學(xué)習(xí)的基本原理 265
10.1.2 元學(xué)習(xí)的基本特點 266
10.2 元學(xué)習(xí)基本方法 268
10.2.1 元學(xué)習(xí)的主要工作 268
10.2.2 元學(xué)習(xí)過程 270
10.3 MAML模型 273
10.3.1 MAML模型的相關(guān)概念 273
10.3.2 MAML算法分析 275
10.3.3 MAML算法流程 276
10.4 小樣本學(xué)習(xí) 278
10.4.1 問題的提出與先驗范式的構(gòu)建 278
10.4.2 小樣本學(xué)習(xí)方法 279
10.4.3 小樣本相似度學(xué)習(xí) 282
10.5 元學(xué)習(xí)的應(yīng)用 285
10.5.1 元學(xué)習(xí)在LLM中的主要應(yīng)用場景 285
10.5.2 元學(xué)習(xí)在LLM中的應(yīng)用實例 286
本章小結(jié) 287
第11章 GPT系列LLM 288
11.1 GPT系列模型概述 288
11.1.1 GPT系列模型的特點 289
11.1.2 GPT系列模型的結(jié)構(gòu) 290
11.1.3 GPT系列模型的訓(xùn)練過程 291
11.2 GPT-1模型(2018) 293
11.2.1 GPT-1模型的特點 293
11.2.2 GPT-1模型的結(jié)構(gòu)與訓(xùn)練 294
11.2.3 GPT-1不同下游任務(wù)的輸入轉(zhuǎn)換 298
11.3 GPT-2模型(2019) 298
11.3.1 GPT-2模型的特點 298
11.3.2 GPT-2模型的結(jié)構(gòu) 299
11.3.3 Zero-Shot方法 302
11.4 GPT-3模型(2020) 303
11.4.1 GPT-3模型的特點 303
11.4.2 GPT-3模型的結(jié)構(gòu) 304
11.4.3 GPT-3模型訓(xùn)練核心突破 304
11.5 GPT-3.5模型(2023) 307
11.5.1 GPT-3.5模型的特點 307
11.5.2 GPT-3.5模型的結(jié)構(gòu) 308
11.5.3 GPT-3.5模型訓(xùn)練 309
11.6 ChatGPT模型 311
11.6.1 ChatGPT模型的主要特點 311
11.6.2 ChatGPT模型的訓(xùn)練過程 312
11.7 GPT-4模型 313
11.7.1 GPT-4模型的創(chuàng)新 313
11.7.2 GPT-4模型的應(yīng)用場景展望 314
11.7.3 GPT能力進化路徑 315
本章小結(jié) 316
第12章 BERT模型 317
12.1 BERT模型特點與結(jié)構(gòu) 317
12.1.1 BERT模型的特點 317
12.1.2 BERT模型是語言表示模型 318
12.1.3 BERT模型的上下游任務(wù) 320
12.2 BERT模型結(jié)構(gòu)與目標函數(shù) 321
12.2.1 BERT模型的結(jié)構(gòu) 321
12.2.2 BERT模型目標函數(shù) 323
12.3 BERT模型輸入 325
12.3.1 BERT模型嵌入 325
12.3.2 BERT模型輸入過程 328
12.4 BERT模型預(yù)訓(xùn)練 329
12.4.1 掩碼語言模型任務(wù)訓(xùn)練 329
12.4.2 下一句預(yù)測任務(wù)訓(xùn)練 331
12.5 BERT模型的微調(diào) 332
12.5.1 BERT模型的微調(diào)任務(wù) 332
12.5.2 BERT模型的微調(diào)過程 333
12.6 上下文依賴與詞多義性問題及其解決方法 334
12.6.1 上下文依賴與詞多義性問題 334
12.6.2 BERT模型解決上下文依賴問題 335
12.6.3 BERT模型解決詞多義性問題 336
本章小結(jié) 336
第13章 T5模型 337
13.1 T5模型的特點與功能 337
13.1.1 T5模型的主要特點 338
13.1.2 T5模型的主要功能 338
13.1.3 統(tǒng)一的文本到文本范式 339
13.1.4 T5模型的優(yōu)勢 340
13.2 T5模型理念與結(jié)構(gòu) 341
13.2.1 T5模型的核心理念 341
13.2.2 T5模型的結(jié)構(gòu) 342
13.2.3 T5模型在Transformer模型上的結(jié)構(gòu)改變 344
13.3 T5模型訓(xùn)練 347
13.3.1 T5模型訓(xùn)練特點 347
13.3.2 T5模型訓(xùn)練過程 348
13.3.3 T5模型訓(xùn)練的長文本處理 350
13.3.4 T5模型預(yù)訓(xùn)練 350
13.3.5 T5模型微調(diào) 352
13.3.6 T5模型訓(xùn)練數(shù)據(jù)集 354
13.4 T5模型與GPT模型、BERT模型比較 356
13.4.1 T5模型與GPT模型比較 356
13.4.2 T5模型與BERT模型比較 357
13.5 T5模型應(yīng)用 358
13.5.1 T5模型應(yīng)用領(lǐng)域 358
13.5.2 T5模型應(yīng)用需考慮的因素 359
本章小結(jié) 359
第14章 統(tǒng)一語言模型 360
14.1 UniLM模型概述 360
14.1.1 UniLM模型的特點 360
14.1.2 UniLM模型的功能 361
14.2 UniLM模型結(jié)構(gòu) 363
14.2.1 UniLM模型架構(gòu) 363
14.2.2 UniLM模型結(jié)構(gòu)與創(chuàng)新 364
14.2.3 共享Transformer模型網(wǎng)絡(luò) 365
14.3 掩碼模式技術(shù) 366
14.3.1 掩碼模式技術(shù)關(guān)鍵點 366
14.3.2 UniLM模型掩碼模式實現(xiàn)方式 368
14.3.3 UniLM模型自注意力掩碼 370
14.4 UniLM模型輸入與訓(xùn)練 373
14.4.1 UniLM模型的輸入表示 373
14.4.2 UniLM模型的預(yù)訓(xùn)練目標與任務(wù) 375
14.4.3 UniLM模型微調(diào) 378
14.4.4 UniLM模型的零樣本學(xué)習(xí)能力 379
本章小結(jié) 381
第15章 提示工程 382
15.1 提示工程概述 382
15.1.1 提示詞與提示工程 382
15.1.2 LLM文本生成的解碼策略 384
15.2 提示詞格式 389
15.2.1 提示詞基本格式 389
15.2.2 指令型提示詞格式 390
15.2.3 問題型提示詞格式 390
15.2.4 描述型提示詞格式 390
15.2.5 提示詞增強格式 391
15.2.6 不同任務(wù)的提示詞 395
15.2.7 優(yōu)質(zhì)提示詞 396
15.3 提示工程技術(shù) 397
15.3.1 少樣本提示 398
15.3.2 思維鏈提示 398
15.3.3 自洽性提示 400
15.3.4 提示模板設(shè)計 401
本章小結(jié) 404
參考文獻 406