ChatGLM3大模型本地化部署、應用開發與微調

王曉華

  • 出版商: 清華大學
  • 出版日期: 2024-04-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • ISBN: 7302658811
  • ISBN-13: 9787302658818
  • 下單後立即進貨 (約4週~6週)

  • ChatGLM3大模型本地化部署、應用開發與微調-preview-1
  • ChatGLM3大模型本地化部署、應用開發與微調-preview-2
  • ChatGLM3大模型本地化部署、應用開發與微調-preview-3
ChatGLM3大模型本地化部署、應用開發與微調-preview-1

商品描述

《ChatGLM3大模型本地化部署、應用開發與微調》作為《PyTorch 2.0深度學習從零開始學》的姊妹篇,專註於大模型的本地化部署、應用開發以及微調等。《ChatGLM3大模型本地化部署、應用開發與微調》不僅系統地闡述了深度學習大模型的核心理論,更註重實踐應用,通過豐富的案例和場景,引導讀者從理論走向實踐,真正領悟和掌握大模型本地化應用的精髓。 全書共分13章,全方位、多角度地展示了大模型本地化實戰的完整方案,內容包括大模型時代的開端、PyTorch 2.0深度學習環境搭建、基於gradio的雲上自托管ChatGLM3部署實戰、使用ChatGLM3與LangChain實現知識圖譜抽取和智能問答、適配ChatGLM3終端的Template與Chain詳解、ChatGLM3多文本檢索的增強生成實戰、構建以人為本的ChatGLM3規範化Prompt提示工程、使用ChatGLM3的思維鏈構建、GLM源碼分析與文本生成實戰、低資源單GPU微調ChatGLM3實戰、會使用工具的ChatGLM3、上市公司財務報表非結構化信息抽取實戰、上市公司財務報表智能問答與財務預警實戰。 《ChatGLM3大模型本地化部署、應用開發與微調》適合大模型的初學者、有一定基礎的大模型研究人員、大模型應用開發人員。同時,《ChatGLM3大模型本地化部署、應用開發與微調》還可作為高等院校或高職高專相關專業大模型課程的教材,助力培養新一代的大模型領域人才。

目錄大綱

目    錄

第1章  大模型時代的開端 1

1.1  大模型的歷史與發展 1

1.1.1  大模型的“涌現” 1

1.1.2  深度學習與大模型的起源 3

1.1.3  大模型的概念與特點 4

1.1.4  大模型開啟了深度學習的新時代 5

1.2  為什麽要使用大模型 6

1.2.1  大模型與普通模型的區別 7

1.2.2  為什麽選擇ChatGLM 8

1.2.3  大模型應用場合與發展趨勢 9

1.3  本章小結 10

第2章  PyTorch 2.0深度學習環境搭建 11

2.1  安裝Python開發環境 12

2.1.1  Miniconda的下載與安裝 12

2.1.2  PyCharm的下載與安裝 14

2.1.3  softmax函數練習 18

2.2  安裝PyTorch 2.0 19

2.2.1  NVIDIA 10/20/30/40系列顯卡選擇的GPU版本 19

2.2.2  PyTorch 2.0 GPU NVIDIA運行庫的安裝 19

2.2.3  Hello PyTorch 22

2.3  Hello ChatGLM3 23

2.3.1  ChatGLM3簡介與安裝 23

2.3.2  CPU版本的ChatGLM3推演 25

2.3.3  GPU(INT4或INT8量化)版本的ChatGLM3推演 26

2.3.4  GPU(half或float量化)版本的ChatGLM3推演 28

2.3.5  離線狀態的ChatGLM3的使用 29

2.3.6  ChatGLM的高級使用 30

2.4  本章小結 31

第3章  基於gradio的雲上自托管ChatGLM3部署實戰 32

3.1  gradio的基本使用詳解 32

3.1.1  從gradio的Interface開始 33

3.1.2  gradio輸入與輸出組件 35

3.1.3  啟動gradio的launch 41

3.1.4  gradio中多樣化的輸入和輸出組件 42

3.1.5  gradio中常用的幾個組件 45

3.1.6  使用gradio搭建視頻上色服務 57

3.2  基於gradio的貓狗分類可視化訓練與預測實戰 59

3.2.1  運行環境與數據集的準備 60

3.2.2  模型的設計 63

3.2.3  PyTorch模型訓練的基本流程 64

3.2.4  可視化訓練流程 65

3.2.5  使用訓練好的模型完成gradio可視化圖像分類 67

3.3  基於網頁端的ChatGLM3部署和使用 69

3.3.1  使用gradio搭建ChatGLM3網頁客戶端 70

3.3.2  使用ChatGLM3自帶的網頁客戶端 71

