揭秘大模型:从原理到实战

978-7-115-65335-2
作者: 文亮江维
译者:
编辑: 刘雅思李齐强

图书目录:

详情

本书从技术角度深度解析大模型的原理,从大模型的基础概念及领域发展现状入手,概述大模型的理论基础,介绍OpenAI GPT、清华大学GLM、Meta Llama等主流大模型的技术原理,并从大模型参数高效微调、大模型指令微调、大模型训练优化和大模型推理优化等多角度解析大模型背后的技术,带领读者全方位掌握大模型的原理和实践方法。本书最后介绍私有大模型的构建,手把手指导读者做技术选型并搭建自己的私有大模型。 本书适合人工智能领域有大模型开发需求或对大模型技术感兴趣的技术人员阅读,也适合普通用户扩展了解大模型的前沿应用。

图书摘要

版权信息

书名:揭秘大模型:从原理到实战

ISBN:978-7-115-65335-2

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版  权

著    文 亮 江 维

责任编辑 刘雅思

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

内容提要

本书从技术角度深度解析大模型的原理,从大模型的基础概念及领域发展现状入手,概述大模型的理论基础,介绍OpenAI GPT、清华大学GLM、Meta Llama等主流大模型的技术原理,并从大模型参数高效微调、大模型指令微调、大模型训练优化和大模型推理优化等多角度解析大模型背后的技术,带领读者全方位掌握大模型的原理和实践方法。本书最后介绍私有大模型的构建,指导读者做技术选型并搭建自己的私有大模型。

本书适合人工智能领域有大模型开发需求或对大模型技术感兴趣的技术人员阅读,也适合普通用户扩展了解大模型的前沿应用。

前  言

写作背景

2022年11月,OpenAI发布了一款通用大模型ChatGPT。ChatGPT不仅能够回答用户问题、生成文本,还能够完成文章摘要、多语言翻译等任务。2023年3月,OpenAI的首席执行官山姆·奥尔特曼(Sam Altman)宣布了他们的最新人工智能系统——GPT-4。GPT-4支持多模态,在各方面的表现都有显著的提升,GPT-4的发布让大模型的热度达到了新的高峰。在首届开发者大会上,OpenAI首次公开了AI Agent相关功能,让用户可以自己构建GPT。OpenAI还开放了许多新的API(包括视觉API、图像DALL-E 3、语音API等),让开发者可以更方便地构建自己专属的GPT。

2023年3月,百度发布了文心一言大模型,打响了国内大模型市场的“第一枪”。2023年4月,阿里云发布了通义千问大模型。2023年7月,华为发布了盘古大模型3.0……国内大模型呈现百花齐放的状态。2023年10月,百度发布了文心一言4.0大模型,并开启了付费模式,成为国内第一家面向C端的付费大模型。

在这个大模型火爆全球、快速发展的今天,我们有必要系统地梳理大模型的知识结构,拨开大模型的层层面纱,帮助读者构建大模型的技术框架。本书将从模型结构、训练优化、推理优化、应用场景等方面,全方位解读大模型。本书介绍的大模型主要基于GPT结构,如清华大学的GLM、Meta公司的Llama等。本书还将介绍业界提出的稀疏Transformer、混合精度训练、并行训练等各种优化技术,这些技术显著提升了大模型的训练速度。

2022年7月,一款名为Midjourney的AI绘画工具的公测将AIGC的热度推向新高峰。AIGC和大模型的强强联合,使得大模型的应用越来越广泛。GPT-4、文心一言、讯飞星火等大模型都选择了和AIGC结合,不仅能生成文字,还能生成各种新奇的图像。Stable Diffusion作为文生图的主流模型,越来越受到业界的关注,基于 Stable Diffusion 的应用也越来越广泛。本书将对 Stable Diffusion模型进行介绍。

写作目的

本书的写作目的有两个:一是想要系统性整理大模型相关知识;二是想要将自身的大模型从业经验分享给更多的从业者。不同于其他科普性质的大模型图书,本书将系统地介绍大模型的技术原理和实践方法。

