ChatGPT原理与实战:大型语言模型的算法、技术和私有化
定 价:99 元
丛书名:智能系统与技术丛书
这是一本系统梳理并深入解析ChatGPT核心技术、算法实现、工作原理、训练方法的著作,也是一本能指导你搭建专属ChatGPT和实现大模型迁移及私有化的著作。本书得到了MOSS系统负责人邱锡鹏等多位专家的高度评价和鼎力推荐。具体地,通过本书你能了解或掌握以下知识:?ChatGPT的工作流程和技术栈?ChatGPT的工作原理和算法实现?基于Transformer架构的一系列预训练语言模型的原理?强化学习的基础知识?提示学习与大模型涌现出的上下文学习、思维链?大模型的训练方法及常见的分布式训练框架?基于人工反馈的强化学习整体框架?从零搭建类ChatGPT模型,模拟完整的ChatGPT训练过程本书集理论、实战和产业应用于一体,提供大量经详细注释的代码,方便读者理解和实操。总之,不管里是想深入研究ChatGPT本身,还是正在研发或使用其他大模型,本书都应该能给你颇具价值的技术启发与思考,让你在大模型的路上快速前行,少走弯路。
(1)作者经验丰富:作者来自BAT等知名科技公司,是NLP和AI领域的资深专家,大模型领域的先驱者,实战经验丰富。(2)深度解析ChatGPT:系统梳理并深入解析ChatGPT的核心技术、算法实现、工作原理、训练方法,提供大量代码及注解。(3)搭建专属ChatGPT:不仅教你如何实现大模型的迁移和私有化,而且手把手教你零基础搭建自己专属的ChatGPT。(4)行业优选:MOSS系统负责人邱锡鹏、ChatGLM技术团队成员刘潇等多位大模型技术专家高度评价并推荐。
Preface前 言为什么要写本书2022年11月30日,ChatGPT模型问世并立刻在全球范围内引起了轩然大波。无论AI从业者还是非从业者,都在热议ChatGPT极具冲击力的交互体验和惊人的生成内容。这使得人们对人工智能的潜力和价值有了更深入的认识。对于AI从业者来说,ChatGPT模型成为一种思路的扩充,大型语言模型不再是刷榜的玩具,所有人都认识到高质量数据的重要性,并坚信有多少人工,就会有多少智能。ChatGPT模型效果过于优秀,在许多任务上,即使是零样本或少量样本数据也可以达到SOTA(Stafe Of The Art,优选水准)效果,因而很多人转向大型语言模型的研究。不仅Google提出了对标ChatGPT的Bard模型,国内也涌现出了许多中文大型语言模型,如百度的文心一言、阿里巴巴的通义千问、昆仑万维的天工3.5、商汤的日日新、知乎的知海图AI、清华智谱的ChatGLM、复旦的MOSS等等。斯坦福大学的Alpaca模型问世之后,证明了70亿参数量的模型虽然达不到ChatGPT的效果,但已经极大地降低了大型语言模型的算力成本,使得普通用户和一般企业也可以使用大型语言模型。之前一直强调的数据获取问题,可以通过GPT-3.5或GPT-4接口来解决,并且数据质量相当高。如果只需要基本的效果模型,数据是否再次精标已经不是那么重要了(当然,要获得更好的效果,则需要更精准的数据)。在此期间,涌现出了大量相关的博客、论文和开源项目。笔者的感觉是每天都要学习太多东西,但所学的内容都太零散了。经过一番思考和准备之后,笔者决定系统地梳理目前ChatGPT所涉及的相关技术,以帮助读者进行深入的学习。本书主要强调知识的系统性和完整性,这是网络学习所无法替代的。技术书可以弥补新媒体碎片化教育的短板,阅读图书更便于查漏补缺。正规的技术书在内容严谨性方面做得相对较好,对内容的正确性和规范性要求极高,更适合从业人员进行学习和日常检索。当然,学习的道路并不是非此即彼,只有利用各种方式,多渠道学习,才能真正实现全方位高效学习。技术的变化是飞速的,在撰写本书初期,还没有出现LLaMa、GPT-4、ChatGLM等模型,当它们出现之后我们随之修改了相关内容,以期本书介绍ChatGPT相关技术时更具前沿性。技术会持续更新换代,书中提到的很多技术也许在不远的将来便会被更为强大的技术所取代,但这并不影响我们学习这些技术的原理,因为学习这些技术本身会引发更深层次的思考。读者对象本书适合以下读者阅读:AIGC(AI Generated Content,人工智能生成内容)相关领域的研究人员或技术人员。初入AI行业且基础不深的从业人员。对ChatGPT感兴趣的非从业人员。本书特色本书是一本集理论、实战和落地于一体的ChatGPT力作,具备以下特点。理论联系实际:本书不仅全面介绍了自然语言处理与强化学习的相关理论知识,还通过案例讲解使这些理论更易于理解和掌握,帮助读者在实践过程中更深入地了解这些领域的基础和前沿动态。实战应用落地:本书详细介绍了如何从零开始,逐步构建一个独立且具有个性化特点的大型语言模型。通过分析代码和实际案例,帮助读者更好地理解和掌握相关技术,从而实现自己的创新应用。扩展AIGC视野:本书针对AIGC领域进行全方位的剖析,而非仅关注ChatGPT本身。这使得读者能够全面了解AIGC的发展历程、技术原理、应用场景和未来趋势,为自己的研究和实践提供更广阔的视野。洞悉行业发展:本书作者具有丰富的AI从业经验,对AI领域的发展动态、技术挑战和应用前景有深刻的认识。因此,本书不仅提供了严谨的技术分析,还融入了作者的专业洞察,帮助读者在理论与实践之间找到很好的平衡点。如何阅读本书本书从逻辑上分三部分。第一部分(第1和2章)从宏观角度带领读者了解ChatGPT。第1章介绍ChatGPT的由来、发展史以及用例。第2章对ChatGPT进行解构,基于AIGC相关背景知识逐步展开ChatGPT所应用的技术栈,让读者对ChatGPT有更加完整的认知。第二部分(第3~9章)介绍ChatGPT的核心技术。本书强调理论与实战并行,在介绍相关技术的同时,针对相应核心算法展开实战,在真实中文数据集下验证算法性能,让读者从更深层次了解相关算法。第3章介绍基于Transformer结构的预训练语言模型。第4章介绍强化学习的基础知识。第5章介绍从提示学习与大型语言模型涌现出来的上下文学习、思维链等能力。第6章介绍大型语言模型的训练方法及常见的分布式训练框架。第7章重点对GPT系列模型进行分析。第8章介绍PPO强化学习算法以及基于人工反馈的强化学习整体框架的设计。第9章进行类ChatGPT的实战,通过文档生成问题任务模拟完整的ChatGPT训练过程。第三部分(第10章)对ChatGPT的未来发展进行展望。从AIGC未来发展方向出发,探索云边协同、工具应用、可控生成、辅助决策四方面内容,分别从C端场景和B端场景探索ChatGPT与实际应用场景的结合点,并给出从事AIGC行业的参考建议。勘误和支持由于作者水平有限,书中难免存在一些遗漏或者不够准确的地方,恳请读者批评指正。如果你发现了书中的错误或遇到任何问题,可以将其提交到 https://github.co
CONTENTS目 录赞誉前言第1章 了解ChatGPT11.1 ChatGPT的由来11.1.1 什么是ChatGPT21.1.2 ChatGPT的发展历史21.2 ChatGPT的工作流程31.3 ChatGPT用例31.3.1 日常任务41.3.2 编写代码51.3.3 文本生成61.3.4 办公自动化91.4 本章小结10第2章 ChatGPT原理解构112.1 背景知识112.1.1 自然语言处理的发展历程122.1.2 大型语言模型的发展历程142.2 ChatGPT同类产品182.2.1 BlenderBot 3.0182.2.2 LaMDA202.2.3 Sparrow232.3 ChatGPT的工作原理252.3.1 预训练与提示学习阶段262.3.2 结果评价与奖励建模阶段282.3.3 强化学习与自我进化阶段282.4 算法细节292.4.1 标注数据292.4.2 建模思路302.4.3 存在的问题302.5 关于ChatGPT的思考312.6 本章小结32第3章 预训练语言模型333.1 Transformer结构333.2 基于Encoder结构的模型363.2.1 BERT363.2.2 RoBERTa393.2.3 ERNIE403.2.4 SpanBERT423.2.5 MacBERT433.2.6 ALBERT443.2.7 NeZha453.2.8 UniLM463.2.9 GLM473.2.10 ELECTRA483.3 基于Decoder结构的模型493.3.1 GPT493.3.2 CPM513.3.3 PaLM513.3.4 OPT523.3.5 Bloom533.3.6 LLaMA543.4 基于Encoder-Decoder结构的模型553.4.1 MASS553.4.2 BART563.4.3 T5573.5 基于夸夸闲聊数据的UniLM 模型实战593.5.1 项目简介593.5.2 数据预处理模块593.5.3 UniLM模型模块633.5.4 模型训练模块653.5.5 模型推理模块723.6 本章小结76第4章 强化学习基础774.1 机器学习的分类774.1.1 有监督学习784.1.2 无监督学习784.1.3 强化学习794.2 OpenAI Gym824.2.1 OpenAI Gym API简介834.2.2 环境简介844.3 强化学习算法854.3.1 Q-learning算法854.3.2 SARSA算法874.3.3 DQN算法894.3.4 Policy Gradient算法934.3.5 Actor-Critic算法954.4 本章小结98第5章 提示学习与大型语言 模型的涌现995.1 提示学习995.1.1 什么是提示学习1005.1.2 提示模板设计1005.1.3 答案空间映射设计1025.1.4 多提示学习方法1035.2 上下文学习1045.2.1 什么是上下文学习1045.2.2 预训练阶段提升上下文 学习能力1055.2.3 推理阶段优化上下文 学习的效果1075.3 思维链1085.4 基于提示的文本情感分析实战1135.4.1 项目简介1135.4.2 数据预处理模块1145.4.3 BERT模型模块1155.4.4 模型训练模块1185.4.5 模型推理模块1285.5 本章小结131第6章 大型语言模型预训练1326.1 大型预训练模型简介1326.2 预训练模型中的分词器1336.2.1 BPE1336.2.2 WordPiece1356.2.3 Unigram1366.2.4 SentencePiece1376.3 分布式深度学习框架1386.3.1 并行范式简介1396.3.2 Megatron-LM1456.3.3 DeepSpeed1476.3.4 Colossal-AI1496.3.5 FairScale1526.3.6 ParallelFormers1536.3.7 OneFlow1536.4 基于大型语言模型的预训练实战1556.4.1 项目简介1556.4.2 数据预处理模块1566.4.3 执行模型训练1596.5 基于大型语言模型的信息 抽取实战1686.5.1 项目简介1686.5.2 数据预处理模块1696.5.3 Freeze微调模块1726.5.4 LoRA微调模块1766.5.5 P-Tuning v2微调模块1816.6 本章小结186第7章 GPT系列模型分析1877.1 GPT-1~GPT-4系列模型分析1877.1.1 GPT-1和GPT-2模型1877.1.2 GPT-3模型1897.1.3 GPT-3的衍生模型: Code-X1927.1.4 GPT-4模型1937.2 InstructGPT模型分析1947.2.1 模型简介1947.2.2 数据收集1957.2.3 模型原理1987.2.4 模型讨论1997.3 基于GPT-2模型的文本摘要实战2007.3.1 项目简介2007.3.2 数据预处理模块2007.3.3 GPT-2模型模块2027.3.4 模型训练模块2047.3.5 模型推理模块2137.4 本章小结219第8章 PPO算法与RLHF理论实战2208.1 PPO算法简介2208.1.1 策略梯度算法回顾2208.1.2 PPO算法原理剖析2228.1.3 PPO算法对比与评价2248.2 RLHF框架简介2268.2.1 RLHF内部剖析2268.2.2 RLHF价值分析2288.2.3 RLHF问题分析2298.3 基于PPO的正向情感倾向性 生成项目实战2308.3.1 项目任务与数据集分析2308.3.2 数据预处理模块2308.3.3 模型训练模块2328.3.4 模型生成模块2348.3.5 模型评估模块2358.4 问题与思考2378.5 本章小结238第9章 类ChatGPT实战2399.1 任务设计2399.2 数据准备2409.3 基于文档生成问题任务的类 ChatGPT实战2419.3.1 SFT阶段2419.3.2 RM阶段2499.3.3 RL阶段2599.4 本章小结270第10章 ChatGPT发展趋势27110.1 AIGC的发展趋势27110.1.1 AI云边协同27210.1.2 AI工具应用27310.1.3 AI可控生成27410.1.4 AI辅助决策27510.2 ChatGPT 2C应用场景27610.2.1