3.4  基於私有雲服務的ChatGLM3部署和使用 72

3.4.1  使用FastAPI完成ChatGLM3私有雲交互埠的搭建(重要) 73

3.4.2  基於streamlit的ChatGLM3自帶的網頁客戶端 74

3.5  本章小結 74

第4章  使用ChatGLM3與LangChain實現知識圖譜抽取和智能問答 75

4.1  當ChatGLM3遇見LangChain 76

4.1.1  LangChain的基本構成、組件與典型場景 76

4.1.2  確認統一地址的ChatGLM3部署方案 78

4.1.3  使用ChatGLM3構建LangChain的LLM終端 78

4.1.4  從一個簡單的提示模板開始 81

4.1.5  ChatGLM3格式化提示詞的構建與使用 82

4.2  ChatGLM3+ LangChain搭建專業問答機器人 84

4.2.1  使用LangChain的LLM終端完成文本問答 84

4.2.2  數據準備與基礎算法分析 86

4.2.3  使用LangChain完成提示語Prompt工程 87

4.2.4  基於ChatGLM3的LLM終端完成專業問答 88

4.3  使用ChatGLM3的LLM終端搭建知識圖譜抽取與智能問答 89

4.3.1  基於ChatGLM3的LLM終端完成知識圖譜抽取 89

4.3.2  基於ChatGLM3的LLM終端完成智能問答 91

4.4  本章小結 92

第5章  適配ChatGLM3終端的Template與Chain詳解 93

5.1  基於輸入模板的人機交互 93

5.1.1  提示模板的4種類型 94

5.1.2  可嵌套的提示模板 95

5.2  Template中示例的最佳選擇 97

5.2.1  基於長度的輸出示例 97

5.2.2  基於相似度的輸出示例 99

5.3  使用Chain提高ChatGLM3的能力 100

5.3.1  Chain的數學計算方法 101

5.3.2  多次驗證檢查器 101

5.4  LangChain中的記憶功能 102

5.4.1  ConversationChain會話鏈的使用 102

5.4.2  系統memory的使用 103

5.5  基於ChatGLM3終端撰寫劇情梗概、評論與宣傳文案實戰 105

5.5.1  對過程進行依次調用的順序鏈SimpleSequentialChain 105

5.5.2  對過程進行依次調用的順序鏈SequentialChain 107

5.5.3  對順序鏈添加額外參數的方法 109

5.6  本章小結 111

第6章  ChatGLM3多文本檢索的增強生成實戰 112

6.1  使用自然語言處理方法對目標進行查找 113

6.1.1  數據集的準備 113

6.1.2  分別基於BM25與LLM終端進行目標查找的方法 114

6.1.3  建立工業級標準化輸出:LLM終端與BM25結合 116

6.2  基於LLM終端完成文本內容抽取與文本問答 118

6.2.1  讀取目標內容 118

6.2.2  LangChain對文檔的讀取與分割方法 119

6.2.3  基於LangChain的文本分塊 123

6.2.4  找到最近似問題的文本段落 124

6.2.5  使用LLM終端完成智能文本問答 125

6.3  使用LLM終端完成反向問題推斷 127

6.3.1  文本問題提取實戰 127

6.3.2  存儲提取後的內容 130

6.4  本章小結 131

第7章  構建以人為本的ChatGLM3規範化Prompt提示工程 132

7.1  提示工程模板構建的輸入與輸出格式 132

7.1.1  提示模板的輸入格式 133

7.1.2  提示模板的輸出格式 135

7.2  提示工程模板高級用法 138

7.2.1  提示模板的自定義格式 138

7.2.2  提示模板的FewShotPromptTemplate格式 139

7.2.3  部分格式化的提示模板詳解 140

7.3  結合提示工程的網頁搜索服務實戰 142

7.3.1  網頁搜索的API實現 142

7.3.2  網頁問答提示模板的實現 143

7.3.3  結合網頁搜索的LLM終端問答實戰 144

7.4  本章小結 145

第8章  使用ChatGLM3的思維鏈構建 146

8.1  思維鏈初探 146

8.1.1  思維鏈源於人類使用自然語言的概念來理解事物 147

8.1.2  思維鏈的優勢與應用場景 147

8.2  思維鏈詳解及其實戰 149

8.2.1  思維鏈詳解 149

8.2.2  基於ChatGLM3的思維鏈實戰 150

8.3  本章小結 152

第9章  GLM源碼分析與文本生成實戰 153

9.1  GLM組件詳解 154

9.1.1  GLM模型架構重大突破:旋轉位置編碼 154

9.1.2  添加旋轉位置編碼的註意力機制 156

9.1.3  新型的激活函數GLU詳解 156

