新到貨2本75折
大語言模型開發:用開源模型開發本地系統

大語言模型開發:用開源模型開發本地系統

  • 定價:708
  • 優惠價:87616
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書旨在幫助讀者理解開源大語言模型的架構、訓練和推理過程,以及相關的源代碼。主要研究對象是Meta開源的Llama模型。本書從Python Numpy實現單層感知機和神經網絡開始,逐步講解了如何實現Transformer模型和Llama模型。此外,本書還介紹了增量預訓練模型、監督微調和人類反饋強化學習等模型訓練過程。對於私有知識的加入,書中重點介紹了監督微調,也介紹了RAG中詞向量的計算。本書採用循序漸進的方式,通過功能框圖、代碼分解執行、執行結果顯示、背景知識補充等手段幫助讀者理解模型和算法。

本書的核心讀者群體定位為大語言模型應用的開發人員,特別適合那些想從計算機視覺轉向自然語言處理的人。此外,本書還適合作為大學本科生及研究生相關課程的參考教材使用。


 

作者介紹

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

目錄

第1章 自然語言處理
1.1人工智能的技術構成 002
1.1.1 機器學習和深度學習的區別 002
1.1.2 表示學習與深度學習的關係 003
1.2自然語言處理的發展階段 004
1.3規則驅動的方法 005
1.4統計方法 005
1.4.1 隱馬爾可夫模型 006
1.4.2 條件隨機場 007
1.5深度學習方法 008
1.5.1 Word2Vec詞嵌入 008
1.5.2 循環神經網絡 009
1.5.3 長短時記憶網絡模型 009
1.5.4 門控循環單元模型 010
1.6序列到序列模型 011
1.7注意力機制 011
1.8Transformer模型 012
1.9預訓練模型 012
1.10大語言模型 014
1.10.1 根據架構分類 014
1.10.2 根據訓練方式和預測方式分類 015

第2章 深度學習基礎
2.1深度學習 017
2.2感知機 017
2.2.1 前饋網絡 018
2.2.2 權重更新 019
2.2.3 反向傳播 021
2.3激活函數 022
2.3.1 常用激活函數 023
2.3.2 新型激活函數 024
2.4優化函數(算法) 026
2.4.1 梯度下降法 026
2.4.2 動量優化算法 027
2.4.3 AdaGrad優化算法 027
2.4.4 RMSProp優化算法 028
2.4.5 Adam優化算法 029
2.4.6 AdamW優化算法 030
2.5權值初始化 030
2.5.1 批歸一化 031
2.5.2 層歸一化 031
2.5.3 RMSNorm  032
2.6損失函數 033
2.6.1 均方誤差 034
2.6.2 均方根誤差 034
2.6.3 交叉熵損失 035
2.7模型評估 036
2.7.1 偏差/方差 036
2.7.2 過擬合與欠擬合 037
2.8正則化 038
2.9SoftMax函數 039
2.10簡易神經網絡搭建 039
2.11模型優化 042
2.11.1 梯度消失 042
2.11.2 梯度爆炸 043
2.11.3 優化手段 043
2.11.4 調參技巧 044

