語言之舞:大語言模型應用實戰全書

牛亞運,倪靜

  • 出版商: 電子工業
  • 出版日期: 2025-07-01
  • 售價: $594
  • 語言: 簡體中文
  • 頁數: 348
  • ISBN: 7121502836
  • ISBN-13: 9787121502835
  • 相關分類: LangChain
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

近年來,大語言模型(LLM)技術飛速發展,深刻地改變著我們世界的各行各業,越來越多的人意識到這項技術的重要性,卻苦於缺少嚴謹、優質的一站式學習教程。本書旨在為讀者提供全面、深入且實踐性強的LLM 學習資源,力求將LLM 的理論知識與實際應用案例相結合,幫助讀者更好地理解和掌握這一前沿技術。本書具有重視實踐、內容全面且系統、案例豐富且實用、代碼規範且易懂、緊跟技術前沿等顯著的特色,是現階段LLM理論與實踐學習的集大成者。本書的目標讀者包括但不限於:對LLM 感興趣的科研人員、工程師、學生以及希望了解和應用LLM 的企業管理者。本書也可成為各個院校培訓機構AI和大模型專業的教材。

目錄大綱

第1 章 LLM 構建流程. 1
1.1 數據準備並初步清洗. 2
1.1.1 數據采集. 3
1.1.2 數據過濾. 5
1.1.2.1 低質過濾. 8
1.1.2.2 去重過濾.10
1.1.2.3 內容安全過濾. 12
1.1.3 實戰案例:使用Falcon 爬取並清洗互聯網數據. 13
1.2 數據預處理.14
1.2.1 數據精洗.14
1.2.2 分詞及其預處理.14
1.2.2.1 分詞. 15
1.2.2.2 Token 後處理. 19
1.2.3 分詞器. 20
1.2.3.1 分詞器的概述. 20
1.2.3.2 詞匯表擴充技術.23
1.2.3.3 代碼實戰.24
1.2.4 定義模型的輸入.25
1.2.4.1 構建輸入特征. 25
1.2.4.2 Token 處理階段的對比.26
1.3 模型預訓練與評估.27
1.3.1 模型搭建.27
1.3.1.1 建模任務及其模型架構選擇. 28
1.3.1.2 模型框架選擇. 30
1.3.2 模型預訓練與優化. 31
1.3.2.1 模型預訓練. 31
1.3.2.2 模型超參數調優.33
1.3.2.3 模型訓練優化及其常用策略. 36
1.3.2.4 模型訓練優化之並行提速. 37
1.3.2.5 拓展的並行技術之ZeRO. 42
1.3.2.6 拓展的並行技術之 FSDP. 48
1.3.2.7 拓展的並行技術之MoE 並行. 52
1.3.2.8 模型訓練優化之降存提速六大技巧綜述. 53
1.3.2.9 降存之詞匯表裁剪. 53
1.3.2.10 降存之梯度檢查點. 54
1.3.2.11 同時降存、提速之混合精度訓練.56
1.3.2.12 同時提速、降存之數據壓縮. 60
1.3.2.13 同時提速、降存之量化感知訓練 61
1.3.2.14 提速之梯度累積. 63
1.3.3 預訓練後評估. 65
1.3.3.1 概述. 65
1.3.3.2 代碼實戰:基準評估案例(C-Eval). 67
1.3.3.3 代碼實戰:人工評估案例. 68
1.3.3.4 代碼實戰:大模型自動評估案例(BELLE). 69
1.4 模型微調. 70
1.4.1 LLM 知識更新概述. 70
1.4.2 模型微調策略. 72
1.4.2.1 指令微調.74
1.4.2.2  對齊微調. 78
1.4.2.3 代碼實戰.84
1.4.3 模型微調技術. 86
1.4.3.1 參數高效微調. 86
1.4.3.2 適配器微調. 88
1.4.3.3 前綴微調.90
1.4.3.4 P-Tuning.92
1.4.3.5 Prompt-Tuning.94
1.4.3.6 P-Tuning V2. 98
1.4.3.7 LoRA. 100
1.4.3.8 常用的參數高效微調方法對比.106
1.5 模型推理與優化. 109
1.5.1 模型推理概述. 109
1.5.2 推理階段可調參數. 111
1.5.3 模型推理加速技術. 112
1.5.3.1 模型量化技術. 114
1.5.3.2 模型剪枝技術. 119
1.5.3.3 模型蒸餾技術. 121
1.5.3.4 KV 緩存技術. 126
第2 章 LLM 的部署與監控. 128
2.1 模型部署. 129
2.1.1 模型部署概述. 129
2.1.2 分布式環境配置.131
2.1.3 Docker 部署實戰.133
2.2 模型監控與維護. 133
2.3 實戰案例. 135
第3 章 LLM 的微調與推理部署實戰案例. 137
3.1 基於LLaMA-3 系列模型實戰.137
3.1.1 微調實戰.138
3.1.1.1 官方Demo 案例:利用LoRA 微調LLaMA-3-8B-Instruct 並生成推理對話. 138
3.1.1.2 基於Colab 平臺實現LoRA 微調LLaMA-3-8B-Instruct-bnb-4bit.139
3.1.1.3 采用LLaMA-Factory 工具GUI 的方式微調LLaMA-3-8B-Instruct.139
3.1.1.4 基於Colab 平臺利用Unsloth 優化框架實現LoRA 微調LLaMA-3-8B-bnb.140
3.1.2 推理部署實戰. 140
3.1.2.1 快速使用LLaMA-3-8B-Instruct進行推理測試. 140
3.1.2.2  LLaMA-3-8B-Instruct WebDemo部署. 140
3.1.2.3 采用FastAPI 部署與調用LLaMA-3-8B-Instruct. 141
3.1.2.4 基於LM Studio 結合LobeChat 框架部署LLaMA-3 模型. 142
3.1.2.5 基於OLLaMA 後端框架依次結合不同的前端框架搭建RAG. 145
3.1.2.6 基於GPT4ALL 框架及其量化後部署. 148
3.1.3 在線測試實戰. 150
3.2 基於ChatGLM-3 系列模型實戰.150
3.2.1 微調實戰.151
3.2.1.1 官方Demo 案例:利用P-TuningV2 和LoRA 在單卡GPU 環境下進行微調.151
3.2.1.2 基於官方Demo 微調:多卡全參數微調/ 單卡P-Tuning V2 微調.152
3.2.1.3 在雲服務器(4090-24GB)上采用P-Tuning V2 微調. 152
3.2.1.4 基於LLaMA-Factory 框架並采用GUI 方式微調. 154
3.2.2 推理部署實戰. 155
3.2.2.1 采用官方Demo 提供的CLI 形式實現對話交互. 155
3.2.2.2 采用官方Demo 的Web 界面實現對話模式、工具模式、代碼解釋器模式. 156
3.2.2.3 基於LangChain 框架實現ChatGLM-3 的工具調用. 158
3.2.3 在線測試實戰. 159
3.2.3.1 采用官方API 接口方式調用. 159
3.2.3.2 Web 在線體驗. 159
3.3 基於GPT-4o 模型實戰. 159
3.3.1 基於官方API 進行在線推理測試.159
3.3.2 基於官方Web 界面進行在線測試.160
3.4 基於GLM-4 系列模型實戰. 163
3.4.1 微調實戰.163
3.4.1.1 基於官方Demo 案例依次采用LoRA、P-Tuning V2、SFT 實現微調. 163
3.4.1.2 在雲服務器(4090-24GB)上采用LoRA 或P-Tuning V2 實現對話微調. 164
3.4.2 推理部署實戰. 164
3.4.2.1 基於官方Demo 實現基礎用法:基於Transformers 或vLLM 後端並采用GLM-4-9B 模型實現對話交互.164
3.4.2.2 基於官方Demo 實現復雜用法:基於Web 方式實現GLM-4-9B模型交互與功能拓展. 165
3.4.2.3 基於雲服務器(4090-24GB)實現一鍵部署開啟服務並交互測試.167
3.4.3 在線測試實戰. 167
3.4.3.1 采用官方API 接口方式調用ChatGLM-4-plus. 167
3.4.3.2 Web 在線體驗. 168
3.5 基於Qwen 系列模型實戰. 168
3.5.1 微調實戰:基於LLaMA-Factory框架微調Qwen-2 模型.169
3.5.2 推理部署實戰. 169
3.5.2.1 基於Transformer 架構實現測試Qwen-2.5-7B-Instruct 模型. 169
3.5.2.2 基於OLLaMA 部署Qwen-2.5-7B模型. 170
3.5.3 在線測試實戰. 171
3.5.3.1 API 接口調用. 171
3.5.3.2 Web 在線體驗. 171
3.6 基於DeepSeek-R1 系列模型實戰.171
3.6.1 微調實戰.171
3.6.1.1 基於Mini-DeepSeek-R1 項目實現.171
3.6.1.2 利用雲服務器. 172
3.6.2 推理部署實戰. 173
3.6.2.1 基於官方Demo 實現基礎用法.173
3.6.2.2 基於LangChain 框架實現. 173
3.6.2.3 基於OLLaMA 和Dify 創建DeepSeek-R1 的個性化應用. 174
3.6.2.4 基於OLLaMA 和AnythingLLM創建DeepSeek-R1 個性化應用.175
3.6.3 在線測試實戰. 177
3.6.3.1 API 接口調用. 177
3.6.3.2 Web 在線體驗. 177
第4 章 LLM 項目的構建與應用 178
4.1 生成式AI 項目的生命周期. 178
4.2 企業級LLM 構建與實現的通用流程.184
4.2.1 如何選擇優質的應用場景. 185
4.2.1.1 LLM 在To B 領域落地應用的現有場景實踐.186
4.2.1.2 LLM 的產品化實踐流程.187
4.2.1.3 LLM 落地實踐中的產品側與技術側. 187
4.2.2 如何實現企業級ChatGPT. 189
4.2.2.1 選擇基座模型. 189
4.2.2.2 準備數據.191
4.2.2.3 準備環境.193
4.2.2.4 模型遷移常用方法. 194
4.2.2.5 模型評估.195
4.2.2.6 評價模型.197
4.2.2.7 模型修正.197
4.2.2.8 模型落地.197
4.3 基於LLM 的研究方向. 198
4.3.1 NLP 任務.199
4.3.2 信息檢索和推薦系統. 199
4.3.3 多模態和知識圖譜增強.199
4.3.4 基於LLM 的智能體. 200
4.4 基於LLM 的領域應用. 200
4.5 基於LLM 的企業級需求和應用場景.201
第5 章 提示設計. 203
5.1 提示工程概述. 203
5.2 提示的設計要素和策略.207
5.2.1 提示的設計要素.207
5.2.2 提示內容的設計策略. 209
5.3 提示設計的方法論.211
5.3.1 ICL.212
5.3.2 CoT.214
5.3.3 PCTS. 217
5.3.4 對比ICL、CoT、PCTS. 218
5.3.5 提示設計方法論分類. 219
5.4 提示設計實踐指南和優秀框架.220
5.5 MCP. 221
5.5.1 提示工程痛點與MCP 出現. 221
5.5.2 MCP 核心內容. 222
5.5.3 MCP 的典型應用場景. 223
5.5.4 MCP 的使用經驗與技巧. 223
第6 章 LLM 的進階與增強. 225
6.1 LLM 的局限性及其解決方案. 226
6.1.1 LLM 幻覺現象簡介與解決方法.228
6.1.2 LLM 有毒性現象簡介與解決方法.230
6.1.3 LLM 虛假信息現象簡介與解決方法.231
6.2 RAG. 232
6.2.1 RAG 概述.232
6.2.2 RAG 工程化系統架構和開發組件. 242
6.2.3 RAG 的失敗案例及其優化. 244
6.2.3.1 RAG 的失敗案例. 244
6.2.3.2 RAG 宏觀技術角度的優化. 246
6.2.3.3 RAG 微觀策略角度的優化. 248
6.2.3.4 探究並解決RAG 框架下PDF 場景的結構化數據提取問題. 262
6.2.3.5 代碼實戰.267
6.2.4 RAG 的發展及其挑戰. 269
6.2.4.1 RAG 發展的三階段. 269
6.2.4.2 RAG 面臨的挑戰與未來發展趨勢.270
6.2.5 RAG 案例實戰. 271
6.2.5.1 基於LangChain 框架實現RAG.271
6.2.5.2 基於LangChain-Chatchat 框架實現RAG. 273
6.2.6.3 基於LLaMAIndex 框架實現RAG 274
6.2.5.4 基於LocalGPT 框架實現RAG.275
6.2.5.5 基於OLLaMA+AnythingLLM 框架實現RAG. 275
6.2.5.6 基於OLLaMA+Dify 框架實現RAG. 277
6.3 ETA. 278
6.3.1 ETA 概述.278
6.3.2 ETA 實戰.284
6.3.2.1 基於OpenAI 官方案例實現工具調用能力.284
6.3.2.2 基於GLM-4 官方案例實現工具調用能力.285
6.3.2.3 基於Qwen 官方案例實現工具調用能力. 285
6.3.2.4 基於 LangChain 框架和GPT-4o實現多個工具調用. 285
6.3.2.5 基於LangGraph 框架和Qwen 模型實現GraphETA.286
6.3.3 伯克利函數調用排行榜.287
6.4 智能體. 287
6.4.1 智能體概述. 287
6.4.1.1 智能體系統模塊.291
6.4.1.2 智能體框架工程化. 295
6.4.1.3 未來挑戰.296
6.4.2 智能體常用能力.297
6.4.2.1 能力概覽及其實現方法.297
6.4.2.2 能力域分類. 299
6.4.3 智能體設計的思想和主流模式.299
6.4.3.1 ReAct Agent 簡介. 301
6.4.3.2 ReWOO Agent 簡介. 305
6.4.3.3 DERA Agent 簡介. 306
6.4.3.4 智能體設計的三大範式.307
6.4.4 智能體應用的分類. 308
6.4.5 智能體實戰. 309
6.4.5.1 模型推理:基於LangChain 框架並結合GPT-4o 和GPT-4 實現Tool Agent. 309
6.4.5.2 模型推理:基於LangChain 框架實現ReAct Agent. 309
6.4.5.3 模型推理:基於LangChain 框架實現KG-RAG Agent. 310
6.4.5.4 基於LangChain 框架和FastAPI部署Tool Agent 服務. 310
6.5 長上下文建模. 311
6.5.1 大窗口技術概述.311
6.5.2 長上下文建模實戰. 315
6.6 技術探討與分析. 316
6.6.1 RAG 技術與大窗口技術的爭論——沖突還是共生. 316
6.6.2 智能體技術的自主性與ETA 技術的可控性權衡的爭論. 318
第7 章 LLM 的訓練/ 推理框架、部署工具和提示庫. 321
7.1 LLM 的開發框架. 321
7.1.1 側重數據處理的庫或框架. 321
7.1.2 側重模型構建的庫或框架. 322
7.2 LLM 的訓練、評估、微調和推理框架.324
7.2.1 側重訓練的庫或框架. 324
7.2.2 側重評估的庫或框架. 326
7.2.3 側重微調的庫或框架. 326
7.2.4 側重推理的庫或框架. 328
7.3 LLM 的部署和應用工具.330
7.3.1 Web 框架和API 服務. 330
7.3.2 請求和並發處理.331
7.3.3 用戶界面庫. 331
7.3.4 實驗跟蹤和可視化. 332
7.3.5 容器化和編排. 332
7.3.6 高級的LLM 部署和服務工具. 333
7.4 LLM 的向量數據庫. 334