本书结构

本书共分为12章,内容涵盖大模型的全链路。

第1章概述大模型的发展历史以及ChatGPT的智能来源——数据压缩理论。

第2章详细介绍传统语言模型,包括循环神经网络(RNN)、长短期记忆(LSTM)网络、门控循环单元(GRU),并介绍大模型的基础结构——Transformer。本章将通过一个机器翻译的案例演示如何利用Transformer完成自然语言处理的任务。

第3章介绍OpenAI GPT系列大模型。本章从GPT-1到GPT-4逐步解析GPT系列大模型的原理和特点。

第4章介绍清华大学通用预训练模型——GLM。本章分析GLM的技术原理,并介绍如何对GLM模型进行微调。

第5章介绍Meta开源大模型——Llama。本章分析Llama的技术原理,包括预训练数据、模型结构和优化器等,并介绍其改进版本Llama 2。

第6章介绍大模型参数高效微调方法,即如何通过训练少量参数来实现可与全参数微调媲美的效果。

第7章介绍大模型指令微调方法,即如何通过指令微调让大模型更好地理解人类的意图。

第8章介绍大模型训练优化方法,即如何通过混合精度训练和并行训练等技术提高大模型的训练速度。

第9章介绍大模型推理优化方法,即如何通过推理优化提高大模型的推理效率和生成质量。

第10章介绍AIGC和大模型结合的方法,即如何将AIGC应用到大模型中。本章将重点介绍流行的Stable Diffusion模型,包括其技术原理及其应用场景。

第11章介绍大模型和推荐系统结合的方法,即如何利用大模型为推荐系统赋能。

第12章介绍构建私有大模型的方法,即基于开源的大模型,在自己的数据上进行微调,让大模型具备新的能力。

读者对象

本书主要面向以下4类读者。

大模型、自然语言处理等相关领域的技术人员。本书能够帮助他们熟悉大模型的技术结构,从而在工作中加以借鉴。

有一定机器学习基础,希望进入大模型领域的互联网从业者。本书结合大模型技术和相关实践,能够帮助读者构建实用的大模型知识体系。

高校计算机相关专业学生。本书介绍的大模型的基础知识,可帮助读者从零开始了解大模型的知识体系。

科技爱好者。本书介绍大模型的各种应用,包括文本生成、问答、创意图像生成等,能够帮助读者体验大模型的独特魅力。

资源与支持

本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。

配套资源

本书提供配套源代码,要获得该配套资源,您可以扫描下方二维码,根据指引领取。

您也可以在异步社区本书页面中点击,跳转到下载界面,按提示进行操作即可。注意:为保证购书读者的权益,该操作会给出相关提示,要求输入提取码进行验证。

如果您是教师,希望获得教学配套资源,请在社区本书页面中直接联系本书的责任编辑。

提交勘误

作者和编辑虽已尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,点击“发表勘误”,输入勘误信息,点击“提交勘误”按钮即可(见右图)。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

本书责任编辑的联系邮箱是liuyasi@ptpress.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书技术审校等工作,可以发邮件给我们。

如果您来自学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接通过邮件发给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

“异步社区”(www.epubit.com)是由人民邮电出版社创办的IT专业图书社区。异步社区于2015年8月上线运营,致力于优质学习内容的出版和分享,为读者提供优质学习内容,为作译者提供优质出版服务,实现作者与读者在线交流互动,实现传统出版与数字出版的融合发展。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、人工智能、测试、前端、网络技术等。

第1章 大模型简介

2022年11月30日,OpenAI发布通用大模型ChatGPT,由此拉开了人工智能新时代的序幕,从此人类与机器之间的交流变得更加自然和智能。ChatGPT可以根据用户的自然语言指令来完成各种任务,如文本生成、问答、摘要生成、翻译、对话等,展现了强大的泛化能力。

