注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計大語言模型開發(fā):用開源模型開發(fā)本地系統(tǒng)

大語言模型開發(fā):用開源模型開發(fā)本地系統(tǒng)

大語言模型開發(fā):用開源模型開發(fā)本地系統(tǒng)

定 價:¥118.00

作 者: 范煜
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302670513 出版時間: 2024-09-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書旨在幫助讀者理解開源大語言模型的架構(gòu)、訓(xùn)練和推理過程,以及相關(guān)的源代碼。主要研究對象是Meta開源的Llama模型。本書從Python Numpy實現(xiàn)單層感知機和神經(jīng)網(wǎng)絡(luò)開始,逐步講解了如何實現(xiàn)Transformer模型和Llama模型。此外,本書還介紹了增量預(yù)訓(xùn)練模型、監(jiān)督微調(diào)和人類反饋強化學(xué)習(xí)等模型訓(xùn)練過程。對于私有知識的加入,書中重點介紹了監(jiān)督微調(diào),也介紹了RAG中詞向量的計算。本書采用循序漸進的方式,通過功能框圖、代碼分解執(zhí)行、執(zhí)行結(jié)果顯示、背景知識補充等手段幫助讀者理解模型和算法。本書的核心讀者群體定位為大語言模型應(yīng)用的開發(fā)人員,特別適合那些想從計算機視覺轉(zhuǎn)向自然語言處理的人。此外,本書還適合作為大學(xué)本科生及研究生相關(guān)課程的參考教材使用。

作者簡介

  范煜,江蘇南通人,畢業(yè)于南京航空航天大學(xué),研究員級高級工程師,中國商業(yè)聯(lián)合會數(shù)據(jù)分析專業(yè)委員會專家組成員,南通理工學(xué)院教師,上海范思軟件有限公司創(chuàng)始人,中國移動集團、51CTO外聘講師經(jīng)常在全國各地講授大數(shù)據(jù)、數(shù)據(jù)分析人工智能、大語言模型等方面課程。研發(fā)了Fancy Q&A大語言模型應(yīng)用開發(fā)平臺。著有《人工智能與ChatGPT》《數(shù)據(jù)革命:大數(shù)據(jù)價值實現(xiàn)方法、技術(shù)與案例》。兼具人工智能、大數(shù)據(jù)、軟件、工業(yè)控制(嵌入式系統(tǒng)和軟PLC)技術(shù)背景。目前主要從事基于大語言模型的知識庫建設(shè)與知識問答應(yīng)用的研究和開發(fā)。

圖書目錄

第1章 自然語言處理
1.1人工智能的技術(shù)構(gòu)成 002
1.1.1 機器學(xué)習(xí)和深度學(xué)習(xí)的區(qū)別 002
1.1.2 表示學(xué)習(xí)與深度學(xué)習(xí)的關(guān)系 003
1.2自然語言處理的發(fā)展階段 004
1.3規(guī)則驅(qū)動的方法 005
1.4統(tǒng)計方法 005
1.4.1 隱馬爾可夫模型 006
1.4.2 條件隨機場 007
1.5深度學(xué)習(xí)方法 008
1.5.1 Word2Vec詞嵌入 008
1.5.2 循環(huán)神經(jīng)網(wǎng)絡(luò) 009
1.5.3 長短時記憶網(wǎng)絡(luò)模型 009
1.5.4 門控循環(huán)單元模型 010
1.6序列到序列模型 011
1.7注意力機制 011
1.8Transformer模型 012
1.9預(yù)訓(xùn)練模型 012
1.10大語言模型 014
1.10.1 根據(jù)架構(gòu)分類 014
1.10.2 根據(jù)訓(xùn)練方式和預(yù)測方式
     分類 015
