新書推薦:
《
欧洲史:一本书历览欧洲数千年兴衰起伏,理解欧洲文明何以铸就今日世界
》
售價:HK$
333.8
《
趣学CCNA——路由与交换(第2版)
》
售價:HK$
100.6
《
世界航空地理(世界国别与区域地理研究丛书)
》
售價:HK$
244.2
《
学术的中心:英法德美
》
售價:HK$
87.4
《
为什么要读人类学
》
售價:HK$
77.3
《
井邑无衣冠 : 地方视野下的唐代精英与社会
》
售價:HK$
95.2
《
星地融合移动通信系统与关键技术从5G NTN到6G的卫星互联网发展
》
售價:HK$
212.6
《
妈妈,你好吗?(一封写给妈妈的“控诉”信,日本绘本奖作品)
》
售價:HK$
42.6
|
編輯推薦: |
√解码大语言模型奥秘,引领机器智能新时代!
√详细介绍构建LLM的四个主要阶段:预训练、有监督微调、奖励建模和强化学习。每个阶段都有算法、代码、数据来源、难点及实践经验的详细讨论。
√结合作者在NLP领域多年的研究经验、超300篇相关论文深度研读感悟!
√分享作者团队从0开始研发复旦大学MOSS大语言模型过程中的实践经验,为读者展示大语言模型训练的全流程细节。
√配全书PPT课件。
|
內容簡介: |
2023年ChatGPT火爆全球,以其为代表的人工智能大语言模型成为全球人工智能从业者关注的焦点。 本书详细介绍了构建大语言模型的四个主要阶段:预训练、有监督微调、奖励建模和强化学习。每个阶段都有算法、代码、数据、难点及实践经验的详细讨论。本书以大语言模型的基础理论开篇,探讨了大语言模型预训练数据的构建方法,以及大语言模型如何理解并服从人类指令,介绍了大语言模型的扩展应用和评估方法,为读者提供了更全面的视野。 本书旨在为对大语言模型感兴趣的读者提供入门指南,也可作为高年级本科生和研究生自然语言处理相关课程的补充教材。
|
關於作者: |
张奇
复旦大学计算机科学技术学院教授、博士生导师。主要研究方向是自然语言处理和信息检索。兼任中国中文信息学会理事,中国中文信息学会信息检索专委会常务委员,中国人工智能学会青年工作委员会常务委员。多次担任ACL、EMNLP、COLING、全国信息检索大会等重要国际、国内会议的程序委员会主席、领域主席、讲习班主席等。承担国家重点研发计划课题、国家自然科学基金、上海市科委等多个项目,在国际重要学术刊物和会议上发表论文150余篇,获得美国授权专利4项。获得WSDM 2014最佳论文提名奖、COLING 2018领域主席推荐奖、NLPCC 2019杰出论文奖、COLING 2022杰出论文奖。获得上海市“晨光计划”人才计划、复旦大学“卓越2025”人才培育计划等支持,获得钱伟长中文信息处理科学技术一等奖、汉王青年创新一等奖、上海市科技进步二等奖、ACM上海新星提名奖、IBM Faculty Award等奖项。
桂韬
复旦大学自然语言处理实验室副研究员、硕士生导师。研究领域为预训练模型、信息抽取和鲁棒模型。在高水平国际学术期刊和会议上发表论文40余篇,主持国家自然科学基金、计算机学会、人工智能学会的多个基金项目。获得钱伟长中文信息处理科学技术一等奖、中国中文信息学会优秀博士论文奖、COLING 2018最佳论文提名奖、NLPCC 2019杰出论文奖,入选第七届中国科协青年人才托举工程,入选上海市2023年度“科技创新行动计划”启明星项目,获得2023年度世界人工智能大会云帆奖。
郑锐
复旦大学计算机科学技术学院博士生,导师为张奇教授。研究兴趣包括大模型对齐、鲁棒性等。MOSS-RLHF开源项目负责人,文本鲁棒性评测工具TextFlint的核心贡献者,在ACL、EMNLP、COLING等国际会议上发表学术论文十余篇。
黄萱菁
复旦大学计算机科学技术学院教授、博士生导师。主要从事人工智能、自然语言处理和信息检索研究。兼任中国中文信息学会理事,中国计算机学会自然语言处理专委会副主任,中国人工智能学会女科技工作者委员会副主任,计算语言学学会亚太分会副主席,亚太信息检索学会指导委员会委员。承担国家重点研发计划课题、国家自然科学基金等多个项目,在国际重要学术刊物和会议上发表论文180余篇。获得钱伟长中文信息处理科学技术一等奖、上海市育才奖、人工智能全球女性学者、福布斯中国科技女性等多项荣誉。
|
目錄:
|
第1章 绪论 1
1.1 大语言模型的基本概念 1
1.2 大语言模型的发展历程 4
1.3 大语言模型的构建流程 8
1.4 本书的内容安排 11
第2章 大语言模型基础 13
2.1 Transformer结构 13
2.1.1 嵌入表示层 14
2.1.2 注意力层 16
2.1.3 前馈层 18
2.1.4 残差连接与层归一化 19
2.1.5 编码器和解码器结构 20
2.2 生成式预训练语言模型GPT 25
2.2.1 无监督预训练 26
2.2.2 有监督下游任务微调 27
2.2.3 基于HuggingFace的预训练语言模型实践 27
2.3 大语言模型的结构 33
2.3.1 LLaMA的模型结构 34
2.3.2 注意力机制优化 40
2.4 实践思考 47
第3章 大语言模型预训练数据 49
3.1 数据来源 49
3.1.1 通用数据 50
3.1.2 专业数据 51
3.2 数据处理 52
3.2.1 质量过滤 52
3.2.2 冗余去除 53
3.2.3 隐私消除 55
3.2.4 词元切分 55
3.3 数据影响分析 61
3.3.1 数据规模 61
3.3.2 数据质量 64
3.3.3 数据多样性 66
3.4 开源数据集 68
3.4.1 Pile 68
3.4.2 ROOTS 71
3.4.3 RefinedWeb 73
3.4.4 SlimPajama 75
3.5 实践思考 79
第4章 分布式训练 80
4.1 分布式训练概述 80
4.2 分布式训练的并行策略 83
4.2.1 数据并行 84
4.2.2 模型并行 88
4.2.3 混合并行 96
4.2.4 计算设备内存优化 97
4.3 分布式训练的集群架构 102
4.3.1 高性能计算集群的典型硬件组成 102
4.3.2 参数服务器架构 103
4.3.3 去中心化架构 104
4.4 DeepSpeed实践 110
4.4.1 基础概念 112
4.4.2 LLaMA分布式训练实践 115
4.5 实践思考 127
第5章 有监督微调 128
5.1 提示学习和语境学习 128
5.1.1 提示学习 128
5.1.2 语境学习 130
5.2 高效模型微调 131
5.2.1 LoRA 131
5.2.2 LoRA的变体 135
5.3 模型上下文窗口扩展 137
5.3.1 具有外推能力的位置编码 137
5.3.2 插值法 138
5.4 指令数据的构建 141
5.4.1 手动构建指令 141
5.4.2 自动构建指令 142
5.4.3 开源指令数据集 146
5.5 DeepSpeed-Chat SFT实践 147
5.5.1 代码结构 148
5.5.2 数据预处理 151
5.5.3 自定义模型 153
5.5.4 模型训练 155
5.5.5 模型推理 156
5.6 实践思考 157
第6章 强化学习 158
6.1 基于人类反馈的强化学习 158
6.1.1 强化学习概述 159
6.1.2 强化学习与有监督学习的区别 161
6.1.3 基于人类反馈的强化学习流程 162
6.2 奖励模型 163
6.2.1 数据收集 164
6.2.2 模型训练 166
6.2.3 开源数据 167
6.3 近端策略优化 168
6.3.1 策略梯度 168
6.3.2 广义优势估计 173
6.3.3 近端策略优化算法 175
6.4 MOSS-RLHF实践 180
6.4.1 奖励模型训练 180
6.4.2 PPO微调 181
6.5 实践思考 191
第7章 大语言模型应用 193
7.1 推理规划 193
7.1.1 思维链提示 193
7.1.2 由少至多提示 196
7.2 综合应用框架 197
7.2.1 LangChain框架核心模块 198
7.2.2 知识库问答系统实践 216
7.3 智能代理 219
7.3.1 智能代理的组成 219
7.3.2 智能代理的应用实例 221
7.4 多模态大语言模型 228
7.4.1 模型架构 229
7.4.2 数据收集与训练策略 232
7.4.3 多模态能力示例 236
7.5 大语言模型推理优化 238
7.5.1 FastServe框架 241
7.5.2 vLLM推理框架实践 242
7.6 实践思考 244
第8章 大语言模型评估 245
8.1 模型评估概述 245
8.2 大语言模型评估体系 247
8.2.1 知识与能力 247
8.2.2 伦理与安全 250
8.2.3 垂直领域评估 255
8.3 大语言模型评估方法 260
8.3.1 评估指标 260
8.3.2 评估方法 267
8.4 大语言模型评估实践 274
8.4.1 基础模型评估 274
8.4.2 SFT模型和RL模型评估 277
8.5 实践思考 282
参考文献 284
索引 303
|
內容試閱:
|
本书围绕大语言模型构建的四个主要阶段——预训练、有监督微调、奖励建模和强化学习展开,详细介绍各阶段使用的算法、数据、难点及实践经验。
预训练阶段需要利用包含数千亿甚至数万亿单词的训练数据,并借助由数千块高性能GPU 和高速网络组成的超级计算机,花费数十天完成深度神经网络参数的训练。这一阶段的难点在于如何构建训练数据,以及如何高效地进行分布式训练。
有监督微调阶段利用少量高质量的数据集,其中包含用户输入的提示词和对应的理想输出结果。提示词可以是问题、闲聊对话、任务指令等多种形式和任务。这个阶段是从语言模型向对话模型转变的关键,其核心难点在于如何构建训练数据,包括训练数据内部多个任务之间的关系、训练数据与预训练之间的关系及训练数据的规模。
奖励建模阶段的目标是构建一个文本质量对比模型,用于对有监督微调模型对于同一个提示词给出的多个不同输出结果进行质量排序。这一阶段的难点在于如何限定奖励模型的应用范围及如何构建训练数据。
强化学习阶段,根据数十万提示词,利用前一阶段训练的奖励模型,对有监督微调模型对用户提示词补全结果的质量进行评估,与语言模型建模目标综合得到更好的效果。这一阶段的难点在于解决强化学习方法稳定性
不高、超参数众多及模型收敛困难等问题。除了大语言模型的构建,
本书还介绍了大语言模型的应用和评估方法,主要内容包括如何将大语言模型与外部工具和知识源进行连接、如何利用大语言模型进行自动规划,完成复杂任务,以及针对大语言模型的各类评估方法。
本书旨在为对大语言模型感兴趣的读者提供入门指南,并可作为高年级本科生和研究生自然语言处理相关课程的大语言模型部分的补充教材。鉴于大语言模型的研究仍在快速发展阶段,许多方面尚未得出完整结论或达共识,在撰写本书时,笔者力求全面展现大语言模型研究的各个方面,并避免给出没有广泛共识的观点和结论。大语言模型涉及深度学习、自然语言处理、分布式计算、并行计算等众多领域。因此,建议读者在阅读本书之前,系统地学习深度学习和自然语言处理的相关课程。阅读本书也需要读者了解分布式计算和异构计算方面的基本概念。如果读者希望在大语言模型训练和推理方面进行深入研究,还需要系统学习分布式系统、并行计算、CUDA编程等相关知识。
|
|