ChatGPT的发布引起了全球的关注和热议,许多人纷纷尝试与这个AI聊天机器人进行交流,探索它的潜能和局限。一些人对ChatGPT的表现感到惊讶,认为它是人工智能发展的一个重要里程碑,也是人类与机器合作的一个有力工具。一些人对ChatGPT的表现感到担忧和质疑,认为它可能会带来一些伦理和社会问题,如数据隐私、版权保护、信息真实性等。

ChatGPT的发布也促进了自然语言处理、计算机视觉、语音识别、推荐系统等相关领域的研究和发展,许多研究者开始将ChatGPT作为一个基础模型,对其进行微调或扩展,以适应不同的数据集和任务。许多应用者和创造者开始将ChatGPT作为创意源泉,从中获取灵感或素材,以创造出更多有价值或有趣的作品。

总之,ChatGPT的发布是一个具有历史意义的事件,它不仅展示了大模型的强大能力,也引发了人们对于人工智能未来发展的思考和探索。

本章将简述大模型的发展历史,并通过数据压缩理论解释为什么ChatGPT拥有智能。

1.1 大模型初探

大模型是什么,它们有什么用,它们是如何训练的,这些问题可能会让你感到好奇。在具体介绍大模型之前,我们可以先一起来体验一下大模型的神奇魅力。大模型是指那些拥有数十亿个甚至数万亿个参数,并且利用海量的数据进行预训练和微调的深度学习模型。它们可以在文本生成、图像识别、语音合成等不同的领域达到人类水平甚至超越人类的表现,接下来让我们通过一些大模型的应用来感受大模型的智能和创造力。

1.1.1 OpenAI大模型ChatGPT 

ChatGPT是2022年11月30日由OpenAI团队发布的一款基于GPT-3模型的聊天机器人,它可以与用户进行自然和流畅的对话,并根据用户的输入生成各种有趣和有创意的文本。

ChatGPT的首页如图1-1所示,在界面顶部有两个选项:GPT-3.5和GPT-4。GPT-3.5是免费使用的,而GPT-4则需要个人支付20美元/月的费用。

图1-1 ChatGPT的首页

接下来,我们一起看看ChatGPT有哪些技能。先通过一个示例来体验一下ChatGPT回答问题的能力,如图1-2所示。

图1-2 使用ChatGPT回答问题

接下来体验一下ChatGPT写诗歌的能力,如图1-3所示。

图1-3 使用ChatGPT写诗歌

再体验一下ChatGPT写故事的能力,如图1-4所示。

图1-4 使用ChatGPT写故事

写诗歌、写故事,这些都是需要创意的任务,大模型可以轻松应对。接下来,我们通过一个示例来看看ChatGPT的改写能力,检验它能否支持改病句、造句,如图1-5所示。从结果可以看出,ChatGPT非常成功地完成了任务。

图1-5 使用ChatGPT改病句、造句

前面的例子已经证明了ChatGPT在完成自然语言理解(natural language understanding,NLU)任务方面有着非常优秀的表现,这是因为ChatGPT是一个强大的语言模型。但是如果说ChatGPT具有智能,那么它能否在推理任务方面也展现出同样的水平呢?让我们一起来通过一个解数学应用题的示例来验证它在推理任务方面的能力,如图1-6所示。

图1-6 使用ChatGPT解数学应用题

这是著名的“鸡兔同笼”问题,ChatGPT正确地解答了它。

ChatGPT还擅长编写代码、修复bug,示例如图1-7所示。题目是实现合并区间的功能,输入是多个区间,要求合并区间的重叠部分。

图1-7 使用ChatGPT编写代码

ChatGPT编写的代码,不但可以实现函数的功能,还能加入中文注释,使代码清晰易读。

ChatGPT不仅可以理解给定的程序代码的功能和逻辑,自动地检测并修复程序bug,而且还能给出详细的解释,说明为什么原来的代码是错误的,以及为什么修复后的代码是正确的。这样,用户不仅可以得到正确的程序代码,还可以学习一些编程知识和技巧。图1-8展示了一个示例:用户给出了一个用Python编程语言编写的函数,该函数的功能是在一个数组中查找最大值,并返回其下标。但是该函数中有两个错误,导致其无法正确地运行。ChatGPT成功地发现了这两个错误,并给出了正确的修复方法,同时还给出了清晰的解释,让用户明白了产生错误的原因。