第2章 深度學(xué)習(xí)基礎(chǔ)
2.1深度學(xué)習(xí) 017
2.2感知機 017
2.2.1 前饋網(wǎng)絡(luò) 018
2.2.2 權(quán)重更新 019
2.2.3 反向傳播 021
2.3激活函數(shù) 022
2.3.1 常用激活函數(shù) 023
2.3.2 新型激活函數(shù) 024
2.4優(yōu)化函數(shù)(算法) 026
2.4.1 梯度下降法 026
2.4.2 動量優(yōu)化算法 027
2.4.3 AdaGrad優(yōu)化算法 027
2.4.4 RMSProp優(yōu)化算法 028
2.4.5 Adam優(yōu)化算法 029
2.4.6 AdamW優(yōu)化算法 030
2.5權(quán)值初始化 030
2.5.1 批歸一化 031
2.5.2 層歸一化 031
2.5.3 RMSNorm  032
2.6損失函數(shù) 033
2.6.1 均方誤差 034
2.6.2 均方根誤差 034
2.6.3 交叉熵?fù)p失 035
2.7模型評估 036
2.7.1 偏差/方差 036
2.7.2 過擬合與欠擬合 037
2.8正則化 038
2.9SoftMax函數(shù) 039
2.10簡易神經(jīng)網(wǎng)絡(luò)搭建 039
2.11模型優(yōu)化 042
2.11.1 梯度消失 042
2.11.2 梯度爆炸 043
2.11.3 優(yōu)化手段 043
2.11.4 調(diào)參技巧 044
第3章 PyTorch開發(fā)基礎(chǔ)
3.1深度學(xué)習(xí)框架 046
3.2PyTorch簡介 046
3.3PyTorch安裝 047
3.3.1 CUDA安裝 047
3.3.2 阿里云GPU云服務(wù)器 049
3.3.3 安裝PyTorch 049
3.3.4 安裝其他庫 050
3.3.5 檢查開發(fā)環(huán)境 050
3.4張量 050
3.4.1 張量創(chuàng)建函數(shù)定義 050
3.4.2 張量創(chuàng)建函數(shù)清單 051
3.4.3 隨機張量:torch.randn() 052
3.4.4 張量操作 054
3.4.5 CUDA張量 055
3.5梯度計算 055
3.5.1 導(dǎo)數(shù)與偏導(dǎo)數(shù) 055
3.5.2 導(dǎo)數(shù)規(guī)則 056
3.5.3 梯度 056
3.5.4 公式推導(dǎo) 056
3.5.5 自動梯度計算 057
3.5.6 代碼解析 058
3.6反向傳播 058
3.7torch.nn模塊構(gòu)建神經(jīng)網(wǎng)絡(luò) 060
3.7.1 nn.Linear層 060
3.7.2 nn.Sigmoid激活函數(shù) 061
3.7.3 nn.BCELoss損失函數(shù) 062
3.8torch.optim優(yōu)化器 062
3.9訓(xùn)練、驗證和測試過程 063
3.10用PyTorch實現(xiàn)神經(jīng)網(wǎng)絡(luò) 064
3.10.1 實現(xiàn)單層感知機 064
3.10.2 實現(xiàn)簡單神經(jīng)網(wǎng)絡(luò) 065
3.10.3 用torch.nn實現(xiàn)簡單神經(jīng)
網(wǎng)絡(luò) 067
3.11源代碼常用模塊 068
3.11.1 nn.Parameter類 068
3.11.2 typing模塊 069
3.11.3 logging模塊 070
3.11.4 dataclasses 071
3.11.5 Fire庫 073
第4章 Transformer模型詳解
4.1大語言模型的簡介和分類 076
4.1.1 簡介 076
4.1.2 分類 076
4.2Transformer模型 078
4.2.1 模型構(gòu)成 078
4.2.2 因果解碼器結(jié)構(gòu) 080
4.3分詞 081
4.3.1 詞匯表 082
4.3.2 詞匯表的生成 083
4.3.3 分詞算法 083
4.3.4 字節(jié)對編碼 084
4.3.5 句子片段 084
4.3.6 分詞過程 085
4.3.7 詞匯索引 085
4.4詞嵌入 086
4.4.1 標(biāo)記嵌入 087
4.4.2 位置編碼 089
4.4.3 詞匯索引和詞嵌入向量關(guān)系 090
4.5位置編碼方法 090
4.5.1 原生位置編碼 090
4.5.2 旋轉(zhuǎn)位置編碼 092
4.5.3 位置編碼的實現(xiàn) 093
4.5.4 Llama位置編碼 094
4.5.5 長度擴展 097
4.6自注意力機制 098
4.6.1 原理 098
4.6.2 注意力分?jǐn)?shù)的計算 099
4.6.3 多頭注意力機制 101
4.6.4 分組查詢注意力 102
4.6.5 Llama 2源代碼分析 103
4.7殘差連接和層歸一化 106
4.7.1 預(yù)歸一化 106
4.7.2 RMSNorm 107
4.7.3 Llama 2源代碼分析 107
4.8前饋網(wǎng)絡(luò) 108
4.8.1 激活函數(shù) 109
4.8.2 前饋網(wǎng)絡(luò)隱藏層維度 110
4.8.3 Llama 2源代碼分析 110
4.8.4 演示代碼 112
4.9損失函數(shù) 113
4.10掩碼 114
4.11PyTorch的nn.Transformer模塊 115
4.11.1 模塊組件 115
4.11.2 __call__函數(shù) 116
4.11.3 最簡單的標(biāo)準(zhǔn)Transformer
模型 116
4.11.4 純解碼器模型 117
4.11.5 Llama 2模型 118
第5章 大語言模型
5.1什么是大語言模型 125
5.2GPT簡介 125
5.3Llama簡介 126
5.4Llama的訓(xùn)練 128
5.4.1 訓(xùn)練數(shù)據(jù) 128
5.4.2 預(yù)訓(xùn)練 129
5.5Llama 2 chat 130
5.5.1 監(jiān)督微調(diào) 130
5.5.2 基于人類反饋的強化學(xué)習(xí) 130
5.6Llama 2模型結(jié)構(gòu) 132
5.7Llama 2權(quán)重文件夾 134
5.8參數(shù)量計算 136
5.8.1 標(biāo)準(zhǔn)Transformer解碼器模型 136
5.8.2 Llama 2模型 137
5.8.3用Transformers模塊計算 139
5.8.4 直接解析模型文件 139
第6章 模型訓(xùn)練
6.1模型訓(xùn)練的種類 146
6.2Hugging Face訓(xùn)練環(huán)境 146
6.3Transformers庫 147
6.3.1 主要功能 147
6.3.2 函數(shù) 148
6.4訓(xùn)練程序 149
6.5分詞處理 149
6.5.1 相關(guān)名詞 149
6.5.2 input IDs 150
6.5.3 特殊標(biāo)記 150
6.5.4 AutoTokenizer 152
6.5.5 分詞 153
6.5.6 下劃線 154
6.5.7 填空 154
6.6量化技術(shù) 155
6.6.1 8位量化技術(shù) 155
6.6.2 LLM.int8() 156
6.6.3 NF4和QLoRA 157
6.6.4 BitsAndBytes模型 159
6.7優(yōu)化技術(shù) 161
6.7.1 LoRA 161
6.7.2 PEFT庫 162
6.8訓(xùn)練代碼示例 164
6.8.1 導(dǎo)入庫和函數(shù) 164
6.8.2 參數(shù)定義 164
6.8.3 加載模型 165
6.8.4 加載分詞器 165
6.8.5 數(shù)據(jù)預(yù)處理 165
6.8.6 用LoRA權(quán)重調(diào)整模型 168
6.8.7 LoRA模型訓(xùn)練 168
6.8.8 模型的合并 170
6.8.9 模型推理 172
6.8.10 加載多個LoRA并隨時切換 173
6.9加速技術(shù)和工具 175
6.9.1 DeepSpeed 176
6.9.2 FairScale 176
6.9.3 GPTQ 177
6.9.4 FSDP 177
6.10超長上下文 178
6.10.1 外推能力 178
6.10.2 外推手段 179
6.10.3 StreamingLLM 179
第7章 模型微調(diào)
7.1監(jiān)督微調(diào) 182
7.2開源數(shù)據(jù)集 182
7.3數(shù)據(jù)集訪問 182
7.3.1 datasets庫 182
7.3.2 datasets常用的函數(shù)和類 183
7.3.3 加載數(shù)據(jù)集 183
7.3.4 數(shù)據(jù)集的處理 184
7.4開源微調(diào)數(shù)據(jù)集 186
7.4.1 主要數(shù)據(jù)集 186
7.4.2 數(shù)據(jù)集格式 186
7.4.3SQuAD 187
7.4.4 OSSIST1數(shù)據(jù)集格式 189
7.4.5 格式轉(zhuǎn)換代碼及分析 190
7.5主要的微調(diào)模型 193
7.5.1 Alpaca羊駝 193
7.5.2 Vicuna小羊駝 193
7.5.3 LLaMA.cpp 194
7.5.4 Guanco  194
第8章 人類反饋強化學(xué)習(xí)
8.1強化學(xué)習(xí)架構(gòu) 196
8.2演員-評論家架構(gòu) 197
8.3近端策略優(yōu)化架構(gòu) 197
8.4DeepSpeed Chat 198
8.5開源RLHF數(shù)據(jù)集 199
8.6訓(xùn)練數(shù)據(jù)讀取 205
8.6.1 第1步:SFT監(jiān)督微調(diào)數(shù)據(jù) 206
8.6.2 第2步:獎勵模型微調(diào)數(shù)據(jù) 207
8.6.3 第3步:RLHF微調(diào)數(shù)據(jù) 209
8.7監(jiān)督微調(diào) 210
8.8獎勵模型微調(diào) 212
8.9RLHF微調(diào) 217
8.9.1 代碼運行環(huán)境 218
8.9.2 準(zhǔn)備訓(xùn)練數(shù)據(jù) 219
8.9.3 建立模型 221
8.9.4 演員模型、參考模型生成對數(shù)
概率 221
8.9.5 計算對數(shù)概率 223
8.9.6 計算期望獎勵 225
8.9.7 KL散度 226
8.9.8 計算實際獎勵 226
8.9.9 優(yōu)勢函數(shù) 228
8.9.10 計算優(yōu)勢和回報 228
8.9.11 損失函數(shù) 229
第9章 模型推理
9.1模型文件 233
9.2推理 233
9.2.1 單輪推理 235
9.2.2 多輪推理 235
9.3GPU推理 235
9.3.1 單卡 235
9.3.2 多卡 235
9.3.3 多機 236
9.4Hugging Face Transformers庫 237
9.4.1 簡介 237
9.4.2 Pipeline API 237
9.4.3 Model and Tokenizer API 239
9.4.4 單輪推理 240
9.4.5 多輪推理 242
9.4.6 LoRA推理 245
9.4.7 vLLM 245
9.5LLaMA.cpp 248
9.5.1 特色與優(yōu)勢 248
9.5.2 模型量化 249
9.5.3 k-quant量化 249
9.5.4 開發(fā)環(huán)境安裝 250
9.5.5 構(gòu)建執(zhí)行程序 252
9.5.6 轉(zhuǎn)換模型 252
9.5.7 推理 252
9.6Gradio 254
9.6.1 簡介 254
9.6.2 基本用法 255
9.6.3 復(fù)雜交互 255
9.6.4 聊天機器人 257
9.6.5 Gradio多輪推理 258
9.7解碼策略 261
9.7.1 常見解碼策略 261
9.7.2 推理超參數(shù) 262
9.7.3 溫度 262
9.7.4 top-k 263
9.7.5 top-p 264
9.7.6 重復(fù)懲罰 265
9.7.7 代碼實現(xiàn) 266
9.8推理加速技術(shù) 270
9.8.1 簡介 270
9.8.2 純C推理 271
9.8.3 投機采樣 271
9.8.4 Medusa 272
9.8.5 流式推理 272
第10章 中文私有模型開發(fā)
10.1基本思路 275
10.2中文詞匯表 276
10.3模型下載 277
10.3.1 安裝Git LFS 277
10.3.2 獲取下載鏈接 277
10.3.3 直接單擊鏈接分文件逐一
下載 278
10.4開發(fā)方案 279
10.4.1 演示系統(tǒng)開發(fā) 279
10.4.2 生產(chǎn)系統(tǒng)開發(fā) 280
10.4.3 實訓(xùn)系統(tǒng)開發(fā) 280
10.5中文語料 280
10.5.1 預(yù)訓(xùn)練語料 282
10.5.2 微調(diào)數(shù)據(jù)集 285
第11章 模型評估
11.1大語言模型評估 292
11.2評估指標(biāo) 293
11.2.1 困惑度 293
11.2.2 HellaSwag 293
11.2.3 BLEU 294
11.2.4 ROUGE 294
11.2.5 METEOR 294
11.3基于上下文的學(xué)習(xí) 294
11.4Llama 2預(yù)訓(xùn)練模型的評估 296
11.5MMLU 299
11.6標(biāo)準(zhǔn)基準(zhǔn)測試 299
11.7代碼生成 300
11.7.1 Human-Eval代碼生成基準(zhǔn)
測試 300
11.7.2 MBPP程序生成基準(zhǔn)測試 300
11.8考試AGI Eval 301
11.9GSM8K 302
11.10世界知識 302
11.10.1 NaturalQuestions 302
11.10.2 TriviaQA 303
11.11通義千問評測 303
11.12BBH 304
第12章 用于RAG的詞向量計算
12.1信息整合 306
12.2向量數(shù)據(jù)庫 307
12.3詞向量 307
12.4嵌入向量生成模型 308
12.5池化技術(shù) 309
12.6計算詞向量 310
12.6.1 使用OpenAI 310
12.6.2 使用Hugging Face  310
12.6.3 使用Llama 2  312
12.7批量生成嵌入向量 313
12.8池化算法 315
12.9詞向量文檔檢索 317
12.10示例 318
12.10.1 PGVector簡介 318
12.10.2 PGVector安裝 318
12.10.3 向量數(shù)據(jù)庫操作 319
參考文獻 320

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號