9.1.4  GLM“三角掩碼”與“錯位”輸入輸出格式詳解 157

9.2  GLM整體架構詳解與文本生成實戰 159

9.2.1  調整架構順序的GLMBlock 159

9.2.2  自定義GLM模型(單文本生成版) 162

9.3  本章小結 167

第10章  低資源單GPU微調ChatGLM3實戰 168

10.1  什麽是大模型微調 168

10.1.1  大模型微調的作用 169

10.1.2  大模型微調技術有哪些 169

10.1.3  參數高效微調詳解 170

10.2  ChatGLM3大模型微調的準備內容 171

10.2.1  從數據準備看ChatGLM3微調:有監督微調詳解 172

10.2.2  從實施看ChatGLM3微調:LoRA詳解 173

10.2.3  適配ChatGLM3微調的輔助庫:PEFT詳解 174

10.3  虛擬客服多輪問答實戰 180

10.3.1  ChatGLM3數據輸入結構和處理函數 181

10.3.2  ChatGLM3微調訓練 186

10.3.3  ChatGLM3微調推理 189

10.4  加速的秘密:accelerate訓練方法與模型量化詳解 191

10.4.1  加速器accelerate詳解與完整代碼編寫 192

10.4.2  加速的秘密1:大模型的量化技術 195

10.4.3  加速的秘密2:大模型的INT8量化方案 196

10.4.4  加速的秘密3:大模型ChatGLM3中的量化源碼分析與實踐 198

10.5  更快的量化訓練方案:QLoRA基礎內容詳解 200

10.5.1  加速的秘密4:基於bitsandbytes的ChatGLM3量化QLoRA實現 200

10.5.2  加速的秘密5:QLoRA詳解 202

10.5.3  微調的目的:讓生成的結果更聚焦於任務 205

10.6  QLoRA微調文本生成實戰 207

10.6.1  數據處理 207

10.6.2  損失函數設計 210

10.6.3  基於QLoRA的ChatGLM3文本生成微調實戰 211

10.6.4  基於QLoRA的ChatGLM3文本生成 213

10.7  本章小結 215

第11章  會使用工具的ChatGLM3 216

11.1  ChatGLM3調用工具源碼詳解與實戰 216

11.1.1  Python調用工具詳解 217

11.1.2  ChatGLM3工具調用流程詳解 218

11.1.3  大模型ChatGLM3工具調用實戰詳解 220

11.1.4  大模型ChatGLM3工具調用原理詳解 223

11.1.5  ChatGLM3消息傳遞方式詳解 230

11.2  ChatGLM3官方工具註冊與調用源碼分析與實戰 231

11.2.1  Python中的裝飾器與回調函數 231

11.2.2  ChatGLM3官方工具函數的註冊源碼分析詳解 233

11.2.3  大模型ChatGLM3官方工具調用的判定依據詳解 236

11.2.4  ChatGLM3官方工具函數的調用分析詳解 237

11.2.5  ChatGLM3調用工具分析與實戰演示 238

11.3  ChatGLM3實戰:構建個人助理之美妝助手 240

11.3.1  背景和參考資料設定 240

11.3.2  美妝助手的使用實戰 246

11.4  本章小結 247

第12章  上市公司財務報表非結構化信息抽取實戰 249

12.1  超長文本處理功能的ChatGLM3與真實財務報表的處理 250

12.1.1  ChatGLM3-6B-32K模型的獲取與緩存 250

12.1.2  超大規模的2020—2023年真實中國股票市場年度財務報表數據庫的建立 250

12.2  單報表非結構化信息抽取實戰 253

12.2.1  單報表數據探查與提取信息結構化處理 253

12.2.2  單報表數據非結構化信息抽取的實現 254

12.3  本章小結 256

第13章  上市公司財務報表智能問答與財務預警實戰 257

13.1  基於ChatGLM3的非結構化數據抽取與大規模財務報表數據庫的建立 257

13.1.1  逐行代碼講解使用ChatGLM3對關鍵數據進行抽取 258

13.1.2  大規模上市公司財務報表目標字段抽取函數的建立 260

13.1.3  大規模上市公司財務報表目標字段數據庫的建立 262

13.2  基於自然語言的上市公司財務報表智能問答與財務預警實戰 264

13.2.1  使用自然語言結合ChatGLM3實現上市公司財務報表智能問答與預警解決方案1 264

13.2.2  使用自然語言結合ChatGLM3-6B實現上市公司財務報表智能問答與預警解決方案2 267

13.2.3  使用自然語言結合ChatGLM3實現上市公司財務報表智能問答與預警解決方案3 270

13.3  本章小結 272

附錄  大模型的“幻覺” 273