虽然你已经从前面的例子中感受到了ChatGPT的强大能力,但是ChatGPT并不完美,尤其在数学推理任务方面,它还是会遇到一些困难的。例如,对于“在一个单位圆中随机扔石子,计算石子到圆心的期望距离”这个微积分问题,其正确答案是2/3,但是GPT-3.5给出的答案为1,如图1-9所示。

图1-8 使用ChatGPT修改程序bug

图1-9 GPT-3.5无法解决复杂的数学题

OpenAI在2023年3月发布了更强大的GPT-4,它是ChatGPT的升级版。目前,微软New Bing集成了GPT-4功能,用户可以通过聊天入口进入GPT-4页面。GPT-4在数学推理任务方面比GPT-3.5表现得更加优秀,能够正确地回答上述微积分问题,还能给出详细的解释,如图1-10所示。GPT-4能够理解和生成复杂的数学公式、逻辑推理和证明,甚至能够解决一些高中或大学水平的数学问题。可以说,GPT-4是目前最先进的大模型之一。

图1-10 GPT-4解决了ChatGPT答错的数学问题

GPT-4是由OpenAI公司开发的先进的自然语言处理系统,它可以根据不同的输入和输出生成高质量的文本,它比之前的ChatGPT有了很大的改进和创新。相比于ChatGPT,GPT-4有如下不同之处。

GPT-4使用更多的数据、更深的网络结构和更先进的训练技术,能够理解和生成更复杂、更准确的文本。它能够处理更长的上下文,更好地保持一致性和逻辑性,更少地出现错误和幻觉。

GPT-4是一个多模态的系统,它可以接收图像和文本作为输入,并且可以根据输入生成图像或文本。这使得它能够处理更多样化的任务,例如识别和描述图像中的人物、物体、场景等内容,根据描述生成图像,或者根据图像回答问题等。它还能够对图像进行编辑、变换或合成,例如改变颜色、大小、形状或位置,或者把两张图像融合在一起。它还能够识别和生成声音,如人物对话、音乐等,并且能够根据给定的条件调整声音,如音量和音调。

GPT-4是一个更安全、更可靠的系统,它可通过更多的人类反馈和评估,提高其指令遵循能力。它在一定程度上能够避免产生暴力、色情、歧视或虚假信息等不合适的内容,并且能够在必要时提供来源或证据。

目前,GPT-4已经被应用到很多领域和场景中,包括但不限于以下场景。

聊天机器人:GPT-4可以通过API和ChatGPT Plus提供给用户使用,它可以与用户进行自然、流畅、有趣和有用的对话,帮助用户解决问题、获取信息、学习知识或娱乐消遣。

教育:GPT-4可以作为一个教学辅导机器人,帮助学生学习数学、物理、化学、生物、历史等各种科目。它可以提供解释、示例、练习、反馈等功能,并且能够根据学生的水平和学习的进度进行个性化的调整。

创意写作:GPT-4可以作为一个创作伙伴,帮助用户完成创意和写作任务,例如创作歌曲、编写剧本、写文章或学习用户的写作风格等。它可以生成、编辑和迭代文本,并且能够根据给定的主题或风格进行调整。

网页设计:GPT-4可以根据用户给出的设计草图或描述生成HTML、CSS或JavaScript等多种语言的网页代码,它还可以对网页进行优化或修改,并且能够适应不同的设备和浏览器。

1.1.2 国内大模型——360智脑 

不仅国外有优秀的大模型,国内的大模型研究也取得了非常丰富的成果。其中,奇虎360的360智脑就是一款优秀的模型,它也具备写诗歌、写故事、写代码、解决数学问题等能力。让我们来看看它是如何解决数学问题的。如图1-11所示,360智脑不仅给出了正确的答案,还给出了清晰的解题过程。

图1-11 360智脑解决数学问题

