內容簡介
近年來,大語言模型(LLM)技術飛速發展,深刻地改變著我們世界的各行各業,越來越多的人意識到這項技術的重要性,卻苦於缺少嚴謹、優質的一站式學習教程。本書旨在為讀者提供全面、深入且實踐性強的LLM 學習資源,力求將LLM 的理論知識與實際應用案例相結合,幫助讀者更好地理解和掌握這一前沿技術。本書具有重視實踐、內容全面且系統、案例豐富且實用、代碼規範且易懂、緊跟技術前沿等顯著的特色,是現階段LLM理論與實踐學習的集大成者。
本書的目標讀者包括但不限於:對LLM 感興趣的科研人員、工程師、學生以及希望瞭解和應用LLM 的企業管理者。本書也可成為各個院校培訓機構AI和大模型專業的教材。
作者簡介
牛亞運(網名:一個處女座的程序猿)
機器學習和大模型算法專家、國內知名AI博主。入選《關鍵對話:程序員創富》的”50位頂尖創業者和技術人”名單,擔任達摩院評測官及多個頭部社區的專家博主,多年位居CSDN社區歷史貢獻榜榜首。累計獲得20余項專業資質,包括AI認證、軟件著作權、國家發明專利,並在SCI期刊上發表論文。在AI領域的粉絲超200萬人,所寫文章 總瀏覽量突破6000萬人次。
倪靜 博士
上海理工大學管理學院人工智能系副教授,長期從事人工智能應用的相關研究,以第一作者/通訊作者身份在SCI/SSCI/CSSCI等期刊上發表論文40餘篇;主持、參與並完成國家自然科學基金、教育部人文社科、上海市自然科學基金等多項國家級和省部級相關項目,主持企業橫向項目30余項,在人工智能應用、數字孿生、ERP/MEMS、項目管理、優化算法、智能設計/製造、AI+量化交易等方面建樹頗豐。
精彩書評
本書以科學嚴謹的態度,深入探討了大語言模型從代碼實戰到部署應用的各個環節,對大語言模型中的關鍵技術,如算法原理、代碼實現細節 等,進行了細緻入微的講解,邏輯清晰、論證嚴謹。同時,豐富的實戰案例讓理論知識變得生動可感,極具吸引力。在AI技術飛速發展的當下,這樣一本凝結著作者智慧與汗水的書籍,不僅為技術愛好者和從業者提供了寶貴的學習資源,也讓我們更加珍視人類在技術探索過程中付出的努力,期待更多優秀的作品問世。
張大磊——鷹瞳Airdoc的創始人,譯作有《C#與 NET3 5高級程序設計(第4版)》
本書既有代碼實戰指導,又有工程實踐分析,使技術落地更具操作性。對於致力於推動工程技術與人工智能融合的學者與工程師來說,此書是值得細讀的作品。
李衛東——長江學者教授、上海創新領軍人才、英國機械工程師學會會士
目錄
第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 選擇