描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121473043丛书名: 通用智能与大模型丛书
作者知名:轩辕大模型负责人:真正的大语言模型实践者,拥有十亿、百亿、千亿等不同参数规模大语言模型的训练经验
系统性强:从数据处理的基础工作(如数据清洗与去重)讲起,逐步深入,探讨预训练、微调技术和强化对齐技术等核心技术环节。同时,书中对大语言模型评估策略及其应用技术架构,包括推理引导技术和动态交互技术,进行了全面且深入的探讨,确保读者能够从理论和技术角度全面理解大语言模型。
实践性强:精心设计了从零开始的教学章节,提供大语言模型微调的详细指导,逐步引领读者掌握关键技能。
本书不仅有助于初学者迅速上手,也为有经验的开发者提供了深入学习的机会
全彩印刷
本书用10章对大语言模型进行全面且深入的介绍。
首先对大语言模型的基本概念进行介绍。其次,从大语言模型的基础技术、预训练数据构建、预训练技术等方面展开讨论,帮助读者深入了解大语言模型的构建和训练过程。然后,详细介绍有监督微调和强化对齐等技术,以及如何评估大语言模型的性能。此外,介绍提示工程和工程实践等方面的内容,帮助读者了解大语言模型的应用和实际操作过程。最后,介绍如何从零开始微调大语言模型,辅以代码示例,帮助读者更好地应用这些技术。
通过阅读本书,读者可以获得全面且深入的大语言模型的知识框架。
目 录
1 解锁大语言模型1
1.1 什么是大语言模型·1
1.2 语言模型的发展·2
1.3 GPT 系列模型的发展·3
1.4 大语言模型的关键技术·4
1.5 大语言模型的涌现能力·5
1.6 大语言模型的推理能力·5
1.7 大语言模型的缩放定律·6
参考文献·7
2 大语言模型基础技术·8
2.1 语言表示介绍·8
2.1.1 词表示技术·8
2.1.2 分词技术·9
2.2 经典结构 Transformer·14
2.2.1 输入模块·15
2.2.2 多头自注意力模块·16
2.2.3 残差连接与层归一化·19
2.2.4 前馈神经网络·19
2.2.5 解码器·19
2.3 预训练语言模型·21
2.3.1 Decoder 的代表:GPT 系列·21
2.3.2 Encoder 的代表:BERT·23
2.4 初探大语言模型·24
2.4.1 InstructGPT·24
2.4.2 LLaMA 系列·28
参考文献·30
3 预训练数据构建·32
3.1 数据的常见类别及其来源·32
3.1.1 网页数据·33
3.1.2 书籍数据·34
3.1.3 百科数据·34
3.1.4 代码数据·34
3.1.5 其他数据·36
3.2 数据的预处理方式·36
3.2.1 正文提取·37
3.2.2 质量过滤·37
3.2.3 文档去重·38
3.2.4 数据集净化·39
3.3 常用数据集的完整构建方式 ·40
3.3.1 C4·40
3.3.2 MassiveText·40
3.3.3 RefinedWeb·41
3.3.4 ROOTS·42
3.4 难点和挑战·43
3.4.1 数据收集的局限性·43
3.4.2 数据质量评估的挑战·43
3.4.3 自动生成数据的风险·44
参考文献·44
4 大语言模型预训练·46
4.1 大语言模型为什么这么强·46
4.2 大语言模型的核心模块·49
4.2.1 核心架构·49
4.2.2 组成模块选型·51
4.3 大语言模型怎么训练·60
4.3.1 训练目标·60
4.3.2 数据配比·62
4.4 预训练还有什么没有解决·65
参考文献·66
5 挖掘大语言模型潜能:有监督微调·67
5.1 揭开有监督微调的面纱·67
5.1.1 什么是有监督微调·67
5.1.2 有监督微调的作用与意义·68
5.1.3 有监督微调的应用场景·68
5.2 有监督微调数据的构建·69
5.2.1 有监督微调数据的格式·69
5.2.2 有监督微调数据的自动化构建·70
5.2.3 有监督微调数据的选择·75
5.3 大语言模型的微调方法·76
5.3.1 全参数微调·76
5.3.2 适配器微调·76
5.3.3 前缀微调·77
5.3.4 提示微调·78
5.3.5 低秩适配·79
5.4 大语言模型的微调和推理策略·79
5.4.1 混合微调策略·80
5.4.2 基于上下文学习的推理策略·81
5.4.3 基于思维链的推理策略·82
5.5 大语言模型微调的挑战和探索·83
5.5.1 大语言模型微调的幻觉问题·83
5.5.2 大语言模型微调面临的挑战·84
5.5.3 大语言模型微调的探索与展望 ·84
参考文献·85
6 大语言模型强化对齐·87
6.1 强化学习基础 ·87
6.1.1 强化学习的基本概念·87
6.1.2 强化学习中的随机性·88
6.1.3 强化学习的目标·89
6.1.4 Q 函数与 V 函数·89
6.2 DQN 方法·91
6.2.1 DQN 的结构·91
6.2.2 DQN 训练:基本思想·92
6.2.3 DQN 训练:目标网络·94
6.2.4 DQN 训练:探索策略·94
6.2.5 DQN 训练:经验回放·95
6.2.6 DQN 训练:完整算法·95
6.2.7 DQN 决策·96
6.3 策略梯度方法·96
6.3.1 策略网络的结构·96
6.3.2 策略网络训练:策略梯度·97
6.3.3 策略网络训练:优势函数·99
6.3.4 PPO 算法·100
6.4 揭秘大语言模型中的强化建模·101
6.4.1 Token-level 强化建模·101
6.4.2 Sentence-level 强化建模·102
6.5 奖励模型·103
6.5.1 奖励模型的结构·103
6.5.2 奖励模型的训练·104
6.5.3 奖励模型损失函数分析·106
6.6 RLHF·108
6.6.1 即时奖励·108
6.6.2 RLHF 算法·109
6.7 RLHF 实战框架·111
6.8 RLHF 的难点和问题·111
6.8.1 数据瓶颈·112
6.8.2 硬件瓶颈·113
6.8.3 方法瓶颈·114
参考文献·115
7 大语言模型的评测·117
7.1 基座语言模型的评测·117
7.1.1 主要的评测维度和基准概述·118
7.1.2 具体案例:LLaMA 2 选取的评测基准·118
7.2 大语言模型的对话能力评测·120
7.2.1 评测任务·120
7.2.2 评测集的构建标准·131
7.2.3 评测方式·132
7.3 大语言模型的安全性评测·132
7.3.1 评测任务·133
7.3.2 评测方式和标准·134
7.4 行业大语言模型的评测:以金融行业大语言模型为例·134
7.4.1 金融行业大语言模型的自动化评测集·135
7.4.2 金融行业大语言模型的人工评测集·136
7.5 整体能力的评测·137
7.6 主流评测数据集及基准·138
参考文献·142
8 大语言模型的应用·143
8.1 大语言模型为什么需要提示工程·143
8.1.1 人类和大语言模型进行复杂决策的对比·144
8.1.2 提示工程的作用·144
8.2 什么是提示词·145
8.2.1 提示词的基础要素·146
8.2.2 提示词设计的通用原则·146
8.3 推理引导·147
8.3.1 零样本提示·147
8.3.2 少样本提示·148
8.3.3 思维链提示·149
8.3.4 自我一致性提示·150
8.3.5 思维树提示·151
8.4 动态交互·155
8.4.1 检索增强生成技术·155
8.4.2 推理和行动协同技术·159
8.5 案例分析·161
8.5.1 案例介绍·161
8.5.2 工具设计·161
8.5.3 提示词设计·165
8.5.4 案例运行·167
8.6 局限和发展·172
8.6.1 目前的局限·172
8.6.2 未来的发展·173
参考文献·173
9 工程实践·175
9.1 大语言模型训练面临的挑战·175
9.2 大语言模型训练综述·176
9.2.1 数据并行·176
9.2.2 模型并行·179
9.2.3 ZeRO 并行·181
9.3 大语言模型训练技术选型技巧·184
9.4 大语言模型训练优化秘籍·186
9.4.1 I/O 优化·186
9.4.2 通信优化·187
9.4.3 稳定性优化·190
9.5 大语言模型训练工程实践·190
9.5.1 DeepSpeed 架构·191
9.5.2 DeepSpeed 训练详解·191
9.5.3 DeepSpeed 训练调优实践·194
9.6 强化学习工程实践·196
9.6.1 DeepSpeed-Chat 混合引擎架构·196
9.6.2 DeepSpeed-Chat 训练详解·197
9.6.3 DeepSpeed-Chat 训练调优实践·199
9.7 大语言模型推理工程·201
9.7.1 提升规模:模型量·202
9.7.2 提高并行度:张量并行·205
9.7.3 推理加速:算子优化·207
9.7.4 降低计算量:KV-Cache·208
9.7.5 推理工程综合实践·210
参考文献·212
10 手把手教你训练 7B 大语言模型·214
10.1 自动化训练框架·214
10.1.1 自动化训练框架介绍·214
10.1.2 主要模块介绍·215
10.2 动手训练 7B 大语言模型·237
10.2.1 语料预处理·238
10.2.2 预训练实践·240
10.2.3 指令微调实践·245
10.3 小结·247
缘起:为什么要写这本书
OpenAI的ChatGPT自推出以来,迅速成为人工智能领域的焦点。ChatGPT在语言理解、生成、规划及记忆等多个维度展示了强大的能力。这不仅体现在对特定任务的高效处理上,更重要的是,它在处理多样化任务和复杂场景中的灵活性显著,甚至能在一定程度上模拟人类的思考方式。这种能力的展现,标志着人工智能从专注于单一任务的传统模型向通用人工智能转变,其强大的能力将对千行百业产生深远影响,尤其在优化业务流程和重塑组织结构方面。
然而,在研究和实践过程中,我们遇到了一个主要挑战:市场上缺乏大语言模型在实际应用方面的资料。现有的资料多聚焦于理论研究,而具体的实践方法多被保密,难以获得实际操作的指导。为了填补这一空白,我们历经一年的实践和探索,决定分享我们的经验和成果,旨在为大语言模型的初学者和实践者提供快速入门和应用的途径。
为应对技术的快速演进和信息的日新月异,我们建立了一个GitHub社区,用于持续更新我们的技术成果和见解。我们期望通过这种方式,促进读者对大语言模型的深入理解和广泛应用,推动整个领域的持续发展和创新。
本书特色
本书旨在揭开大语言模型的神秘面纱,透彻地解读其内在机理和应用实践。书中不仅介绍理论知识,更介绍了深入这一技术领域的具体训练过程,目的是为读者提供一个全面、深入且系统化的视角,以揭示大语言模型的精妙之处。
本书的一大特色体现在其知识体系的系统性。我们从数据处理的基础工作(如数据清洗与去重)讲起,逐步深入,探讨预训练、微调技术和强化对齐技术等核心技术环节。同时,书中对大语言模型评估策略及其应用技术架构,包括推理引导技术和动态交互技术,进行了全面且深入的探讨,确保读者能够从理论和技术角度全面理解大语言模型。
本书的另一大特色是对实践性的重视。我们精心设计了从零开始的教学章节,提供大语言模型微调的详细指导,逐步引领读者掌握关键技能。这不仅有助于初学者迅速上手,也为有经验的开发者提供了深入学习的机会。
作为真正的大语言模型实践者,我们拥有十亿、百亿、千亿等不同参数规模大语言模型的训练经验。在本书中,这些经验都被毫无保留地融入其中,确保本书内容的实用性和深度。
本书是理论与实践经验的精华,干货满满,绝非空谈。
本书结构
本书共10章,下面是各章的主要内容概述。
第1章:解锁大语言模型
本章勾勒大语言模型的全貌,并介绍大语言模型的基础概念。
第2章:大语言模型基础技术
本章旨在深度解析构成大语言模型的基础知识和核心技术。先回顾自然语言的基础表示方法,为理解复杂模型奠定基础;再详尽地探讨自然语言处理中的预训练架构——Transformer,以揭示其内在工作机制;接着介绍如BERT和GPT这样的标杆性预训练模型;最后以InstructGPT和LLaMA系列为例,为读者呈现大语言模型的初步实用成果。
第3章:预训练数据构建
本章将深入探讨预训练数据的常见类别、来源和预处理方式,以及构建训练数据的重点和难点。
第4章:大语言模型预训练
本章将深入探讨大语言模型预训练的各个方面。首先解析不同的大语言模型架构和不同模块的选择;同时对大语言模型的训练过程进行介绍,包括数据选择和配比策略、模型训练等。
第5章:挖掘大语言模型潜能:有监督微调
本章将从定义、用途和应用场景3个方面解释有监督微调;同时讲解如何构建有针对性的微调数据,以及大语言模型微调的各种技巧。
第6章:大语言模型强化对齐
本章先介绍强化学习的基础知识、两类主流深度强化学习算法,重点介绍大语言模型中基于人类反馈的强化学习(RLHF)技术,然后介绍强化学习常用的训练框架和平台,以及RLHF实践过程中的常见问题;最后介绍RLHF中的难点及目前存在的问题,对RLHF将来可能的技术发展做进一步展望。
第7章:大语言模型的评测
本章首先介绍大语言模型的评测,如基座模型的评测方式等。然后重点讲解微调之后具有对话能力的模型的评测方式,包括SFT阶段全维度的对话能力评测和 RLHF 阶段模型以安全性为主的能力评测。最后探讨如何评价一个通用人工智能。
第8章:大语言模型的应用
本章将展示提示词技术对大语言模型的引导能力。首先从最简单的零样本提示开始介绍,这些技术使大语言模型拥有逐步推理的能力。然后介绍搜索增强生成技术、推理和行动协同技术,利用这两个技术,大语言模型可以获得在与环境的交互中逐步分解并解决问题的能力。
第9章:工程实践
本章将深入探讨大语言模型从训练到完成任务的各个环节所涉及的工程优化技术和相关实践案例。这些技术和实践旨在提高模型的效率、性能和可扩展性,从而满足实际应用中的需求。
第10章:手把手教你训练7B大语言模型
本章将介绍微调大语言模型的关键步骤和代码示例,以便更直接地应用这些技术。
通过阅读本书,读者可以获得全面且深入的大型语言模型的知识框架。无论您是研究人员、工程师,还是产品经理,都能从中获得有价值的知识。大语言模型已经在各个领域展现出了巨大的潜力,本书将帮您更好地掌握和应用这一技术。
说明
本书包含与大语言模型的对话示例。为了真实地展示大语言模型的对话能力,对话内容中难免会出现用词不规范、语句不通顺甚至错误的情况。在此,恳请各位读者包涵。
致谢
在本书的创作旅程中,感激所有给予我们支持的人。感谢我的团队成员,他们对技术的信仰和对卓越的追求为本书注入了灵魂;感谢行业内的所有贡献者,他们的研究和实践成果为我们提供了宝贵的参考和灵感;感谢电子工业出版社郑柳洁编辑和整个出版团队,他们的专业技能和对细节的关注,确保了这本书能够完美地呈现给广大读者。感谢所有直接或间接参与本书创作的人,是你们让这一切成为可能。
评论
还没有评论。