大模型的能力让人惊叹。如果你已经被它所吸引并想深入了解它的奥秘,那么本书就是为你而准备的。本书将详细介绍大模型的技术原理,逐渐揭开它的神秘面纱。

1.2 大模型的概念

大模型是指具有超大规模参数和复杂计算结构的机器学习模型,通常基于深度神经网络构建而成。参数是模型的内部变量,用于存储和调整模型从数据中学习到的知识和能力。参数量是衡量模型复杂度和容量的一个重要指标。一般来说,参数量越大,模型越强大,但也越难训练和部署。

训练数据是指用于训练模型的数据集,通常是从互联网等来源收集和整理的文本、图像、音频、视频等数据。训练数据的质量和数量对模型的性能和泛化能力有很大的影响。一般来说,训练数据越多越好,但也越难获取和处理。

以自然语言处理为例,目前最大的语言模型之一是ChatGPT,它可以通过自然语言指令(natural language instruction,NLI)完成各种任务,如文本生成、问答、摘要、翻译、对话等。ChatGPT使用多个不同数据集来进行预训练,包括来自不同来源和领域的文本数据,如维基百科、图书、新闻、社交媒体和论文等。

表1-1所示是目前主流的大模型汇总,其中谷歌在2023年5月发布的大模型PaLM 2,其参数量达到了3400亿个。

表1-1 主流大模型汇总

模型

发布时间

所属公司

ChatGPT

2022年11月

OpenAI

PaLM 2

2023年5月

谷歌

Llama 2

2023年7月

Meta

GLM-130B

2022年8月

清华智谱AI

1.3 百花齐放——大模型发展现状

目前,国内外大模型百花齐放,各个公司和研究机构都在研发私有大模型。其中,谷歌、OpenAI、Meta和微软等国外头部公司之间存在竞争和合作,不断创新模型结构和训练方法;而国内的百度、华为、阿里巴巴等公司则呈现追赶之势,在模型参数量上毫不逊色,也有一些特色和创新。图1-12展示了国内外的主流大模型[1]

大模型不仅在科学研究上取得了一些成果,在实际应用上也展现了价值和影响。例如,在教育领域,大模型可以作为智能辅导员或教师助理,提供个性化的学习内容和反馈;在娱乐领域,大模型可以作为智能创作伙伴或演员替身,生成文学、音乐、影视等作品;在商业领域,大模型可以作为智能营销人员或客服代表,提供定制化的服务。

图1-12 国内外主流大模型

目前国内人工智能市场发展迅速,各大科技企业纷纷入局人工智能大模型,构建“模型+工具平台+生态”的三层体系。头部企业均采取这种共建模式,不仅有助于业务的良性循环,而且也更容易借助长期积累来形成竞争壁垒。目前,百度、腾讯、阿里巴巴、商汤科技、华为等国内大模型厂商,北京智源人工智能研究院、中国科学院自动化研究所等研究机构和英伟达等芯片厂商也纷纷入局。国内大模型不断创新和突破,不断刷新各项任务的最新技术水平(state of the art,SOTA)。例如,百度的大模型ERNIE 3.0这一基于知识增强的多范式统一预训练框架,曾在CLUE 1.1总排行榜排名第一;腾讯的万亿参数级别中文自然语言处理预训练模型HunYuan-NLP,曾在CLUE 2.0总排行榜排名第一;阿里巴巴的万亿参数级别大模型M6在WMT21新闻翻译任务中,刷新了英文到中文和中文到英文两个方向的最新技术水平。国内部份大模型如表1-2所示。

表1-2 国内部份大模型

模型

发布时间

所属公司

文心一言

2023年3月

百度

360智脑

2023年3月

360

通义千问(Qwen-72B)

2023年12月

阿里巴巴

盘古3.0

2023年7月

华为

商汤日日新

2023年4月

商汤

知海图AI

2023年4月

知乎

天工

2023年4月

昆仑万维

ChatGLM2-6B

2023年6月

清华智谱AI

孟子GPT-40B

2023年8月

澜舟科技

1.4 压缩即智能——为什么ChatGPT拥有智能