第3章 PyTorch開發基礎
3.1深度學習框架 046
3.2PyTorch簡介 046
3.3PyTorch安裝 047
3.3.1 CUDA安裝 047
3.3.2 阿裡雲GPU雲服務器 049
3.3.3 安裝PyTorch 049
3.3.4 安裝其他庫 050
3.3.5 檢查開發環境 050
3.4張量 050
3.4.1 張量創建函數定義 050
3.4.2 張量創建函數清單 051
3.4.3 隨機張量:torch.randn() 052
3.4.4 張量操作 054
3.4.5 CUDA張量 055
3.5梯度計算 055
3.5.1 導數與偏導數 055
3.5.2 導數規則 056
3.5.3 梯度 056
3.5.4 公式推導 056
3.5.5 自動梯度計算 057
3.5.6 代碼解析 058
3.6反向傳播 058
3.7torch.nn模塊構建神經網絡 060
3.7.1 nn.Linear層 060
3.7.2 nn.Sigmoid激活函數 061
3.7.3 nn.BCELoss損失函數 062
3.8torch.optim優化器 062
3.9訓練、驗證和測試過程 063
3.10用PyTorch實現神經網絡 064
3.10.1 實現單層感知機 064
3.10.2 實現簡單神經網絡 065
3.10.3 用torch.nn實現簡單神經
網絡 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 模型構成 078
4.2.2 因果解碼器結構 080
4.3分詞 081
4.3.1 詞匯表 082
4.3.2 詞匯表的生成 083
4.3.3 分詞算法 083
4.3.4 字節對編碼 084
4.3.5 句子片段 084
4.3.6 分詞過程 085
4.3.7 詞匯索引 085
4.4詞嵌入 086
4.4.1 標記嵌入 087
4.4.2 位置編碼 089
4.4.3 詞匯索引和詞嵌入向量關係 090
4.5位置編碼方法 090
4.5.1 原生位置編碼 090
4.5.2 旋轉位置編碼 092
4.5.3 位置編碼的實現 093
4.5.4 Llama位置編碼 094
4.5.5 長度擴展 097
4.6自注意力機制 098
4.6.1 原理 098
4.6.2 注意力分數的計算 099
4.6.3 多頭注意力機制 101
4.6.4 分組查詢注意力 102
4.6.5 Llama 2源代碼分析 103
4.7殘差連接和層歸一化 106
4.7.1 預歸一化 106
4.7.2 RMSNorm 107
4.7.3 Llama 2源代碼分析 107
4.8前饋網絡 108
4.8.1 激活函數 109
4.8.2 前饋網絡隱藏層維度 110
4.8.3 Llama 2源代碼分析 110
4.8.4 演示代碼 112
4.9損失函數 113
4.10掩碼 114
4.11PyTorch的nn.Transformer模塊 115
4.11.1 模塊組件 115
4.11.2 __call__函數 116
4.11.3 最簡單的標準Transformer模型 116
4.11.4 純解碼器模型 117
4.11.5 Llama 2模型 118

第5章 大語言模型
5.1什麼是大語言模型 125
5.2GPT簡介 125
5.3Llama簡介 126
5.4Llama的訓練 128
5.4.1 訓練數據 128
5.4.2 預訓練 129
5.5Llama 2 chat 130
5.5.1 監督微調 130
5.5.2 基於人類反饋的強化學習 130
5.6Llama 2模型結構 132
5.7Llama 2權重文件夾 134
5.8參數量計算 136
5.8.1 標準Transformer解碼器模型 136
5.8.2 Llama 2模型 137
5.8.3用Transformers模塊計算 139
5.8.4 直接解析模型文件 139

第6章 模型訓練
6.1模型訓練的種類 146
6.2Hugging Face訓練環境 146
6.3Transformers庫 147
6.3.1 主要功能 147
6.3.2 函數 148
6.4訓練程序 149
6.5分詞處理 149
6.5.1 相關名詞 149
6.5.2 input IDs 150
6.5.3 特殊標記 150
6.5.4 AutoTokenizer 152
6.5.5 分詞 153
6.5.6 下劃線 154
6.5.7 填空 154
6.6量化技術 155
6.6.1 8位量化技術 155
6.6.2 LLM.int8() 156
6.6.3 NF4和QLoRA 157
6.6.4 BitsAndBytes模型 159
6.7優化技術 161
6.7.1 LoRA 161
6.7.2 PEFT庫 162
6.8訓練代碼示例 164
6.8.1 導入庫和函數 164
6.8.2 參數定義 164
6.8.3 加載模型 165
6.8.4 加載分詞器 165
6.8.5 數據預處理 165
6.8.6 用LoRA權重調整模型 168
6.8.7 LoRA模型訓練 168
6.8.8 模型的合併 170
6.8.9 模型推理 172
6.8.10 加載多個LoRA並隨時切換 173
6.9加速技術和工具 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章 模型微調
7.1監督微調 182
7.2開源數據集 182
7.3數據集訪問 182
7.3.1 datasets庫 182
7.3.2 datasets常用的函數和類 183
7.3.3 加載數據集 183
7.3.4 數據集的處理 184
7.4開源微調數據集 186
7.4.1 主要數據集 186
7.4.2 數據集格式 186
7.4.3SQuAD 187
7.4.4 OSSIST1數據集格式 189
7.4.5 格式轉換代碼及分析 190
7.5主要的微調模型 193
7.5.1 Alpaca羊駝 193
7.5.2 Vicuna小羊駝 193
7.5.3 LLaMA.cpp 194
7.5.4 Guanco  194

