内容简介
全书分两大篇。第 1 篇原理篇(第 1、2 章),尝试引导读者共同探索和揭秘研发领域大模型背后的核心原理,以使读者“既知其然,又知其所以然”,并为后续章节的学习打下坚实的基础。从概率、最优化等基础理论入手,进而深入浅出地阐述 Transformer、神经元等大模型的核心组成元素,以及评估方法、数据工程建设等通用能力的建设。针对技术细节,采用通俗易懂的行文风格,并辅以大量的图表和数据,“零基础”的读者也可以高效地学习。第 2 篇应用实践篇(第3 ~ 8章),是产业界最新实践成果的总结。选取代码生成、代码转换、知识问答、推理加速、运维运营等研发大模型领域的高频业务作为剖析对象,详细展示作者在针对这些问题时的端到端思考,包括设计理念、关键技术瓶颈、解决方案及落地结果等。
无论你是初学者还是行业专家,都能在本书中找到宝贵的知识和实用的技巧,本书将帮助你在大模型技术的浪潮中乘风破浪。
目录
第1篇 原理篇
第1章 人工智能概述 002
1.1 人工智能的定义 002
1.2 人工智能发展简史 003
1.2.1 史前文明,曙光初现(1956年之前) 004
1.2.2 初出茅庐,一战成名(1956—1974年) 008
1.2.3 寒风凛冽,首次入冬(1974—1980年) 011
1.2.4 卷土重来,威震八方(1980—1987年) 012
1.2.5 失望弥漫,再度入冬(1987—1993年) 014
1.2.6 重出江湖,渐入佳境(1993年至今) 016
1.3 自然语言处理和大语言模型 018
1.3.1 自然语言处理 018
1.3.2 大语言模型 037
第2章 大模型的数学基础 039
2.1 微分学 039
2.1.1 链式求导法则 039
2.1.2 对数函数求导 039
2.1.3 梯度和梯度下降算法 040
2.2 线性代数 041
2.2.1 向量 041
2.2.2 矩阵拼接 046
2.2.3 特征值和特征向量 053
2.2.4 几何变换 054
2.3 概率论 056
2.3.1 概率分布 056
2.3.2 先验概率和后验概率 058
2.3.3 最大似然估计 059
2.3.4 贝叶斯法则 060
2.4 统计学 061
2.4.1 数据的标准化和归一化 061
2.4.2 标准差 062
2.4.3 偏差和方差 062
2.4.4 协方差和协方差矩阵 063
2.5 深度神经网络基础 064
2.5.1 神经元 064
2.5.2 激活函数 067
2.5.3 前向传播和后向传播算法 072
2.5.4 损失函数 077
2.6 Transformer机制详解 084
2.6.1 Transformer简介 084
2.6.2 分词及向量化 085
2.6.3 位置编码 086
2.6.4 自注意力和多头注意力 087
2.6.5 残差连接和层归一化 089
2.6.6 Transformer小结 090
2.7 其他 093
2.7.1 训练、验证和测试数据集 093
2.7.2 过拟合和欠拟合 096
2.7.3 奥卡姆剃刀原则 097
2.7.4 信息熵 098
第2篇 应用实践篇
第3章 大语言模型与检索增强生成技术 102
3.1 检索增强生成背景 102
3.2 检索增强生成技术框架 102
3.2.1 信息检索 104
3.2.2 提示工程 111
第4章 基于大语言模型的智能问答助手 114
4.1 文档离线预处理与存储 114
4.1.1 格式化 115
4.1.2 切割 115
4.1.3 向量化与存储 119
4.2 联网在线预处理与存储 122
4.3 在线 QA 服务 123
4.3.1 用户问题向量化 124
4.3.2 Prompt 组装 124
4.3.3 问答召回 124
4.4 长记忆与多轮对话 125
4.5 归因与可解释性 128
4.6 评测 129
4.7 用户反馈 131
4.8 待解决的系列问题 131
第5章 基于大语言模型的智能数据助手 134
5.1 数据标准化 135
5.2 工具 140
5.3 案例 143
第6章 基于大语言模型的鸿蒙代码转换探索 145
6.1 背景概述 145
6.2 问题剖析 145
6.3 探索破题 150
6.3.1 总体思路概述 151
6.3.2 基于“知识体系”的数据工程建设 152
6.3.3 针对被转换对象“庖丁解牛” 155
6.3.4 提取典型问题模式,利用关键技术“各个击破” 157
6.3.5 不断优化“反馈回路”,缓解工程复杂性 159
第7章 大语言模型的推理加速 161
7.1 引言 161
7.2 推理加速技术原理 165
7.2.1 推理计算与显存分析 165
7.2.2 模型压缩 169
7.2.3 计算加速 181
7.2.4 技术总览 198
7.3 推理加速框架 199
7.3.1 vLLM 199
7.3.2 TGI 206
7.4 推理加速工程实践 209
7.4.1 Llama3 在vLLM 框架上的推理 209
7.4.2 Llama3 在TGI框架上的推理 211
7.4.3 推理测试 212
第8章 大语言模型的运维与持续优化 223
8.1 运维背景 223
8.2 链路追踪 224
8.3 数据管理与测试用例管理 236
8.3.1 Web 数据集管理 236
8.3.2 SDK 数据集管理 236
8.3.3 数据集版本管理 237
8.3.4 few-shot 动态管理 238
8.4 一站式评测 239
8.4.1 评测 239
8.4.2 单元测试 241
8.4.3 回归测试 241
8.4.4 流量录制回放测试 241
8.4.5 Agent/Tool 评测 242
8.4.6 RAG 评测 244
8.5 Prompt管理 246
8.6 监控告警 248
8.6.1 过滤器 248
8.6.2 监控 248
8.7 部署 249
8.7.1 框架 249
8.7.2 k8s 部署 250
参考文献 253
前言/序言
现在是2025年初,人工智能发展到了什么程度?
ChatGPT写的本书序言
上面是作者让ChatGPT编写的本书序言,用时不到1分钟。
乍一看,似乎像那么回事,或者说相比于3年前的AI水平,这种实时的写作水平几乎是不可想象的。
这说明,过去的几年是AI技术呈井喷式发展的黄金期。值得一提的是,这种“黄金期”在AI近70年(从1956年达特茅斯会议开始计算)的发展历史中,还发生过好几次。每一次人们都“膨胀”地认为,人类已经无限接近“通用人工智能”,然后就是跌落谷底,周而复始。因而很多人这次多了些许谨慎:以大模型语言(Large Language Model,LLM)为典型代表的本轮“黄金期”,会重蹈历史的覆辙吗?
没有人可以精准预测未来,所以上述问题的答案暂时不得而知。
但可以肯定的是,相比于历史上的任何一个发展周期,LLM确实给大家带来了更多的希望。
首先是“方法”上的希望。人工智能的流派很多,如果要把它们粗略地划分为两类,那么可能是“逻辑类”和“数据类”。前者主要以数学为支撑,主打精确的逻辑推理,因而可解释性强,可靠度高;后者的“主角”则是数据,并基于数据来构建一系列支撑框架。
这二者孰强孰弱,孰优孰劣?
作者认为,短期内可能会偏向“数据类”,长期则可能是“逻辑类”渐走渐强。
这是因为针对诸如“人工智能”这种复杂系统,至少到现阶段为止,人类还无法掌控其本质原理,也就难以给出精确的数学描述。历史上以“逻辑推理”为核心的AI流派,都无一不是“昙花一现”,因为这个世界 “千变万化”。如果只是想以“上层的运行规则”来描述它,不难理解需要“遍历的场景”将是无穷无尽的,所以失败是必然的。
“数据类”的方法则依托人类在真实世界中所产生的各种“记录”,然后让AI“自我学习”。换句话说,没有人知道“智能的数学公式”是什么,取而代之的是大模型背后的“函数拟合”。这种方法与人类的学习过程似乎也是“不谋而合”的,只不过它们在具体的“数据构建”和“训练方法”上存在差异。
当然,简单有效的“数据类”方法也有先天不足。首先是“浪费”。大模型动辄百亿甚至千亿级参数,TB级的训练数据,以及需要数万甚至数十万GPU共同参与的训练计算过程,原因在于我们无法准确掌握“智能背后本质的数学描述”,只能通过一轮又一轮的参数迭代更新,“逼近”可能的“最优解”。这是一种无奈之举,也必然导致各种“浪费”。
其次是“涌现”的希望。当前的AI是通过“数据堆出来”的,所以一个悲观的判断就是,它只能解答从“数据”中学习过的“案例”,至于人类引以为傲的逻辑推理类问题, AI给出准确回答则是“天方夜谭”。然而,近两年研究人员惊喜地发现,当参数规模达到一定量级以后,原本“蠢萌”的大模型突破就“化茧成蝶”蜕变了。不仅在原先的各项任务上出现了指数级的能力增长,而且出现了神奇的“推理”能力。虽然这种“推理”略显稚嫩,但是给予了我们新的期许。
另外,“实践是检验真理的唯一标准”。AI除了带给我们上述新的希望外,也给各行各业的发展注入了新的活力。一种乐观的说法是,以深度学习和大模型为代表的AI技术,有可能是下一轮“康波经济周期”的核心动力。作者所在的公司是一家五百强企业,涉及业务范围较广。我们公司也在积极地拥抱大模型,并尝试将其融入公司的各个角落中。“是骡子是马,总归得拉出来遛遛”,特别是面向研发领域,我们在近几年开展了一系列大规模的AI实践工作。
在“遛马/骡”的过程中,我们逐步掌握了大模型越来越多的“秉性脾气”。这些经验和教训,应该也可以为广大读者学习和应用大模型技术提供些许参考。
因而就有了这本书的诞生。
致谢
感谢清华大学出版社的编辑文怡等,你们的专业态度和处理问题的人性化,是所有作者的“福音”。
感谢清华大学王劲涛、孙智等老师给予我细致入微的指导和帮助。
感谢我的家人林进跃、张建山、林美玉、杨惠萍、林月明,没有你们的鼓励与理解,就没有本书的顺利出版。
感谢我的妻子张白杨的默默付出,是你在工作之外还无怨无悔地在照顾着两个孩子,才让我有充足的时间和精力来写作。
感谢所有读者的支持,是你们赋予了我写作的动力。另外,因为个人能力和水平有限,书中难免会有不足之处,希望读者不吝指教,一起探讨学习。
林学森
2025年2月