随着ChatGPT、PaLM 2、文心一言等各种大型语言模型的火爆,人们在惊叹它们的强大能力的同时,也在不断地思考一个问题:为什么只有解码器的ChatGPT也能表现出智能?

生成式预训练变压器(generative pre-trained Transformer,GPT)实际上就是基于Transformer的只有解码器的模型。图1-13展示了GPT的模型结构[2],它的本质是预测下一个词。为什么这样一个简单的结构就能够训练出具有智能的大模型呢?

图1-13 GPT的模型结构

目前规模较大的语言模型在训练基础模型时,都采用了预测下一个词的任务。这个任务非常简单,就是根据语句中前面的词来生成下一个词。但这样学习到的似乎只是词之间的表面统计关系,怎么就能体现出智能呢?这确实很难理解。

OpenAI的核心研发人员杰克·瑞(Jack Rae)曾在斯坦福机器学习相关研讨会上分享了一个主题:通用人工智能中的压缩。杰克·瑞之前是OpenAI团队的负责人,主要研究大模型和远程记忆。他曾在DeepMind工作了8年,领导了大模型研究组。

在此分享中,杰克·瑞提出了如下两个核心观点:

压缩就是智能。

大模型就是压缩(GPT的预测下一个词的任务本质上是对训练数据的无损压缩)。

他通过论证压缩就是智能,以及GPT的训练过程是对数据的无损压缩,证明了GPT具有智能。下面具体介绍杰克·瑞是如何证明GPT具有智能的。

1.4.1 直观理解通用人工智能 

在探讨压缩如何实现通用人工智能之前,让我们先来了解一下什么是通用人工智能。“中文房间”是约翰·塞尔(John Searle)在1980年提出的一个著名的思想实验,用来质疑计算机能否真正理解语言。实验的设想可以通过下面的文字描述。

一个只会说英文,对中文一无所知的人被关在一个密闭的房间里。房间里只有一个小窗口,还有一本中英文对照的手册,以及足够的纸和笔。有人从窗口递进来一些写着中文的纸条。房间里的人根据手册上的规则,把这些纸条翻译成中文,并用中文写回去。尽管他完全不懂中文,但是通过这个过程,他可以让房间外的人认为他会说流利的中文。这就是“中文房间”实验。图1-14为其示意图。

图1-14 中文房间

一个庞大而烦琐的手册说明了这个人的智能水平很低,因为他只能按照手册的指示去做,一旦遇到手册中没有的情况,他就束手无策了。

如果我们能够从海量的数据中学习一些语法和规则,那么就可以用一个简洁而高效的手册来指导这个人,这样他就能够更灵活地应对各种情况,表现出更高的智能水平(泛化能力更强)。

手册的厚度反映了智能的强度:手册越厚,说明智能越弱;手册越薄,说明智能越强。这就像你在公司里雇用了一个人,他能力越弱,你需要给他的指示就越多;他能力越强,你需要给他的指示就越少。

这个例子用一个比较形象的方式解释了为什么压缩就是智能。

1.4.2 如何实现无损压缩 

假设Alice需要把一个数据集(可能无限大)从遥远的半人马座星系传输给地球上的Bob,假设如下,图1-15是传输编码数据的示意图。

,表示一个标记,词表大小

Alice和Bob都有足够的计算资源。

假设现在已经传输了,Alice会将下一个编码为后传输给Bob。

Alice希望最小化传输的数据量S,以比特数量来衡量。

先看一下基准传输方法。由于的可能性有256(词表大小)种,所以可以表示为一个8比特的整数(1字节)。假如,编码后用表示,这时需要传输的数据量为8比特()。

图1-15 传输编码数据

另外,Alice要将上面的传输步骤写成一份新的代码,在传输数据之前给到Bob。这样传输一个大小为n的数据集的代价可以表示为

  (1-1)

接下来从信息论角度解释一下基准的信息量。

基准方法对于的分布没有先验知识,因此其概率分布是一个离散均匀分布。此时信息量表示为

  (1-2)

