
内容简介
近年来,大语言模型(LLM)技术飞速发展,深刻地改变着我们世界的各行各业,越来越多的人意识到这项技术的重要性,却苦于缺少严谨、优质的一站式学习教程。
《语言之舞:大语言模型应用实战全书》旨在为读者提供全面、深入且实践性强的LLM 学习资源,力求将LLM 的理论知识与实际应用案例相结合,帮助读者更好地理解和掌握这一前沿技术。
《语言之舞:大语言模型应用实战全书》具有重视实践、内容全面且系统、案例丰富且实用、代码规范且易懂、紧跟技术前沿等显著的特色,是现阶段LLM理论与实践学习的集大成者。
《语言之舞:大语言模型应用实战全书》的目标读者包括但不限于:对LLM 感兴趣的科研人员、工程师、学生以及希望了解和应用LLM 的企业管理者。本书也可成为各个院校培训机构AI和大模型专业的教材。
作者简介
牛亚运(网名:一个处女座的程序猿)
机器学习和大模型算法专家、国内知名AI博主。入选《关键对话:程序员创富》的“50位顶尖创业者和技术人”名单,担任达摩院评测官及多个头部社区的专家博主,多年位居CSDN社区历史贡献榜榜首。累计获得20余项专业资质,包括AI认证、软件著作权、国家发明专利,并在SCI期刊上发表论文。在AI领域的粉丝超200万人,所写文章总浏览量突破6000万人次。
倪静 博士
上海理工大学管理学院人工智能系副教授,长期从事人工智能应用的相关研究,以第一作者/通讯作者身份在SCI/SSCI/CSSCI等期刊上发表论文40余篇;主持、参与并完成国家自然科学基金、教育部人文社科、上海市自然科学基金等多项国家级和省部级相关项目,主持企业横向项目30余项,在人工智能应用、数字孪生、ERP/MEMS、项目管理、优化算法、智能设计/制造、AI+量化交易等方面建树颇丰。
目录
第1章LLM构建流程.11.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-TuningV2.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-InstructWebDemo部署.140
3.1.2.3 采用FastAPI部署与调用LLaMA-3-8B-Instruct.141
3.1.2.4 基于LMStudio结合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-TuningV2微调.152
3.2.1.3 在云服务器(4090-24GB)上采用P-TuningV2微调.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-TuningV2、SFT实现微调.163
3.4.1.2 在云服务器(4090-24GB)上采用LoRA或P-TuningV2实现对话微调.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在ToB领域落地应用的现有场景实践.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.5MCP.221
5.5.1提示工程痛点与MCP出现.221
5.5.2MCP核心内容.222
5.5.3MCP的典型应用场景.223
5.5.4MCP的使用经验与技巧.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框架实现RAG274
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 ReActAgent简介.301
6.4.3.2 ReWOOAgent简介.305
6.4.3.3 DERAAgent简介.306
6.4.3.4 智能体设计的三大范式.307
6.4.4 智能体应用的分类.308
6.4.5 智能体实战.309
6.4.5.1 模型推理:基于LangChain框架并结合GPT-4o和GPT-4实现ToolAgent.309
6.4.5.2 模型推理:基于LangChain框架实现ReActAgent.309
6.4.5.3 模型推理:基于LangChain框架实现KG-RAGAgent.310
6.4.5.4 基于LangChain框架和FastAPI部署ToolAgent服务.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
······
最后修改:2025 年 12 月 23 日
© 允许规范转载