第8章 人類反饋強化學習
8.1強化學習架構 196
8.2演員-評論家架構 197
8.3近端策略優化架構 197
8.4DeepSpeed Chat 198
8.5開源RLHF數據集 199
8.6訓練數據讀取 205
8.6.1 第1步:SFT監督微調數據 206
8.6.2 第2步:獎勵模型微調數據 207
8.6.3 第3步:RLHF微調數據 209
8.7監督微調 210
8.8獎勵模型微調 212
8.9RLHF微調 217
8.9.1 代碼運行環境 218
8.9.2 準備訓練數據 219
8.9.3 建立模型 221
8.9.4 演員模型、參考模型生成對數
概率 221
8.9.5 計算對數概率 223
8.9.6 計算期望獎勵 225
8.9.7 KL散度 226
8.9.8 計算實際獎勵 226
8.9.9 優勢函數 228
8.9.10 計算優勢和回報 228
8.9.11 損失函數 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 特色與優勢 248
9.5.2 模型量化 249
9.5.3 k-quant量化 249
9.5.4 開發環境安裝 250
9.5.5 構建執行程序 252
9.5.6 轉換模型 252
9.5.7 推理 252
9.6Gradio 254
9.6.1 簡介 254
9.6.2 基本用法 255
9.6.3 複雜交互 255
9.6.4 聊天機器人 257
9.6.5 Gradio多輪推理 258
9.7解碼策略 261
9.7.1 常見解碼策略 261
9.7.2 推理超參數 262
9.7.3 溫度 262
9.7.4 top-k 263
9.7.5 top-p 264
9.7.6 重複懲罰 265
9.7.7 代碼實現 266
9.8推理加速技術 270
9.8.1 簡介 270
9.8.2 純C推理 271
9.8.3 投機採樣 271
9.8.4 Medusa 272
9.8.5 流式推理 272

第10章 中文私有模型開發
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開發方案 279
10.4.1 演示系統開發 279
10.4.2 生產系統開發 280
10.4.3 實訓系統開發 280
10.5中文語料 280
10.5.1 預訓練語料 282
10.5.2 微調數據集 285

第11章 模型評估
11.1大語言模型評估 292
11.2評估指標 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基於上下文的學習 294
11.4Llama 2預訓練模型的評估 296
11.5MMLU 299
11.6標準基準測試 299
11.7代碼生成 300
11.7.1 Human-Eval代碼生成基準
測試 300
11.7.2 MBPP程序生成基準測試 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向量數據庫 307
12.3詞向量 307
12.4嵌入向量生成模型 308
12.5池化技術 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 向量數據庫操作 319
參考文獻 320
 

詳細資料

  • ISBN:9787302670513
  • 規格:平裝 / 320頁 / 19 x 26 x 1.6 cm / 普通級 / 1-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【自然科普、電腦資訊】童話裡的心理學【博客來電子書獨家-作者電子贈言簽名扉頁版】
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約30個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 心理與哲學
  • 滿799現折79
  • 言情新品