因此,可被看作信息量。

提示 信息论的创始人克劳德·艾尔伍德·香农(Claude Elwood Shannon)定义了信息量的概念,信息量被用来衡量一个离散随机变量的不确定性。假设服从概率分布,且有一个词汇表,那么的信息量就是用比特数来表示的,公式表示为

  (1-3)

这意味着,一个“事物”的信息量取决于它出现的概率

我们可以任意选择一个词汇表,比如二进制数据,它可以很容易地被分成8比特的字节。每字节有0~255,共256种可能的取值,所以需要用8比特来表示1字节。这里其实有一个隐含的假设:0~255每个取值出现的概率都是相等的,也就是满足如下关系。

  (1-4)

事实上,的最大值就是在是均匀分布时取到的。当是1字节时,比特。也就是说,如果不是均匀分布,那么可以用少于8比特的编码来表示1字节。这就是各种“压缩”算法的理论基础。

在介绍了基准方法之后,接下来介绍基于神经网络的无损压缩方法。

假设我们想要利用一个自回归神经网络来实现压缩,以如下场景为例。

Alice首先把一个自回归神经网络(如GPT)的训练代码发送给Bob。这个网络的输入是,输出是下一个数据的概率分布。注意,网络的“大小”是由决定的,但网络的权重是由初始化并不断训练得到的。可以把网络的参数看作的一个函数。图1-16是概率分布的示意图(纵坐标为概率,示意图中的概率为参考示例,无实际意义)。

图1-16 当前传输数据的概率分布

虽然网络的权重是由Alice和Bob各自独立地初始化和训练的,但是由于他们使用相同的方法和随机种子,导致他们的初始权重相同,并会随着数据的传输而保持同步更新,因此的函数。

假设Alice已经把发送给了Bob,现在她要把编码成并发送给Bob。由于此时Alice和Bob根据相同的代码和相同的数据训练了相同的网络,因此他们对的概率分布也有相同的预测。为简便起见,便省略条件部分,直接写作

考虑使用算术编码的二分查找法来把编码成,假设取值为0、1、2、3的概率分别为0.2、0.25、0.22、0.175。如果要把编码成,可以用以下区间查找的选择来表示。每一次的区间选择都有两种可能的结果:左区间(向左)或右区间(向右)。

如果使用1表示向右,0表示向左,那么查找过程便可以表示为一个长度为3的动作序列。

刚好可以用一个3比特的二进制数字表示。

Alice将这个动作序列编码为一个3比特的二进制数字,发送给Bob。

等价于二分查找的次数。

在这个例子里,

Bob收到后,得到的过程如下所示。

(1)Bob也预测得到分布

(2)根据代表的动作序列,复现二分查找的过程,得到0.687 5这个有限精度的实数。

(3)找到这个实数所在的区间是第4个区间,则Bob解码

这样一来,Alice就将把按照Alice和Bob共同掌握的概率分布编码成,并且把它无损地传输给Bob。Bob也可以按照同样的概率分布把解码为。这个过程比基准方法节省了很多传输的数据量。原本需要传输8比特,现在只需要传输3比特。图1-17是整个过程的示意图。

图1-17 算术编码的二分查找过程

1.4.3 GPT是对数据的无损压缩 

1.4.2节介绍了算术编码的原理,它可以实现无损压缩,从而减少传输的数据量。我们的目标是最小化传输的数据量,也就是最小化二分查找的次数。

为了计算二分查找的次数的上界,我们可以用一个直观的方法。还是用1.4.2节中的例子,把的区间均匀铺满整个[0,1]区间,假设,那么会分成个区间,大约需要查询次。如果不考虑取整的误差,可以得到二分查找的次数,表示为

  (1-5)

实际上,二分查找的次数的上界可以表示为

  (1-6)

这样就可以知道传输数据集的代价,表示为

  (1-7)

仔细观察,我们会发现其实就是训练时这个标记的损失值。因此我们可以进一步发现,就是训练曲线下方的面积,如图1-18所示。

图1-18 训练过程的损失值曲线

因此,GPT的训练过程本质上就是对整个数据集D的无损压缩。图1-19详细展示了GPT无损压缩的每一项内容。

图1-19 GPT的无损压缩

按照图1-19所示的方式计算并存储,“训练代码和所有”便是对数据集D的无损压缩。只是在平时训练中计算得到下一个标记分布,并且计算损失进行反传后,便扔掉了这个分布,自然也没有计算并存储。但是“无损压缩”和“模型训练”的过程是等价的。

有了压缩的上述量化公式,便可以很方便地计算压缩率。压缩率的计算公式为

  (1-8)

式(1-8)也解释了为何模型规模越大,往往表现越智能。这是因为在给定数据集,并假设验证集与训练集同分布的情况下,大模型往往具有较低的损失,进而可能实现更高的压缩率,使得模型表现更为智能。

图1-20是Llama模型的一些训练曲线(见文前彩图)[3],由于绿线和红线表示的两个模型只在数据集上训练了1个轮次(epoch),因此可以把训练损失视为预测损失。同时也可以粗略地估计模型描述长度(约为1 MB)。即便模型的参数量不同,但Llama 33B和Llama 65B两个模型有着相同的模型描述长度(用于训练的代码相同)。65 B模型显然有着更低的训练损失,把训练损失和模型描述长度两项相加,可以看出65 B实际上是更好的压缩器。

图1-20 损失值曲线下的面积表示为数据集的无损压缩

图1-21是更具体的数据(见文前彩图),用于初始化和训练模型的代码大小约为1 MB,粗略地计算负对数似然,大约是0.4 TB,而用于训练的原始数据是5.6 TB的文本,因此该模型的压缩率为7.14%(0.4 TB/5.6 TB×100%≈7.14%)。接下来,我们讨论一下压缩率的变化。

图1-21 Llama模型压缩率计算

假设训练稳定,损失值平滑下降,收敛到,那么当数据集D无限增长时,压缩率的极限可以表示为

  (1-9)

(预测得完全准确),压缩率的变化曲线如图1-22所示。由此可见,预测下一个词(next token prection)可以用压缩理论完美地解释,这也是OpenAI坚持“预测下一个词”的原因。同时,压缩理论也印证了,在生成任务中,GPT架构比BERT架构更加合理,更加符合自然语言的规律。

虽然像GPT这样的大模型可以实现压缩,但是这种压缩方式也有局限性。例如,由于像素级的图像建模的开销非常大,对视频进行像素级的建模非常不现实,因此很多现实中的数据无法被直接观测到,不能寄希望于压缩所有可观测到的数据来实现通用人工智能。

图1-22 压缩率的变化曲线

1.5 小结

本章从国内外有代表性的大模型成果入手,介绍了大模型的概念和大模型发展现状,并通过压缩理论解释了为什么ChatGPT拥有智能。有了这些宏观认识,读者就可以开始阅读后续有关大模型技术细节的具体章节了。后续章节将依次展开讲解大模型的技术原理和具体实践,带领读者一起畅游大模型的世界。

1.6 参考文献

[1] ZHAO W X, ZHOU K, LI J, et al. A survey of large language models[J]. arXiv preprint arXiv:2303.18223 ,2023.

[2] RADFORD A, NARASIMHAN K, SALIMANS T, et al. Improving language understanding by generative pre-training[J]. 2018.

[3] TOUVRON H, LAVRIL T, IZACARD G, et al. Llama: Open and efficient foundation language models[J]. arXiv preprint arXiv:2302.13971, 2023.

相关图书

动手学计算机视觉
动手学计算机视觉
MindSpore科学计算
MindSpore科学计算
算法超简单:趣味游戏带你轻松入门与实践
算法超简单:趣味游戏带你轻松入门与实践
芯片通识课:一本书读懂芯片技术
芯片通识课:一本书读懂芯片技术
推荐系统:产品与算法解析
推荐系统:产品与算法解析
机器学习漫画小抄
机器学习漫画小抄

相关文章

相关课程