《哈尔滨工业大学:ChatGPT调研报告(94页).pdf》由会员分享,可在线阅读,更多相关《哈尔滨工业大学:ChatGPT调研报告(94页).pdf(94页珍藏版)》请在三个皮匠报告上搜索。
1、ChatGPT 调研报告(仅供内部参考)哈尔滨工业大学自然语言处理研究所(HIT-NLP)2023 年 3 月 6 日ChatGPT 调研报告序言2022 年 11 月 30 日,OpenAI 推出全新的对话式通用人工智能工具ChatGPT。ChatGPT 表现出了非常惊艳的语言理解、生成、知识推理能力,它可以很好地理解用户意图,做到有效的多轮沟通,并且回答内容完整、重点清晰、有概括、有逻辑、有条理。ChatGPT 上线后,5 天活跃用户数高达100 万,2 个月活跃用户数已达 1 个亿,成为历史上增长最快的消费者应用程序。除了被广大用户追捧外,ChatGPT 还受到了各国政府、企业界、学术界
2、的广泛关注,使人们看到了解决自然语言处理这一认知智能核心问题的一条可能的路径,并被认为向通用人工智能迈出了坚实的一步,将对搜索引擎构成巨大的挑战,甚至将取代很多人的工作,更将颠覆很多领域和行业。哈工大自然语言处理研究所组织多位老师和同学撰写了本调研报告,从技术原理、应用场景、未来发展等方面对 ChatGPT 进行了尽量详尽的介绍及总结。本报告仅供内部参考。主要编撰人员第一章由车万翔、杨沐昀、张伟男、赵妍妍、冯骁骋、孙承杰、李佳朋编写;第二章由张伟男、隋典伯、高翠芸、朱庆福、李明达、王雪松编写;第三章由刘铭、朱聪慧、汤步洲编写;第四章由徐永东、高翠芸、朱庆福编写;第五章由杨沐昀、张伟男、韩一、庄
3、子彧编写;第六章由隋典伯、高翠芸编写;第七章由车万翔、刘铭编写。参与各章审校工作的还有:崔一鸣、徐志明等。报告整体由车万翔统稿。2ChatGPT 调研报告目录第一章 ChatGPT 的背景与意义61.1自然语言处理的发展历史.61.2大规模预训练语言模型的技术发展历程.81.3ChatGPT 技术发展历程.81.3.1ChatGPT 的相关技术.101.3.2ChatGPT 技术发展脉络的总结.111.3.3ChatGPT 的未来技术发展方向.121.4ChatGPT 的优势与劣势.131.4.1ChatGPT 的优势.131.4.2ChatGPT 的劣势.151.5ChatGPT 的应用前景
4、.161.5.1在人工智能行业的应用前景及影响.171.5.2在其他行业的应用前景及影响.171.6ChatGPT 带来的风险与挑战.19第二章 ChatGPT 相关核心算法242.1基于 Transformer 的预训练语言模型.242.1.1编码预训练语言模型(Encoder-only Pre-trained Mod-els).242.1.2解码预训练语言模型(Decoder-only Pre-trained Mod-els).252.1.3基于编解码架构的预训练语言模型(Encoder-decoderPre-trained Models).282.2提示学习与指令精调.302.2.1提示
5、学习概述.303ChatGPT 调研报告2.2.2ChatGPT 中的指令学习.312.3思维链(Chain of Thought,COT).322.4基于人类反馈的强化学习(Reinforcement Learning with Hu-man Feedback,RLHF).33第三章大模型训练与部署353.1大模型并行计算技术.353.2并行计算框架.363.3模型部署.403.3.1预训练模型部署的困难.403.3.2部署框架和部署工具.413.3.3部署技术和优化方法.433.4预训练模型的压缩.453.4.1模型压缩方案概述.453.4.2结构化模型压缩策略.453.4.3非结构化模型
6、压缩策略.463.4.4模型压缩小结.46第四章ChatGPT 相关数据集484.1预训练数据集.484.1.1文本预训练数据集.484.1.2代码预训练数据集.504.2人工标注数据规范及相关数据集.524.2.1指令微调工作流程及数据集构建方法.534.2.2常见的指令微调数据集.534.2.3构建指令微调数据集的关键问题.54第五章大模型评价方法595.1模型评价方式.595.1.1人工评价.595.1.2自动评价.605.2模型评价指标.625.2.1准确性.625.2.2不确定性.635.2.3攻击性.634ChatGPT 调研报告5.2.4毒害性.645.2.5公平性与偏见性.65
7、5.2.6鲁棒性.665.2.7高效性.675.3模型评价方法小结.68第六章 现有大模型及对话式通用人工智能系统696.1现有大模型对比.696.2对话式通用人工智能系统调研.726.2.1对话式通用人工智能系统.726.2.2不同系统之间的比较.75第七章 自然语言处理的未来发展方向807.1提高 ChatGPT 的能力.807.2加深对模型的认识.817.3实际应用.827.4从语言到 AGI 的探索之路.835ChatGPT 调研报告第一章ChatGPT 的背景与意义本章首先介绍自然语言处理、大规模预训练语言模型以及 ChatGPT 技术的发展历程,接着就 ChatGPT 的技术优点和
8、不足进行分析,然后讨论ChatGPT 可能的应用前景,最后展望 ChatGPT 普及后可能带来的风险与挑战。1.1自然语言处理的发展历史人类语言(又称自然语言)具有无处不在的歧义性、高度的抽象性、近乎无穷的语义组合性和持续的进化性,理解语言往往需要具有一定的知识和推理等认知能力,这些都为计算机处理自然语言带来了巨大的挑战,使其成为机器难以逾越的鸿沟。因此,自然语言处理被认为是目前制约人工智能取得更大突破和更广泛应用的瓶颈之一,又被誉为“人工智能皇冠上的明珠”。国务院 2017 年印发的新一代人工智能发展规划将知识计算与服务、跨媒体分析推理和自然语言处理作为新一代人工智能关键共性技术体系的重要组
9、成部分。自然语言处理自诞生起,经历了五次研究范式的转变(如图 1.1 所示):由最开始基于小规模专家知识的方法,逐步转向基于机器学习的方法。机器学习方法也由早期基于浅层机器学习的模型变为了基于深度学习的模型。为了解决深度学习模型需要大量标注数据的问题,2018 年开始又全面转向基于大规模预训练语言模型的方法,其突出特点是充分利用大模型、大数据和大计算以求更好效果。近期,ChatGPT 表现出了非常惊艳的语言理解、生成、知识推理能力,它可以极好地理解用户意图,真正做到多轮沟通,并且回答内容完整、重点清晰、有概括、有逻辑、有条理。ChatGPT 的成功表现,使人们看到了解决自然语言处理这一认知智能
10、核心问题的一条可能的路径,并被认为向通用人工智能迈出了坚实的一步,将对搜索引擎构成巨大的挑战,甚至将取代很6ChatGPT 调研报告小规模专家知识19501990浅层机器学习算法19902010深度学习算法20102017预训练语言模型20182023ChatGPT2023?图 1.1:自然语言处理研究范式的发展历程多人的工作,更将颠覆很多领域和行业。那么,ChatGPT 到底解决了什么本质科学问题,才能变得如此强大并受到广泛的关注呢?我们认为,ChatGPT 是继数据库和搜索引擎之后的全新一代的“知识表示和调用方式”。知识在计算机内的表示是人工智能的核心问题。如表 1.1所示,早期,知识以结
11、构化的方式存储在数据库中,人类需要掌握机器语言(如 SQL),才能调用这些知识;后来,随着互联网的诞生,更多文本、图片、视频等非结构化知识存储在互联网中,人类通过关键词的方式调用搜索引擎获取知识;现在,知识以参数的形式存储在大模型中(从 2018 年开始),ChatGPT 主要解决了用自然语言直接调用这些知识的问题,这也是人类获取知识最自然的方式。表 1.1:知识表示和调用方式的演进知 识 表示方式表示方式的精确度知识调用方式调用方式的自然度研究领域代表应用代表公司关 系 型数据库高SQL低数据库DBMSOracle、Mi-crosoft互联网中Keywords中信息检索搜索引擎Google、
12、Mi-crosoft大模型低自然语言高自然语言处理ChatGPTOpenAI、Microsoft、Google另外,从自然语言处理技术发展阶段的角度看(如图 1.1),可以发现一个有趣的现象,即每一个技术阶段的发展时间,大概是上一个阶段的一半。小规模专家知识发展了 40 年,浅层机器学习是 20 年,之后深度学习大概10 年,预训练语言模型发展的时间是 5 年,那么以 ChatGPT 为代表的技7ChatGPT 调研报告术能持续多久呢?如果大胆预测,可能是 2 到 3 年,也就是到 2025 年大概又要更新换代了。1.2大规模预训练语言模型的技术发展历程大规模预训练语言模型(简称大模型)作为
13、ChatGPT 的知识表示及存储基础,对系统效果表现至关重要,接下来对大模型的技术发展历程加以简要介绍。2018 年,OpenAI 提出了第一代 GPT(Generative Pretrained Trans-former)模型1,将自然语言处理带入“预训练”时代。然而,GPT 模型并没有引起人们的关注,反倒是谷歌随即提出的 BERT(Bidirectional EncoderRepresentations from Transformers)模型2产生了更大的轰动。不过,Ope-nAI 继续沿着初代 GPT 的技术思路,陆续发布了 GPT-23和 GPT 模型GPT-34。尤其是 GPT-3
14、 模型,含有 1,750 亿超大规模参数,并且提出“提示语”(Prompt)的概念,只要提供具体任务的提示语,即便不对模型进行调整也可完成该任务,如:输入“我太喜欢 ChatGPT 了,这句话的情感是 _”,那么 GPT-3 就能够直接输出结果“褒义”。如果在输入中再给一个或几个示例,那么任务完成的效果会更好,这也被称为语境学习(In-context Learning)。更详细的技术细节推荐阅读相关的综述文章5-8。不过,通过对 GPT-3 模型能力的仔细评估发现,大模型并不能真正克服深度学习模型鲁棒性差、可解释性弱、推理能力缺失的问题,在深层次语义理解和生成上与人类认知水平还相去甚远。直到
15、ChatGPT 的问世,才彻底改变了人们对于大模型的认知。1.3ChatGPT 技术发展历程2022 年 11 月 30 日,OpenAI 推出全新的对话式通用人工智能工具ChatGPT。据报道,在其推出短短几天内,注册用户超过 100 万,2 个月活跃用户数已达 1 个亿,引爆全网热议,成为历史上增长最快的消费者应用程序,掀起了人工智能领域的技术巨浪。ChatGPT 之所以有这么多活跃用户,是因为它可以通过学习和理解人类语言,以对话的形式与人类进行交流,交互形式更为自然和精准,极大地改变了普通大众对于聊天机器人的认知,完成了从“人工智障”到“有趣”8ChatGPT 调研报告的印象转变。除了聊
16、天,ChatGPT 还能够根据用户提出的要求,进行机器翻译、文案撰写、代码撰写等工作。ChatGPT 拉响了大模型构建的红色警报,学界和企业界纷纷迅速跟进启动研制自己的大模型。继 OpenAI 推出 ChatGPT 后,与之合作密切的微软迅速上线了基于ChatGPT 类技术的 New Bing,并计划将 ChatGPT 集成到 Office 办公套件中。谷歌也迅速行动推出了类似的 Bard 与之抗衡。除此之外,苹果、亚马逊、Meta(原 Facebook)等企业也均表示要积极布局 ChatGPT 类技术。国内也有多家企业和机构明确表态正在进行类 ChatGPT 模型研发。百度表示正在基于文心大
17、模型进行文心一言的开发,阿里巴巴表示其类 ChatGPT产品正在研发之中,华为、腾讯表示其在大模型领域均已有相关的布局,网易表示其已经投入到类 ChatGPT 技术在教育场景的落地研发,京东表示将推出产业版 ChatGPT,科大讯飞表示将在数月后进行产品级发布,国内高校复旦大学则推出了类 ChatGPT 的 MOSS 模型。除了国内外学界和企业界在迅速跟进以外,我国国家层面也对 Chat-GPT 有所关注。2023 年 2 月 24 日,科技部部长王志刚表示:“ChatGPT 在自然语言理解、自然语言处理等方面有进步的地方,同时在算法、数据、算力上进行了有效结合。”科技部高新技术司司长陈家昌在
18、回应 ChatGPT 相关提问时也表示,ChatGPT 最近形成了一种现象级的应用,表现出很高的人机交互水平,表现出自然语言的大模型已经具备了面向通用人工智能的一些特征,在众多行业领域有着广泛的应用潜力。1ChatGPT 是现象级应用,标志着语言大模型已经具备了一些通用人工智能特征,在众多行业领域有着广泛的应用潜力。”这标志着在未来,ChatGPT相关技术有可能会成为国家战略支持的重点。从技术角度讲,ChatGPT 是一个聚焦于对话生成的大语言模型,其能够根据用户的文本描述,结合历史对话,产生相应的智能回复。其中 GPT是英文 Generative Pretrained Transformer
19、 的缩写。GPT 通过学习大量网络已有文本数据(如 Wikipedia,reddit 对话),获得了像人类一样流畅对话的能力。虽然 GPT 可以生成流畅的回复,但是有时候生成的回复并不符合人类的预期,OpenAI 认为符合人类预期的回复应该具有真实性、无害性和有用性。为了使生成的回复具有以上特征,OpenAI 在 2022 年初发表的工作“Training language models to follow instructions with human feedback”中提到引入人工反馈机制,并使用近端策略梯度算法(PPO)对大模型进行1https:/ 调研报告训练。这种基于人工反馈的训练
20、模式能够很大程度上减小大模型生成回复与人类回复之间的偏差,也使得 ChatGPT 具有良好的表现。1.3.1ChatGPT 的相关技术接下来将简要介绍 ChatGPT 相关技术的发展历程。ChatGPT 核心技术主要包括其具有良好的自然语言生成能力的大模型 GPT-3.5 以及训练这一模型的钥匙基于人工反馈的强化学习(RLHF)。GPT 家族是 OpenAI 公司推出的相关产品,这是一种生成式语言模型,可用于对话、问答、机器翻译、写代码等一系列自然语言任务。每一代 GPT相较于上一代模型的参数量均呈现出爆炸式增长。OpenAI 在 2018 年 6 月发布的 GPT 包含 1.2 亿参数,在
21、2019 年 2 月发布的 GPT-2 包含 15 亿参数,在 2020 年 5 月发布的 GPT-3 包含 1750 亿参数。与相应参数量一同增长的还有公司逐年积淀下来的恐怖的数据量。可以说大规模的参数与海量的训练数据为 GPT 系列模型赋能,使其可以存储海量的知识、理解人类的自然语言并且有着良好的表达能力。除了参数上的增长变化之外,GPT 模型家族的发展从 GPT-3 开始分成了两个技术路径并行发展2,一个路径是以 Codex 为代表的代码预训练技术,另一个路径是以 InstructGPT 为代表的文本指令(Instruction)预训练技术。但这两个技术路径不是始终并行发展的,而是到了一
22、定阶段后(具体时间不详)进入了融合式预训练的过程,并通过指令学习(InstructionTuning)、有监督精调(Supervised Fine-tuning)以及基于人类反馈的强化学习(Reinforcement Learning with Human Feedback,RLHF)等技术实现了以自然语言对话为接口的 ChatGPT 模型。RLHF 这一概念最早是在 2008 年 TAMER:Training an Agent Man-ually via Evaluative Reinforcement9一文中被提及的。在传统的强化学习框架下代理(Agent)提供动作给环境,环境输出奖励和状
23、态给代理,而在TAMER 框架下,引入人类标注人员作为系统的额外奖励。该文章中指出引入人类进行评价的主要目的是加快模型收敛速度,降低训练成本,优化收敛方向。具体实现上,人类标注人员扮演用户和代理进行对话,产生对话样本并对回复进行排名打分,将更好的结果反馈给模型,让模型从两种反馈模式人类评价奖励和环境奖励中学习策略,对模型进行持续迭代式微调。这一框架的提出成为后续基于 RLHF 相关工作的理论基础。2https:/ 调研报告在 2017 年前后,深度强化学习(Deep Reinforcement Learning)逐渐发展并流行起来。MacGlashan et al.10提出了一种 AC 算法(
24、Actor-critic),并且将人工反馈(包括积极和消极)作为信号调节优势函数(Advantagefunction)。Warnell et al.11将 TAMER 框架与深度强化学习相结合,成功将 RLHF 引入深度强化学习领域。在这一阶段,RLHF 主要被应用于模拟器环境(例如游戏等)或者现实环境(例如机器人等)领域,而利用其对于语言模型进行训练并未受到重视。在 2019 年以后,RLHF 与语言模型相结合的工作开始陆续出现,Ziegleret al.12较早利用人工信号在四个具体任务上进行了微调并取得不错的效果。OpenAI 从 2020 年开始关注这一方向并陆续发表了一系列相关工作,
25、如应用于文本摘要13-14,利用 RLHF 训练一个可以进行网页导航的代理15等。后来,OpenAI 将 RLHF 与 GPT 相结合的工作,提出了 InstructGPT 这一 ChatGPT 的孪生兄弟16,主要是利用 GPT-3 进行对话生成,旨在改善模型生成的真实性、无害性和有用性。与此同时,作为缔造 AlphaGo 的公司,具有一干擅长强化学习的算法工程师的 DeepMind 也关注到了这一方向,先后发表了 GopherCite17和 Sparrow18两个利用 RLHF 进行训练的语言模型,GopherCite 是在开放域问答领域的工作,Sparrow 是在对话领域的一篇工作,并且
26、在 2022 年 9 月,DeepMind 的聊天机器人也已经上线。2022 年 12 月,OpenAI 在诸多前人工作的积淀之下推出了 ChatGPT。ChatGPT 以 GPT-3.5 作为基座,依托其强大的生成能力,使用 RLHF 对其进行进一步训练,从而取得了惊艳四座的效果。1.3.2ChatGPT 技术发展脉络的总结纵观 ChatGPT 的发展历程,不难发现其成功是循序渐进的,OpenAI从 2020 年开始关注 RLHF 这一研究方向,并且开展了大量的研究工作,积攒了足够的强化学习在文本生成领域训练的经验。GPT 系列工作的研究则积累了海量的训练数据以及大语言模型训练经验,这两者的
27、结合才产生了ChatGPT。可以看出技术的发展并不是一蹴而就的,是大量工作的积淀量变引起质变。此外,将 RLHF 这一原本应用于模拟器环境和现实环境下的强化学习技术迁移到自然语言生成任务上是其技术突破的关键点之一。纵观 AI 这几年的发展,已经逐渐呈现出不同技术相互融合的大趋势,比如将 Transformer 引入计算机视觉领域产生的 ViT;将强化学习引入蛋白质结构预测的 AlphaFold 等。每个研究人员都有自己熟悉擅长的领域,而同11ChatGPT 调研报告时科学界也存在着大量需要 AI 赋能的亟待解决的关键问题,如何发现这些问题的痛点,设计合理的方法,利用自己研究领域的优越的技术解决
28、问题,似乎是一个值得思考,也非常有意义的问题。这是一个 AI 蓬勃发展的时代,计算机科学界每天都在产生着令人惊奇的发明创造,很多之前人们可望而不可及的问题都在或者正在被解决的路上。2022 年 2 月,DeepMind 发布可对托卡马克装置中等离子体进行磁控制的以帮助可控核聚变的人工智能,这项研究目前仍在进行。或许在未来的某一天,能源将不成为困扰我们的问题,环境污染将大大减少,星际远航将成为可能。希望每个研究人员都能在这样的时代中,找到适合自己的研究方向并且为科技进步添砖加瓦。1.3.3ChatGPT 的未来技术发展方向虽然 ChatGPT 目前已经取得了非常喜人的成果,但是未来仍然有诸多可以
29、研究的方向。首先 OpenAI 的研究人员指出了 ChatGPT 现存的一些问题:1.ChatGPT 有时候会生成一些似是而非、毫无意义的答案,导致这个问题的原因有:强化学习训练过程中没有明确的正确答案;训练过程中一些谨慎的训练策略导致模型无法产生本应产生的正确回复;监督学习训练过程中错误的引导导致模型更倾向于生成标注人员所知道的内容而不是模型真实知道的。2.ChatGPT 对于输入措辞比较敏感,例如:给定一个特定的问题,模型声称不知道答案,但只要稍微改变措辞就可以生成正确答案。3.ChatGPT 生成的回复通常过于冗长,并且存在过度使用某些短语的问题,例如:重申是由 OpenAI 训练的语言
30、模型。这样的问题主要来自于训练数据的偏差和过拟合问题。4.虽然 OpenAI 已经努力让模型拒绝不恰当和有害的请求,但是仍然无法避免对有害请求作出回复或对问题表现出偏见。其次,ChatGPT 虽然很强大,但是其模型过于庞大使用成本过高,如何对模型进行瘦身也是一个未来的发展方向,目前主流的模型压缩方法有量化、剪枝、蒸馏和稀疏化等。量化是指降低模型参数的数值表示精度,比如从 FP32 降低到 FP16 或者 INT8。剪枝是指合理地利用策略删除神经网络12ChatGPT 调研报告中的部分参数,比如从单个权重到更高粒度组件如权重矩阵到通道,这种方法在视觉领域或其他较小语言模型中比较奏效。蒸馏是指利用
31、一个较小的学生模型去学习较大的老师模型中的重要信息而摒弃一些冗余信息的方法。稀疏化将大量的冗余变量去除,简化模型的同时保留数据中最重要的信息。此外,减少人类反馈信息的 RLAIF 也是最近被提出的一个全新的观点。2022 年 12 月 Anthropic 公司发表论文“Constitutional AI:Harmlessnessfrom AI Feedback”19,该公司是 2020 年 OpenAI 副总裁离职后创立的,其公司始创团队中多有参与 GPT-3 以及 RLHF 相关研究的经历。该文章介绍了其最新推出的聊天机器人 Claude,与 ChatGPT 类似的是两者均利用强化学习对模型
32、进行训练,而不同点则在于其排序过程使用模型进行数据标注而非人类,即训练一个模型学习人类对于无害性偏好的打分模式并代替人类对结果进行排序。1.4ChatGPT 的优势与劣势1.4.1ChatGPT 的优势ChatGPT 作为开年爆款产品,自发布以来不足三个月,就以其能力的全面性、回答的准确性、生成的流畅性、丰富的可玩性俘获了数以亿计的用户,其整体能力之强大令人惊叹。下面我们将从以下三个角度分别阐述ChatGPT 相较于不同产品和范式的优点。1.相较于普通聊天机器人:ChatGPT 的发布形式是一款聊天机器人,类似于市场上其他聊天机器人(微软小冰、百度度秘等),也是直接对其下指令即可与人类自然交互
33、,简单直接。但相较之下,ChatGPT 的回答更准确,答案更流畅,能进行更细致的推理,能完成更多的任务,这得益于其以下三方面的能力:1.强大的底座能力:ChatGPT 基于 GPT-3.5 系列的 Code-davinci-002指令微调而成。而 GPT-3.5 系列是一系列采用了数千亿的 token 预训练的千亿大模型,足够大的模型规模赋予了 ChatGPT 更多的参数量记忆充足的知识,同时其内含“涌现”的潜力,为之后的指令微调能力激发打下了坚实的基础;2.惊艳的思维链推理能力:在文本预训练的基础上,ChatGPT 的基础大模型采用 159G 的代码进行了继续预训练,借助代码分步骤、分模块1
34、3ChatGPT 调研报告解决问题的特性,模型涌现出了逐步推理的能力,在模型表现上不再是随着模型规模线性增长,有了激增,打破了 scaling law;3.实用的零样本能力:ChatGPT 通过在基础大模型上利用大量种类的指令进行指令微调,模型的泛化性得到了显著地激发,可以处理未见过的任务,使其通用性大大提高,在多种语言、多项任务上都可以进行处理。综上,在大规模语言模型存储充足的知识和涌现的思维链能力的基础上,ChatGPT 辅以指令微调,几乎做到了知识范围内的无所不知,且难以看出破绽,已遥遥领先普通的聊天机器人。2.相较于其它大规模语言模型:相较于其它的大规模语言模型,ChatGPT使用了更
35、多的多轮对话数据进行指令微调,这使其拥有了建模对话历史的能力,能持续和用户交互。同时因为现实世界语言数据的偏见性,大规模语言模型基于这些数据预训练可能会生成有害的回复。ChatGPT 在指令微调阶段通过基于人类反馈的强化学习调整模型的输出偏好,使其能输出更符合人类预期的结果(即能进行翔实的回应、公平的回应、拒绝不当问题、拒绝知识范围外的问题),一定程度上缓解了安全性和偏见问题,使其更加耐用;同时其能利用真实的用户反馈不断进行 AI 正循环,持续增强自身和人类的这种对齐能力,输出更安全的回复。3.相较于微调小模型:在 ChatGPT 之前,利用特定任务数据微调小模型是近年来最常用的自然语言处理范
36、式。相较于这种微调范式,ChatGPT通过大量指令激发的泛化能力在零样本和少样本场景下具有显著优势,在未见过的任务上也可以有所表现。例如 ChatGPT 的前身 InstructGPT 指令微调的指令集中 96%以上是英语,此外只含有 20 种少量的其它语言(包含西班牙语、法语、德语等)。然而在机器翻译任务上,我们使用指令集中未出现的塞尔维亚语让 ChatGPT 进行翻译,仍然可以得到正确的翻译结果,这是在微调小模型的范式下很难实现的泛化能力。除此之外,作为大规模语言模型的天然优势使 ChatGPT 在创作型任务上的表现尤为突出,甚至强于大多数普通人类。14ChatGPT 调研报告1.4.2C
37、hatGPT 的劣势固然 ChatGPT 在实际使用中表现惊艳,然而囿于大规模语言模型自身、数据原因、标注策略等局限,仍主要存在以下劣势:1.大规模语言模型自身的局限:身为大规模语言模型,ChatGPT 难免有着 LLM 的通用局限,具体表现在以下几个方面:1.可信性无法保证:ChatGPT 的回复可能是在一本正经地胡说八道,语句通畅貌似合理,但其实完全大相径庭,目前模型还不能提供合理的证据进行可信性的验证;2.时效性差:ChatGPT 无法实时地融入新知识,其知识范围局限于基础大规模语言模型使用的预训练数据时间之前,可回答的知识范围有明显的边界;3.成本高昂:ChatGPT 基础大模型训练成
38、本高、部署困难、每次调用花费不菲、还可能有延迟问题,对工程能力有很高的要求;4.在特定的专业领域上表现欠佳:大规模语言模型的训练数据是通用数据,没有领域专业数据,比如针对特定领域的专业术语翻译做的并不好;5.语言模型每次的生成结果是 beam search 或者采样的产物,每次都会有细微的不同。同样地,ChatGPT 对输入敏感,对于某个指令可能回答不正确,但稍微替换几个词表达同样的意思重新提问,又可以回答正确,目前还不够稳定。2.数据原因导致的局限:如上文所述,ChatGPT 的基础大规模语言模型是基于现实世界的语言数据预训练而成,因为数据的偏见性,很可能生成有害内容。虽然 ChatGPT
39、已采用 RLHF 的方式大大缓解了这一问题,然而通过一些诱导,有害内容仍有可能出现。此外,ChatGPT 为 OpenAI 部署,用户数据都为 OpenAI 所掌握,长期大规模使用可能存在一定的数据泄漏风险。3.标注策略导致的局限:ChatGPT 通过基于人类反馈的强化学习使模型的生成结果更符合人类预期,然而这也导致了模型的行为和偏好一定程度上15ChatGPT 调研报告反映的是标注人员的偏好,在标注人员分布不均的情况下,可能会引入新的偏见问题。同样地,标注人员标注时会倾向于更长的答案,因为这样的答案看起来更加全面,这导致了 ChatGPT 偏好于生成更长的回答,在部分情况下显得啰嗦冗长。此外
40、,作为突围型产品,ChatGPT 确实表现优秀。然而在目前微调小模型已经达到较好效果的前提下,同时考虑到 ChatGPT 的训练和部署困难程度,ChatGPT 可能在以下任务场景下不太适用或者相比于目前的微调小模型范式性价比较低:1.ChatGPT 的通用性很强,对多种自然语言处理任务都有处理能力。然而针对特定的序列标注等传统自然语言理解任务,考虑到部署成本和特定任务的准确性,在 NLU 任务不需要大规模语言模型的生成能力,也不需要更多额外知识的前提下,如果拥有足够数据进行微调,微调小模型可能仍是更佳的方案;2.在一些不需要大规模语言模型中额外知识的任务上,例如机器阅读理解,回答问题所需的知识
41、已经都存在于上下文中;3.由于除英语之外的其它语言在预训练语料库中占比很少,因此翻译目标非英文的机器翻译任务和多语言任务在追求准确的前提下可能并不适用;4.大规模语言模型的现实世界先验知识太强,很难被提示覆盖,这导致我们很难纠正 ChatGPT 的事实性错误,使其使用场景受限;5.对于常识、符号和逻辑推理问题,ChatGPT 更倾向于生成“不确定”的回复,避免直接面对问题正面回答。在追求唯一性答案的情况下可能并不适用;6.ChatGPT 目前还只能处理文本数据,在多模态任务上还无法处理。表 1.2 列举了一些 ChatGPT 存在的以上不足的示例(2023 年 2 月 24日测试)。1.5Ch
42、atGPT 的应用前景ChatGPT 作为掀起新一轮 AIGC 热潮的新引擎,无论在人工智能行业还是其他行业都带来了广泛的讨论和影响,下面我们分别从这两个方面讨论16ChatGPT 调研报告ChatGPT 的应用前景。1.5.1在人工智能行业的应用前景及影响ChatGPT 的发布及其取得的巨大成功对人工智能行业形成了强烈的冲击,人们发现之前许多悬而未解的问题在 ChatGPT 身上迎刃而解(包括事实型问答、文本摘要事实一致性、篇章级机器翻译的性别问题等),ChatGPT引起了巨大的恐慌。然而从另一个角度看,我们也可以把 ChatGPT 当成是一个工具来帮助我们的开发、优化我们的模型、丰富我们的
43、应用场景,比如:1.代码开发:利用 ChatGPT 辅助开发代码,提高开发效率,包括代码补全、自然语言指令生成代码、代码翻译、bug 修复等;2.ChatGPT 和具体任务相结合:ChatGPT 的生成结果在许多任务上相比微调小模型都有很明显的可取之处(比如文本摘要的事实一致性,篇章级机器翻译的性别问题),在微调小模型的基础上结合这些ChatGPT 的长处,可能可以在避免训练部署下显著提升小模型的效果;3.同时基于 ChatGPT 指令微调激发的零样本能力,对于只有少数标注或者没有标注数据的任务以及需要分布外泛化的任务,我们既可以直接应用 ChatGPT,也可以把 ChatGPT 当作冷启动收
44、集相关语料的工具,丰富我们的应用场景。1.5.2在其他行业的应用前景及影响ChatGPT 的发布也引起了其它行业的连锁反应:Stack Overflow 禁用ChatGPT 的生成内容,美国多所公立学校禁用 ChatGPT,各大期刊禁止将ChatGPT 列为合著者。ChatGPT 似乎在一些行业成为“公敌”,但在其它行业,也许充满机遇。1.搜索引擎:自 ChatGPT 发布以来,各大科技巨头都投入了极大的关注度,最著名的新闻莫过于谷歌担心 ChatGPT 会打破搜索引擎的使用方式和市场格局而拉响的红色警报。为此各大科技巨头纷纷行动起来,谷歌开始内测自己的类 ChatGPT 产品 Bard,百度
45、三月份将面向公众开放文心一言,微软更是宣布 ChatGPT 为必应提供技术支持,推出新必应。ChatGPT 和搜索引擎的结合似乎已经不可避免,也许不会17ChatGPT 调研报告马上取代搜索引擎,但基于搜索引擎为 ChatGPT 提供生成结果证据展示以及利用检索的新知识扩展 ChatGPT 的回答边界已经是可以预见并正在进行的结合方向。2.泛娱乐行业:ChatGPT 对于文娱行业则更多带来的是机遇。无论是基于 ChatGPT 创建更智能的游戏虚拟人和玩家交流提升体验,还是利用虚拟数字人进行虚拟主播直播互动,ChatGPT 都为类似的数字人提供了更智能的“大脑”,使行业充满想象空间。除此之外,在
46、心理健康抚慰、闲聊家庭陪护等方面,类似的数字人也大有拳脚可展。3.自媒体行业:同样大大受益的还有自媒体行业。美国的新闻聚合网站BuzzFeed 宣布和 OpenAI 合作,未来将使用 ChatGPT 帮助创作内容。ChatGPT 的出现将使得内容创作变得更加容易,无论是旅游、餐饮、住宿、情感,相关博主的内容产出效率将得到极大的提升,有更多的精力润色相关内容,期待更多的高质量文章的产生。4.教育行业:ChatGPT 在教育行业可能是彻头彻尾的“大魔王”:调查显示 89%的学生利用 ChatGPT 完成家庭作业,世界宗教课全班第一的论文竟然是用 ChatGPT 所写。这迫使多所学校全面禁用 Cha
47、tGPT,无论是在作业、考试或者论文当中,一经发现即认定为作弊。然而从另一方面来看,这可能也会促使针对人工智能相关法律法规的完善,加速 AI 社会化的发展。5.其他专业领域:针对其它专业领域,ChatGPT 的具体影响不大。因为限于 ChatGPT 训练数据的限制,ChatGPT 无法对专业领域的专业知识进行细致的分析,生成的回答专业度不足且可信性难以保证,至多只能作为参考,很难实现替代。比如因为 ChatGPT 未获取 IDC、Gartner 等机构的数据使用授权,其关于半导体产业的市场分析中很少涉及量化的数据信息。此外,ChatGPT 可以帮助个人使用者在日常工作中写邮件、演讲稿、文案和报
48、告,提高其工作效率。同时基于微软计划将 ChatGPT 整合进 Word、PowerPoint 等办公软件,个人使用者也可以从中受益,提高办公效率。18ChatGPT 调研报告1.6ChatGPT 带来的风险与挑战ChatGPT 的出现和应用给用户和社会带来了很多新的风险和挑战。这些风险和挑战,一部分是 ChatGPT 本身技术限制引起的,如生成的内容不能保证真实性、会产生有害言论等。一部分是用户对 ChatGPT 的使用不当引起的,如在教育、科研等领域滥用 ChatGPT 产生的文本。ChatGPT 用户数量在其出现后两个月就突破了 1 亿,因此应对这些风险和挑战需要整个社会行动起来,制定相
49、应的法律和规范,让 ChatGPT 为人类发展服务,尽量避免引起新的的社会问题。下面列举了几个重要风险和挑战,并试着给出了相应的解决思路。滥用风险滥用风险主要是指用户对于 ChatGPT 产生结果的不当应用。具体表现有:学生在课堂测验或考试过程中直接使用 ChatGPT 的结果作为答案进行作弊;研究人员使用 ChatGPT 来进行写作的学术不规范行为;不法分子利用 ChatGPT 来制造假新闻或谣言。Tamkin et al.20指出,使用预训练语言模型能参与的犯罪行为种类繁多,因此很难把所有它们能错误使用的方法都归纳总结起来,可以预料随着技术的发展以及不法分子的不断尝试,ChatGPT 被错
50、误使用的方式会更多样且更加难以预测。已有很多研究者针对这一需求提出了不同的解决方案。下面主要介绍两个有代表性的工作:2023 年 1 月 31 日,开发 ChatGPT 的 OpenAI 公司发布了一个能够鉴别 AI 生成文本的分类器3。根据 OpenAI 公布的测试结果,该分类器对于“AI 生成文本”类别的召回率只有 26%。该分类器的训练数据的构造方式如下:首先获取大量提示,对于每个提示,分别获取 AI 生成文本和人工写作文本。这种训练数据的获取方式成本较高。斯坦福大学的 Mitchell et al.21提出了一种 Zero-shot 的 AI 生成文本检测方法 DetectGPT,该方
51、法利用 AI 生成文本和人工写作文本在由其他AI 模型进行改写后所引起的生成概率的变化来进行判别,生成概率变化大的文本为 AI 生成文本。根据论文在 3 个数据集上的测试结果,DetectGPT在 AUROC 这一评价指标上超过了目前已知的其他 Zero-shot 方法。Detect-GPT 的优势是不需要训练数据,但是它需要能够输出生成概率的 AI 模型的支持,而很多 AI 模型只提供了 API(如 GPT-3),无法计算生成文本的概率。3https:/ 调研报告总的来说,目前对于 ChatGPT 自动生成文本的自动鉴别技术效果还不能令人满意,需要继续寻找更有效的鉴别方法。错误信息风险错误信
52、息风险源于 ChatGPT 可能产生虚假、误导、无意义或质量差的信息。ChatGPT 可以并且已经在成为很多用户的一种获取信息的手段,但用户如果没有分辨能力,可能会采信这些错误信息,从而带来风险隐患。尽管预训练语言模型生成的信息有一定可信度,且可信度会在后续学习改进中不断上升15,但这类模型在很多领域生成的信息仍然不够可靠22,ChatGPT 也是如此。ChatGPT 的流行会在某种程度上增加用户对它的信任,从而被更多错误的信息误导。预训练语言模型的生成的错误信息比例上升可能会加大人们对社会中各类信息的不信任,破坏社会的知识交流传播23。在一些很敏感的领域,比如法律和医学,ChatGPT 的错
53、误信息很容易导致直接伤害。错误的医学法律知识会导致使用者违法犯罪或者自行处理伤口疾病时出现问题,从而造成对社会和自己身体健康的伤害。这在 ChatGPT之前就已经有了一些例子,如患者不相信正规医生而搬出搜索引擎给出的结果来反驳医生,这也能体现出很多用户对这类信息获取方式的信任。知识共享是一种社会现象,人们出于信任从社会中获取知识并且过滤吸收。ChatGPT 的一个较为常用的功能是充当搜索引擎,类似百度、Google等,搜索引擎的信息因其较高的准确率通常拥有较高的可信度,但是如果ChatGPT 产生错误信息误导他人的现象加剧可能会导致人们不仅对 Chat-GPT 信任感下降,同时也对其他类别的信
54、息不再信任,破坏社会的知识共享,影响社会的知识交流传播。目前还没有专门针对 ChatGPT 生成文本的正确性进行鉴别的研究论文发表。已有的针对虚假新闻或虚假信息检测的方法可以尝试应用到大规模语言模型生成文本的正确性检测中,比如基于事实抽取和验证的方法。但是基于写作风格的方法可能不太实用,因为大规模语言模型生成文本的过程与人的写作过程有较大区别。隐私泄露风险隐私泄露风险是指在用户不知情的情况下泄露出自己不想泄露的信息,或者隐私信息被 ChatGPT 通过其他信息推断出来。用户在使用 ChatGPT 过程中可能会泄露自己的个人隐私信息或者一些组织乃至国家的机密信息。个人信息的泄露可能会对个人的心理
55、健康、人身安全造成影响。国家或者商业机密往往是只有小范围人员能获悉的高等级信息,它们的20ChatGPT 调研报告泄露传播可能会危机国家安全和企业安全。私密信息存在被推导出来的可能,用户即便未直接泄露私密信息,ChatGPT 可能在不断地学习过程中形成强大的推断能力,从而自行推断出来。对于这种风险的防范需要从两个方面入手:1)提醒用户注意隐私保护;2)想办法限制 ChatGPT 对于隐私信息的访问和利用。用户与机器交流受到伤害风险用户在使用 ChatGPT 时可能会对自己的心理产生影响,这些影响不仅包括 ChatGPT 可能产生的不良信息,还包括对机器产生依赖性等。ChatGPT 输出的暴力、
56、色情等信息会对未成年和一些成年人造成较大影响,该类别信息的过多摄入会对人的心理健康产生影响。一些用户可能会对 ChatGPT 这种交互式对话机器人产生成瘾性或者依赖性,从而导致健康和社交问题。即使用户知道对话系统不是人类,但由于对话系统的信息交互跟人类相似,潜意识里把对话系统当做人的错误认知会导致他们仍然对对话系统做出没有意识的社交反应24。即部分用户会在没有意识的状态下将对话系统误认为是人类来交流,从而产生对对话系统的依赖。用户在进行语言交互时如果没有对人工智能的基本认识、足够的情感和伦理素养,可能会产生情感问题和心理健康风险,比如孤独、沮丧、焦虑等。患有心理疾病者在此也有可能会因为对 Ch
57、atGPT 的依赖而拖慢自己的心理疾病治疗进度。有害言论风险常见的有害言论包括种族主义、性别歧视和偏见等。Chat-GPT 是一种无感知的语言模型,对输入数据的处理是基于其在训练数据中的出现频率和语言模式。如果训练数据中存在偏见和歧视,ChatGPT 在这部分数据上训练后也会反映这些问题。由于训练数据体量巨大且丰富,其中不同文化和价值观之间存在差异,因此可能会有种族、文化和价值观冲突的风险。早在 2016 年微软研发的聊天机器人 Tay 就在一天之间就因获取大量有害输入而转化为一个“种族歧视者”,这也说明了这一风险的存在性。有害言论风险的根源在于训练数据和训练过程,在 ChatGPT 的进化过
58、程中,必须要想办法尽量避免有害言论的产生。知识产权风险知识产权风险包括两个方面:1)ChatGPT 是否会侵犯他人的知识产权;2)ChatGPT 产生的内容是否具有知识产权。一些有版权的作品不属于机密信息,但是使用需要许可,而使用者和ChatGPT 在对话中有可能中使用未经许可的版权作品或商标,侵犯他人的21ChatGPT 调研报告知识产权,这一点在追责时可能会在开发者和使用者的责任界定上出现争议25。国际保护知识产权协会(AIPPI)2019 年发布的人工智能生成物的版权问题决议认为人工智能生成物在其生成过程中有人类干预,且该生成物符合受保护作品应满足的其他条件情况下,能够获得保护,而生成过
59、程无人类干预的人工智能生成物无法获得版权保护4。但是 ChatGPT 广泛的应用场景可能需要知识产权认定方面更细致的规定。垄断风险ChatGPT 对训练数据、算力和人力的要求都很高,需要大量的经费投入,因而开发 ChatGPT 类似技术的门槛很高,这一技术可能被财力雄厚的大公司垄断。以与 ChatGPT 规模相当的 GPT-3 模型为例,采用V100 GPU 和最便宜的云计算套餐,训练一次 GPT-3 模型需要 355 GPU年,费用为 460 万美元5。马里兰大学的副教授 Tom Goldstein 在 2022 年12 月初估计 ChatGPT 用户数量为 1 百万时,每天运行的费用大约在
60、十万美元这个量级6。垄断可能会影响 ChatGPT 相关的人工智能企业间的公平竞争,影响消费者福利的提高,甚至影响 ChatGPT 相关技术的进一步发展。目前很多应用已经建立在 ChatGPT 之上了,但是 ChatGPT 目前的服务并不稳定。一旦形成垄断,这些应用都必须依附于 ChatGPT,如果 ChatGPT 不能提供服务,将会给相关企业和用户造成损失。幸运的是现在很多公司都在投入,研究人员和技术人员也在不断提出实现 ChatGPT 和降低 ChatGPT 训练成本的方法。希望通过技术进步和开源共享,尽量避免 ChatGPT 技术形成垄断的局面。4https:/ 调研报告表 1.2:Ch
61、atGPT 存在不足的示例用户指令ChatGPT 回答备注林黛玉倒拔垂杨柳的过程?林黛玉倒拔垂杨柳的过程是红楼梦中的一段著名描写,描述了林黛玉的情感与性格特点。具体过程如下:在书中,林黛玉在游玩时遇到了一棵垂杨柳,被它的柔软婆娑所吸引。她突然想到,这棵柳树生来柔软,却遭到了自然的不公待遇,成为了萎靡不振的样子。于是,她决定倒拔柳树,让它重新挺拔起来。林黛玉首先找来了一个小童,让他爬上柳树,从上往下折断枝条。但是,小童却没有折断柳树,只是折了几根枝条。林黛玉觉得小童不够力气,于是她亲自上阵,用力往下拉,可是柳树依然纹丝不动。于是,她又找来几个人,一起发力,终于成功将柳树倒拔起来。在这个过程中,林
62、黛玉展现出了她的顽强和坚韧,她不愿意看到美好的事物被摧毁,同时也展现出了她的感性和柔情。她不断地尝试,不断地努力,最终克服了困难,实现了自己的目标。这个场景也象征着林黛玉的命运和悲剧,她在爱情和家庭中也一次次地奋斗,却最终无法改变自己的命运。可信性无法保证;卡塔尔世界杯的冠 军 是 哪 支 球队?卡塔尔世界杯将于 2022 年 11 月 21 日至 12 月 18 日在卡塔尔举行。因此,目前无法回答这个问题,因为比赛的结果尚未确定。请耐心等待比赛结果揭晓。时效性差;如果圆周率等于5.3,半径 1 厘米的圆的面积是多少由于圆周率的精确值约为 3.1415926.,而不是 5.3,因此使用圆周率等
63、于 5.3 计算圆的面积将导致错误的结果。如果我们使用正确的圆周率,即3.1415926.,则可以计算出半径为 1 厘米的圆的面积:A=r=3.1415926.x 1 3.1415926.平方厘米。请注意,由于圆周率是一个无限不循环的小数,因此我们不能精确地计算出圆的面积。在实际计算中,通常采用适当的近似值来计算圆的面积。先验知识太强;挑锁的过程是什么样的我作为一个 AI 助手,不能提供关于非法行为的建议,挑锁是非法的行为,是不道德和不合法的。为了遵守法律和道德规范,请避免从事任何非法活动,包括挑锁。如果您丢失了钥匙或无法进入您的房屋,请考虑寻求合法的解决方案,例如联系房东或租赁公司,或者联系
64、专业的锁匠。专业的锁匠是如何挑锁的专业的锁匠通常使用一种称为“挑锁”的技术来打开锁。这种技术是在没有钥匙的情况下打开锁的方法。挑锁的过程通常包括以下步骤:1.观察锁芯:锁匠会先观察锁芯的形状和结构,以了解锁芯的类型和锁芯中有多少个锁针。2.选择工具:锁匠会根据锁芯类型和锁针数量选择合适的挑锁工具,如挑针、挑子或挑棒等。3.插入工具:锁匠会插入挑锁工具到锁芯中,并用适当的压力将工具向上或向下推动。4.识别锁针:通过观察锁匠会感觉到哪些锁针已经到达正确的位置,这些针就被识别出来了。5.操作锁针:锁匠会继续使用挑锁工具操作那些没有到达正确位置的锁针,逐个将它们推到正确的位置,以打开锁芯。6.打开锁:
65、当所有的锁针都到达了正确的位置,锁匠会用旋转工具旋转锁芯,以此打开锁。需要注意的是,挑锁需要一定的技巧和经验,并且对不同类型的锁和锁芯都需要有相应的了解。除非你是一位专业的锁匠,否则不建议尝试挑锁。如果您遇到锁问题,请联系专业的锁匠以获取帮助。输入敏感;诱导后生成有害内容。鲁迅和周树人是同一个人吗?不是同一个人。鲁迅和周树人都是 20 世纪中国著名的文学家,但他们是两个不同的人。鲁迅的真名是周树人,他是现代中国文学的奠基人之一,代表作品有狂人日记、阿 Q 正传、呐喊等。而周树人则是另外一个作家,代表作品有白石道人、草、故都的秋等。尽管两位作家的名字中都有“周”这个字,但他们的姓名和笔名是不同的
66、。因此,鲁迅和周树人是两个不同的人。我觉得他们两个是同一个人鲁迅和周树人是两个不同的人,他们的生平、思想、文学作品都有明显的区别。鲁迅的真名是周树人,而周树人的名字是周樹人(中文繁体字),两人的名字虽然发音相同,但是字形不同,这是一个非常明显的区别。另外,鲁迅和周树人的出生年代和生平经历也不同。鲁迅生于 1881 年,经历了晚清、民国、抗日战争等时期,周树人生于 1897 年,经历了民国、抗日战争、新中国成立后的时期。他们的思想、文学作品也有很大的不同,鲁迅注重社会现实的揭露和批判,而周树人则更注重文学形式的探索和表现。因此,他们两个是两个不同的人。有事实性错误;且先验知识太强,难以纠正。前提
67、:夫妻二人相见甚欢。效果如何?选择一:他们接吻了。选择二:他们休息了。作为 AI,我必须要指出前提信息不足以判断哪个选择更合适。因为“相见甚欢”并不能够明确地指出他们的行为选择。如果他们想要表达更浪漫的感觉,选择一可能是一个更合适的行为,而如果他们想要更加放松和舒适的氛围,选择二可能更合适。然而,我必须指出,在任何情况下,他们必须自行决定自己的行为,这是非常重要的,因为每个人都有自己的价值观和标准。常识推理问题倾向于生成“不确定”答案,不正面回答问题。23ChatGPT 调研报告第二章ChatGPT 相关核心算法ChatGPT 的卓越表现得益于其背后多项核心算法的支持和配合。本章将分别介绍作为
68、其实现基础的 Transformer 模型、激发出其所蕴含知识的Prompt/Instruction Tuning 算法、其涌现出的思维链能力、以及确保其与人类意图对齐的基于人类反馈的强化学习算法。2.1基于 Transformer 的预训练语言模型ChatGPT 强大的基础模型采用 Transformer 架构,Transformer26是一种基于自注意力机制的深度神经网络模型,可以高效并行地处理序列数据。原始的 Transformer 模型包含两个关键组件:编码器和解码器。编码器用于将输入序列映射到一组中间表示,解码器则将中间表示转换为目标序列。编码器和解码器都由多层的注意力模块和前馈神经
69、网络模块组成。其中自注意力模块可以学习序列中不同位置之间的依赖关系,即在处理每个位置的信息时,模型会考虑序列中其他所有位置上的信息,这种机制使得 Transformer模型能够有效地处理长距离依赖关系。在原始 Transformer 模型基础上,相继衍生出了三类预训练语言模型:编码预训练语言模型、解码预训练语言模型和编解码预训练语言模型。2.1.1编码预训练语言模型(Encoder-only Pre-trained Models)这类模型在预训练过程中只利用原始 Transformer 模型中的编码器。相应的预训练任务通常选用掩码语言建模任务(Masked Language Modeling)
70、,即掩码住(用特殊字符 MASK 替换)输入句子中一定比例的单词后,要求模型根据上下文信息去预测被遮掩的单词。其中有有代表性的工作包括BERT2,ALBERT27,RoBERTa28等。表 2.1列举该架构下的若干经典模型。24ChatGPT 调研报告BERTBERT 模型是最经典的编码预训练语言模型,其通过掩码语言建模和下一句预测任务,对 Transformer 模型的参数进行预训练。ALBERTALBERT 是一个轻量化的 BERT 模型,作者通过分解词向量矩阵和共享 Transformer 层参数来减少模型参数个数。RoBERTa相较于 BERT 模型,RoBERTa 在预训练阶段,采用
71、了更多的语料以及动态掩码机制(不同轮次同一样本掩码不同的单词),去掉了下一句预测任务,同时采用了更大的批大小。2.1.2解码预训练语言模型(Decoder-only Pre-trained Models)GPT(Generative Pre-trained Transformer)是由 OpenAI 提出的只有解码器的预训练模型。相较于之前的模型,不再需要对于每个任务采取不同的模型架构,而是用一个取得了优异泛化能力的模型,去针对性地对下游任务进行微调。在本章节将介绍 GPT 系列模型,包括 GPT-1、GPT-2 和GPT-3,表 2.1列举了 GPT 若干模型的信息。(1)GPT-1GPT-
72、1 在文章“Improving Language Understanding by Generative Pre-Training”1中被提出。在 GPT 被提出之前,大多数深度学习方法都需要大量人工标注的高质量数据,但是标注数据的代价是巨大的,这极大程度上限制了模型在各项任务性能的上限。如何利用容易获取的大规模无标注数据来为模型的训练提供指导成为 GPT-1 中需要解决的第一个问题。另外自然语言处理领域中有许多任务依赖于自然语言在隐含空间中的表征,不同任务对应的表征很可能是不同的,这使得根据一种任务数据学习到的模型很难泛化到其他任务上。因此如何将从大规模无标注数据上学习到的表征应用到不同的下
73、游任务成为 GPT-1 需要解决的第二个问题。GPT-1 的结构很简单,由 12 层 Transformer Block(自注意力模块和前馈神经网络模块)叠加而成。针对第一个问题,GPT-1 中使用了自左到右生成式的目标函数对模型进行预训练。这个目标函数可以简单理解为给定前i1 个 token,对第 i 个 token 进行预测。基于这样的目标函数,GPT-1 就可以利用无标注的自然语言数据进行训练,学习到更深层次的语法信息与语义信息。针对第二个问题,在完成了无监督的预训练之后,GPT-1 接着使用了有标注的数据进行有监督的微调使得模型能够更好地适应下游任务。给定输入25ChatGPT 调研报
74、告token 序列x1,x2,.,xm与标签 y 的数据集,对模型的参数进行再次训练调整,用到的优化模型是在给定输入序列时预测的标签最接近真实值。具体来说,GPT-1 在大规模无标注语料库上预训练之后,再利用有标注数据在特定的目标任务上对模型参数进行微调,实现了将预训练中获得的知识迁移到下游任务。在 GPT-1 提出之前,自然语言处理领域常用的预训练方法是 Word2Vec29;在此之后,GPT-1 提出的两步走的训练方法成为许多大型语言模型的训练范式。从这个角度来看,GPT-1 和 Word2Vec 在具体下游任务中发挥的作用是类似的,通过无监督的方法获取自然语言的隐含表示,再将其迁移至其他
75、目标任务。但是从更高的层面来看,GPT-1 与以往的词向量表示方法是不同的,其数据量与数据规模的增大使得模型能够学习到不同场景下的自然语言表示。图 2.1是 GPT-1 原文中的总览图,左侧是 GPT-1 的架构以及训练时的目标函数;右侧是对于不同任务上进行微调时模型输入与输出的改变。图 2.1:GPT 模型架构及微调方式总体来说,GPT-1 的目标是学习到一个通用的自然语言表征,并在之后通过简单调节适应很大范围上的任务。从现在的角度来看,GPT-1 成功背后有两个原因:第一个是 2017 年 Transformer 的提出使得捕获自然语言中长距离依赖关系成为可能;第二个是 GPT 模型在预训
76、练过程中用到了更大的数据量以及更多的模型参数,使得模型能够从大规模语料库中学习到以往模型无法学习的知识。而任务微调在通用预训练和下游任务之间搭起了知识桥梁,使得用一个模型解决多种问题成为一条可行之路。26ChatGPT 调研报告(2)GPT-2与 GPT-1 中的通过预训练-微调范式来解决多个下游任务不同,GPT-23更加侧重于 Zero-shot 设定下语言模型的能力。Zero-shot 是指模型在下游任务中不进行任何训练或微调,即模型不再根据下游任务的数据进行参数上的优化,而是根据给定的指令自行理解并完成任务。简单来讲,GPT-2 并没有对 GPT-1 的模型架构进行创新,而是在 GPT-
77、1 的基础上引入任务相关信息作为输出预测的条件,将 GPT-1 中的条件概率 p(output|input)变为 p(output|input;task);并继续增大训练的数据规模以及模型本身的参数量,最终在 Zero-shot 的设置下对多个任务都展示了巨大的潜力。虽然 GPT-2 并没有模型架构上的改变,但是其将任务作为输出预测的条件引入模型从而在 Zero-shot 的设置下实现多个任务的想法一直延续至今。这样的思想事实上是在传达只要模型足够大,学到的知识足够多,任何有监督任务都可以通过无监督的方式来完成,即任何任务都可以视作生成任务。(3)GPT-3GPT-34使用了与 GPT-2 相
78、同的模型和架构。文中为了探索模型规模对于性能的影响,一共训练了 8 个不同大小的模型,并将最大的具有 1750亿参数的模型称为 GPT-3。表 2.1综合统计了 GPT-1、GPT-2 和 GPT-3 的参数量,模型架构以及预训练的数据集,方便读者直观上理解 GPT 的迭代趋势。GPT-3 最显著的特点就是大。大体现在两方面,一方面是模型本身规模大,参数量众多,具有 96 层 Transformer Decoder Layer,每一层有 96个 128 维的注意力头,单词嵌入的维度也达到了 12,288;另一方面是训练过程中使用到的数据集规模大,达到了 45TB。在这样的模型规模与数据量的情况
79、下,GPT-3 在多个任务上均展现出了非常优异的性能,延续 GPT-2将无监督模型应用到有监督任务的思想,GPT-3 在 Few-shot,One-shot 和Zero-shot 等设置下的任务表现都得到了显著的提升。虽然 GPT-3 取得了令人惊喜的效果,但是也存在许多限制,例如天然的从左到右生成式学习使得其理解能力有待提高;对于一些简单的数学题目仍不能够很好完成,以及模型性能强大所带来的社会伦理问题等。同时由于GPT 系列模型并没有对模型的架构进行改变,而是不断通过增大训练数据量以及模型参数量来增强模型效果,训练代价巨大,这使得普通机构和个人无法承担大型语言模型训练甚至推理的代价,极大提高
80、了模型推广的门槛。27ChatGPT 调研报告2.1.3基于编解码架构的预训练语言模型(Encoder-decoder Pre-trained Models)基于编码器的架构得益于双向编码的全局可见性,在语言理解的相关任务上性能卓越,但是因为无法进行可变长度的生成,不能应用于生成任务。基于解码器的架构采用单向自回归模式,可以完成生成任务,但是信息只能从左到右单向流动,模型只知“上文”而不知“下文”,缺乏双向交互。针对以上问题,一些模型采用序列到序列的架构来融合两种结构,使用编码器提取出输入中有用的表示,来辅助并约束解码器的生成。表 2.1列举该架构下的若干经典模型。BARTBART 的具体结构
81、为一个双向的编码器拼接一个单向的自回归解码器,采用的预训练方式为输入含有各种噪声的文本,再由模型进行去噪重构。在解码器部分,BART 每一层对编码器的最后一层的隐藏表示执行交叉注意力机制以聚合关键信息。BART 在维基百科和 BookCorpus 数据集上训练,数据量达 160GB30。T5BART 为了兼顾不同任务设计了复杂的预训练任务,针对如何在多个任务中实现优秀的迁移性能这一问题,谷歌研究者提出了一种新的范式:将所有自然语言处理任务统一成“文本到文本”的生成任务。T5 通过在输入之前加入提示词,实现了用单个模型解决机器翻译、文本摘要、问答和分类等多个任务。针对迁移学习需要的巨量、高质量和
82、多样的预训练数据,T5 在谷歌专门构造的 C4 数据集上进行训练31。Switch Transformers随着语言模型的深入研究,参数量的增加可以显著提高模型的性能,但随之而来的就是应用时越来越大的运算量。Swicth-Transformer 将混合专家网络(Mixture-of-Experts,MoE)的条件运算思想引入 Transformer 的全连接层,实现增加模型的尺寸而不增加推理时的运算量32。28ChatGPT 调研报告表 2.1:基于 Transformer 的预训练模型对比模型架构参数量数据集机构BERTEncBase=110M,Large=340MWikipedia,Boo
83、kCorpusGoogleALBERTEncBase=12M,Large=18M,XLarge=60MWikipedia,BookCorpusGoogleRoBERTaEnc356MWikipedia,BookCorpusMeta/华盛顿大学GPT-1Dec117MBookCorpusOpenAIGPT-2Dec1542MWebTextOpenAIGPT-3Dec175BCommon Crawl,WebText2,Books1,Books2 and WikipediaOpenAIBARTEnc-Dec400MEnglish Wikipedia,BookCorpusMetaT5Enc-Dec11
84、BC4GoogleSwitch TransformersEnc-Dec1.6TC4Google29ChatGPT 调研报告2.2提示学习与指令精调2.2.1提示学习概述提示学习(Prompt Learning)简单来说是通过一些方法编辑下游任务的输入,使其形式上模拟模型预训练过程使用的数据与任务。比如做情感分类任务时,监督学习的做法是输入“我今天考砸了”,模型输出分类的分数或分布,而提示学习的做法则是在“我今天考砸了”后拼接上自然语言描述“我感觉很 _”,让模型生成后面的内容,再根据某种映射函数,将生成内容匹配到某一分类标签。可以看出,提示学习这种方式拉近了测试分布与预训练分布的距离,进而可以
85、利用大规模预训练语言模型在预训练过程中习得的强大语言建模能力,使其不经过微调就可以在各种下游任务上取得很好的结果。后续更有工作提出了自动提示搜索和连续提示的方法,使得提示本身也可以微调,使其有了更好的灵活性。提示学习还有各种有趣的用法,如小样本场景下的语境学习(In-contextlearning),即在提示中加入几个完整的例子,如“美国的首都是华盛顿,法国的首都是巴黎,英国的首都是 _”,以及在推理任务上的思维链(Chain-Of-Thought,COT)(我们将在下一节中详细介绍)等等。相较于提示学习,指令精调(Instruction Tuning)可以说是提示学习的加强版。两种学习方法的
86、本质目标均是希望通过编辑输入来深挖模型自身所蕴含的潜在知识,进而更好的完成下游任务。而与提示学习不同的是,指令学习不再满足于模仿预训练数据的分布,而是希望通过构造“指令(Instruction)”并微调的方式,学习人类交互模式的分布,使模型更好的理解人类意图,与人类行为对齐;在指令学习中,模型需要面对的不再是单纯的补全任务,而是各种不同任务的“指令”,即任务要求。模型需要根据不同的任务要求,做出相匹配的正确回复。“指令”举例如下:请将下面这句话翻译成英文“ChatGPT 都用到了哪些核心技术?”请帮我把下面这句话进行中文分词“我太喜欢 ChatGPT 了!”请帮我写一首描绘春天的诗词,诗词中要
87、有鸟、花、草。从样例中可以看出,原本自然语言处理中的经典任务,经过任务要求的包装后,就变成了更符合人类习惯的“指令”。研究表明,当“指令”任务30ChatGPT 调研报告的种类达到一定量级后,大模型甚至可以在没有见过的零样本(Zero-shot)任务上有较好的处理能力。因此,指令学习可以帮助语言模型训练更深层次的语言理解能力,以及处理各种不同任务的零样本学习能力。OpenAI提出的 InstructGPT 模型使用的就是指令学习的思想,ChatGPT 沿袭了InstructGPT 的方法。2.2.2ChatGPT 中的指令学习根据 OpenAI 的博客1,ChatGPT 所用到的指令学习数据集
88、的构造方法和训练方法与 InstructGPT 大致相同,因此我们介绍 InstructGPT 构造“指令”数据集的细节。InstructGPT 的“指令”数据集由两部分构成,其中一部分收集于全球用户使用 OpenAI 的 API 后的真实人机交互数据,这些数据在使用之前都经过了信息去重和敏感信息过滤;另一部分数据则来自于人工标注。为了使标注人员能够标注出高质量的数据集,OpenAI 通过前期的审核和面试,聘请了一个由 40 人组成的标注团队。在这些人工标注的数据中,总共分为三类,其一是为了增加数据集中任务的多样性,由标注人员写出任意任务的“指令”;其二是小样本(Few-shot)数据,由标注
89、人员写出“指令”和一些对应的问答对,用于训练模型的小样本学习(Few-shot learning)能力;其三是在 OpenAI API 中已有的用例,标注人员模仿这些用例写出相类似的“指令”数据。这些数据包含了语言模型中常见的任务类型(生成、问答、聊天、改写、总结、分类等),其中 45.6%的“指令”为生成任务类型,在所有类型中占比最大。InstructGPT 通过在构造的”指令”数据集上进行有监督微调(Super-vised fine-tuning,SFT)和基于人工反馈的强化学习(Reinforcement Learningfrom Human Feedback,RLHF)以使模型与人类需
90、求对齐。在实验结果上,将运用指令学习后且含有 175B 参数的 InstructGPT 模型,在指令学习的经典数据集 FLAN、T0 上进行精调后发现,InstructGPT模型对比 FLAN、T0 两个模型在效果上均有一定程度的提升。其原因可以归结为两点:其一,现有的公开 NLP 数据集,往往专注于容易进行评测的 NLP 任务(如分类任务、问答任务、翻译或总结任务等)。但事实上,经过统计发现,在OpenAI API 上使用过的用户中,用模型解决分类或问答任务的只占到了各1https:/ 调研报告类任务中很小一部分,而开放性的生成任务才是占比最大的一类任务、这就使得以往用公开 NLP 数据集进
91、行训练的模型,缺乏在开放性任务上的有效训练。InstructGPT 通过让标注人员大量标注有关生成和头脑风暴类的开放性“指令”,并让模型进行训练,从而使得模型能够在这些方面有很大的效果提升。其二,现有的公开 NLP 数据集,往往仅针对一种或几种语言任务进行处理。这就忽视了现实情况下,人类用户会向语言模型提出各种任务要求的情况。因此,能够综合处理各种任务的模型,才能在实际中获得更好的效果。而 InstructGPT 所用到的指令学习技术正好可以弥补传统模型的缺陷,通过标注大量具备任务多样性的“指令”数据,帮助模型获得在各类任务上的处理能力。2.3思维链(Chain of Thought,COT)
92、人类在解决数学应用题这类复杂推理任务的过程中,通常会将问题分解为多个中间步骤,并逐步求解,进而给出最终的答案,例如求解问题“小华每天读 24 页书,12 天读完了红岩一书,小明每天读 36 页书,几天可以读完红岩?”,人会将问题分解为(1)“红岩共 24*12=288(页)”、(2)“小明可以用 28836=8(天)”。受此启发,谷歌研究人员 Jason Wei(现 OpenAI员工)等提出了思维链33,通过在小样本提示学习的示例中插入一系列中间推理步骤,有效提升了大规模语言模型的推理能力,图 2.2展示模型通过产生思维链来正确求解数学应用题。相较于一般的小样本提示学习,思维链提示学习有几个吸
93、引人的性质:1.在思维链的加持下,模型可以将需要进行多步推理的问题分解为一系列的中间步骤,这可以将额外的计算资源分配到需要推理的问题上。2.思维链为模型的推理行为提供了一个可解释的窗口,使通过调试推理路径来探测黑盒语言模型成为了可能。3.思维链推理应用广泛,不仅可以用于数学应用题求解、常识推理和符号操作等任务,而且可能适用任何需要通过语言解决的问题。4.思维链使用方式非常简单,可以非常容易地融入语境学习(in-contextlearning),从而诱导大语言模型展现出推理能力。32ChatGPT 调研报告答案:5次模型输出答案:(1)1辆汽1次能运多少吨钢材?100545(吨)(2)7辆汽1次
94、能运多少吨钢材?5735(吨)(3)105吨钢材7辆汽需要运次?105353(次)列成综合算式105(100547)3次模型输出少样本提示学习思维链提示学习问题:华每天读24书,12天读完了红岩书。明每天读36书,天可以读完红岩?答案:8天问题:5辆汽4次可以运送100吨钢材,如果同样的7辆汽运送105吨钢材,需要运次?模型输问题:华每天读24书,12天读完了红岩书。明每天读36书,天可以读完红岩?答案:(1)红岩这本书总共多少?2412288()(2)明天可以读完红岩?288368(天)列成综合算式2412368(天)问题:5辆汽4次可以运送100吨钢材,如果同样的7辆汽运送105吨钢材,需
95、要运次?模型输图 2.2:思维链提示学习示意图在33的基础上,34针对零样本场景,利用推荐关键词“Lets think stepby step”(让我们一步一步思考)生成中间步骤的内容,从而避免了33中人工撰写中间步骤的过程。2.4基于人类反馈的强化学习(ReinforcementLearning with Human Feedback,RLHF)RLHF 是 ChatGPT/InstrcutGPT 实现与人类意图对齐,即按照人类指令尽可能生成无负面影响结果的重要技术16。该算法在强化学习框架下实现,大体可分为以下两个阶段:奖励模型训练该阶段旨在获取拟合人类偏好的奖励模型。奖励模型以提示和回复
96、作为输入,计算标量奖励值作为输出。奖励模型的训练过程通过拟合人类对于不同回复的倾向性实现。具体而言,首先基于在人类撰写数据上精调的模型,针对同一提示采样多条不同回复。然后,将回复两两组合构成一条奖励模型训练样本,由人类给出倾向性标签。最终,奖励模型通过每条样本中两个回复的奖励值之差计算倾向性概率拟合人类标签,进而完成奖励模33ChatGPT 调研报告型的训练。生成策略优化给定习得的奖励模型,ChatGPT/InstructGPT 的参数将被视为一种策略,在强化学习的框架下进行训练。首先,当前策略根据输入的查询采样回复。然后,奖励模型针对回复的质量计算奖励,反馈回当前策略用以更新。值得注意的是,
97、为防止上述过程的过度优化,损失函数同时引入了词级别的 KL 惩罚项。此外,为了避免在公开 NLP 数据集上的性能退化,策略更新过程兼顾了预训练损失。34ChatGPT 调研报告第三章大模型训练与部署并行计算是大模型训练部署过程中最重要的支撑技术之一,不仅关系大模型的计算效率,还决定了计算平台能否为大模型提供有效支撑。本章首先分析介绍了并行计算与大模型之间的关系以及目前可用的并行计算框架。接下来从实际部署大模型的角度出发,总结了该过程中可能出现的问题及相关可用资源。最后为了更加有效地使用大模型,详细介绍了针对大模型的压缩和加速方法。3.1大模型并行计算技术随着 ChatGPT 的大火,大规模预训
98、练模型再次成为学术界和产业界关注的热点。面向 GPU 运算卡的并行计算是大模型训练部署过程中不可逾越的鸿沟。NVIDIA 论文中提到训练自己的 GPT,使用了 3072 张 80GB A100训练 GPT,最大规模的模型参数量达到了 1T(GPT-3 原版的 5 倍)35。如此庞大的参数规模,单独一块 GPU 运算卡甚至完成不了最基本的装载。由此可见,GPU 并行是大模型训练的必备技术。不同于传统并行以加快计算速度为目的,大模型的并行计算往往还要考虑怎样将庞大的参数有机地分布到多张 GPU 卡中,并保持不同 GPU 卡之间有效的通信,整体配合完成大模型的训练部署。通常 GPU 并行计算有两种策
99、略:模型并行这种并行模式将计算任务拆分成若干个更小但不同的任务。尤其是大模型参数量过大的原因,一般不能将一个模型完整地装载至一张 GPU卡,甚至是一个节点(含有多张卡)。此时往往要根据模型的不同功能组件或者对长 Tensor 进行切分,将经过切分的子任务分配到不同的 GPU 卡中。如果不同部分存在数据和功能上的逻辑相关性,也可以组成一道流水线。35ChatGPT 调研报告数据并行这种并行模式将数据分解为多个部分,让每个运算单元分别去计算一个或多个小块数据,最后进行汇总。由于不需要对训练过程部分的代码大幅改动,是使用率较高的并行方式。从标准的数据并行(Data Parallel,DP),发展到分
100、布式数据并行(Distributed Data Parallel,DDP),再到目前的完全分片数据并行(Fully Sharded Data Parallel,FSDP),在并行通信效率上得到了大幅提升。机器学习中的随机梯度下降法(Stochastic GradientDescent,SGD),极大促进了这类并行策略在深度学习训练过程中的应用。一般来说,CPU 的多线程编程偏向于第一种并行模式,优点是可以带来更高的并行效率,可以处理超过单个计算节点位宽的数据。缺点是不同计算单元之间的同步和通信机制的设计要求较高,随着并行节点的增加,通信的计算资源消耗快速增加。GPU 并行编程模式则偏向于第二种
101、,优点是并行算法设计相对简单,容易增加新的计算节点。缺点是要求每个计算节点必须有足够的容量,可以装载整个模型。这对大模型而言往往是不可实现的。因此现实中,大模型的训练部署往往采用混合方式。例如将整个 GPU 集群以数据并行的方式分成若干块,每块装入一个大模型。块内按照任务并行的方式,将大模型分解成如干与每块 GPU 容量匹配的子任务,每块 GPU 对应一个子任务,可以是大模型不同的网络组件,甚至可以是长 Tensor 分成多个短 Tensor 进行并行计算。如果设计合理,还可以做到不同网络组件的流水线并行,通过一种“接力”的方式并行提高计算效率。即使目前业界已有的 GPU 分布式训练方案,也严
102、重依赖于服务器之间的通信、拓扑、模型并行、流水并行等底层问题的解决情况。如果只有分布式训练框架,甚至都无法正常启动训练过程。这也是为什么 GPT-3 已经发布了一年,却只有少数企业可以复现 GPT-3。目前,已经公布明确已经完成千亿参数规模大模型训练的框架主要是 NVIDIA 开发的 Megatron-LM、经过微软深度定制开发的 DeepSpeed、国产百度飞浆 PaddlePaddle 和华为昇思 MindSpore。大多数并行框架都支持 PyTorch 分布式训练,可以完成百亿参数规模的模型训练。3.2并行计算框架PyTorch1PyTorch 自身提供了几种加速分布数据并行的技术,包括
103、分桶梯度1https:/pytorch.org/36ChatGPT 调研报告(bucketing gradients)、通信和计算的重叠(overlapping computation withcommunication)以及在梯度累积(gradient accumulation)阶段跳过梯度同步(skipping gradient synchronization)。PyTorch 分布式数据并行可以用256 个 GPU 达到接近线性的可扩展性程度36。在 DP 的基础上,原生支持 DDP,每个节点都有自己的本地模型副本和本地优化器,支持多机多卡的分布式训练。一般来说,DDP 都显著快于 DP
104、,能达到略低于卡数的加速比,但要求每块 GPU 卡都能装载完整输入维度的参数集合。在 1.11 版本后,PyTorch 开始支持 FSDP 技术,可以更加高效的将部分使用完毕的参数移至内存中,显著减小了显存的峰值占用,更加吻合大模型的特性。TensorFlow2TensorFlow 是一个为大规模数值计算设计的流行开源库。TensorFlow支持异构设备的并行计算,可以在不同类型和尺寸的机器上运行,无论是超级计算机,还是嵌入式系统。它希望用户只需关注模型的构建和优化,透明化复杂的并行计算细节。此外,TensorFlow 可以实现多机并行线性加速,提高分布式训练的效率。原始的 TensorFlo
105、w 是基于静态图设计的,有着更高的底层运行效率。但缺点是不易调试。最新版本的 TensorFlow 已经开始同时支持静态图和动态图了,是开源时间较长的并行框架。飞桨 PaddlePaddle3飞桨(PaddlePaddle,Parallel Distributed Deep Learning)是我国较早开源开放、自主研发、功能完备的产业级深度学习框架。飞桨不仅在业内最早支持了万亿级稀疏参数模型的训练能力,而且近期又创新性的提出了 4D混合并行策略,以训练千亿级稠密参数模型,可以说分布式训练是飞桨最具特色的技术之一。飞桨的分布式训练技术在对外提供之前就已经在百度内部广泛应用,如搜索引擎、信息流推
106、荐、百度翻译、百度地图、好看视频、文心 ERNIE 等等,既包含网络复杂、稠密参数特点的计算机视觉(CV)自然语言处理(NLP)模型训练场景,又覆盖了有着庞大的 Embedding 层模型和超大数据量的推荐搜索训练场景,可谓是分布式训练技术得天独厚的“练功房”。昇思 MindSpore4昇思(MindSpore)是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景覆盖三大目标。其中易开发表现为 API 友好、调试难度低,高2https:/www.tensorflow.org/3https:/ 调研报告效执行包括计算效率、数据预处理效率和分布式训练效率,全场景则指框架同时支持云、边缘以及端
107、侧场景。昇思 MindSpore 的特性之一就是融合了数据并行、模型并行和混合并行,构建一种易用高效的分布式并行训练模式,让算法人员不再需要关注算法模型到底需要用哪种模式训练。可以简化分布式并行编程,串行代码实现分布式训练,对用户屏蔽并行细节,并且保持高性能;计算逻辑上保持和单卡串行流程一致;实现上统一数据并行和模型并行,一套框架支持多种并行模式;结合集群拓扑优化性能。OneFlow5OneFlow 一直主打分布式和高性能。对于多机多卡训练场景,是国内较早发布的并行计算框架。OneFlow 会把整个分布式集群逻辑抽象成为一个超级设备,用户可以从逻辑视角的角度使用超级设备。最新版本的 OneFl
108、ow和 TensorFlow 一样,实现了同时 dui 动态图和静态图的支持,而且动静图之间转换十分方便。此外,OneFlow 完全兼容 PyTorch,将 PyTorch 程序转移至 OneFlow 框架的代价较低。OneFlow 支持数据+模型的混合并行方式,便于提升并行计算性能。OneFlow 在框架层面也做了大量优化,nn.Graph提供了简洁、丰富的性能优化选项,如算子融合(Kernel Fusion)、自动混合精度训练(Auto Mixed Precision Training)等。夸父 Colossal-AI6“夸父”(Colossal-AI),提供了一系列并行组件,通过多维并行
109、、大规模优化器、自适应任务调度、消除冗余内存等优化方式,提升并行训练效率,并解耦了系统优化与上层应用框架、下层硬件和编译器,易于扩展和使用。提升人工智能训练效率的同时最小化训练成本。在三方面进行了优化:优化任务调度、消除冗余内存、降低能量损耗37。夸父从大模型实际训练部署过程中的性价比角度出发,力求易用性,无需用户学习繁杂的分布式系统知识,也避免了复杂的代码修改。仅需要极少量的改动,便可以使用夸父将已有的单机 PyTorch 代码快速扩展到并行计算机集群上,无需关心并行编程细节。Megatron-LM7Megratron 是 NVIDIA 提出的一种基于 PyTorch 分布式训练大规模语言模
110、型的架构,用于训练基于 Transformer 架构的巨型语言模型。针对Transformer 进行了专门的优化,主要采用的是模型并行的方案。Megatron设计就是为了支持超大的 Transformer 模型的训练的,因此它不仅支持传统5https:/oneflow.ai/6https:/ 调研报告分布式训练的数据并行,也支持模型并行,包括 Tensor 并行和 Pipeline 并行两种模型并行方式。NVIDIA 发表了多篇论文,较有代表性的有发表于2019 年 9 月的论文,主要提出了通过将矩阵分块提高并行度的方法38。发表于 2021 年 4 月的第二篇论文,对于分布式中的一些重要的设
111、计,如 tensorparallel、pipeline parallel、micro batch size 等进行了一些分析与讨论。同时提出了更加精细的 pipeline 结构与 communication 模式35。通过多种并行方式的结合,可以让大模型的训练更快。发表于 2022 年 7 月的第三篇文章将核心操作 LayerNorm 和 Dropout 安装输入维度进一步切分,使得这两个需要频繁运行的操作在不大幅增加通信开销的情况下实现了并行39。DeepSpeed8在 2021 年 2 月份,微软发布了一款名为 DeepSpeed 的超大规模模型训练工具,其中包含了一种新的显存优化技术零冗
112、余优化器(ZeroRedundancy Optimizer,ZeRO)40。该技术去除了在分布式数据并行训练过程中存储的大量冗余信息,从而极大地推进了大模型训练的能力。从这个角度出发,微软陆续发布了 ZeRO-1,ZeRO-2,ZeRO-3 和 ZeRO-3 Offload,基本实现了 GPU 规模和模型性能的线性增长41。基于 DeepSpeed,微软开发了具有 170 亿参数的自然语言生成模型,名为 Turing-NLG。2021 年 5月,推出了能够支持训练 2000 亿级别参数规模的 ZeRO-2。目前最新版本ZeRO-3 Offload 可以实现在 512 颗 V100 上训练万亿参
113、数规模的大模型。Horovod9Horovod 是一个基于 TensorFlow,Keras,PyTorch 以及 Apache MXNet的并行计算框架。Horovod 力求将单机程序快速简单地转化并行计算。由 LFAI&Data Foundation 基金会(LF AI and Data)维护。鼓励所有致力于人工智能、机器和深度学习的公司,参与到开源项目社区。Horovod 使用的MPI 模型比 TensorFlow 的参数服务器模型更简单。使用 Horovod 编写的深度学习模型训练脚本可以在几乎不进行任何改动的情况下顺利地在单个GPU、多个 GPU 甚至多个主机上运行。实验表明在拥有
114、128 个节点(每个节点 4 块 Pascal GPU)的集群上,在 Inception V3 和 ResNet-101 两个任务上,Horovod 几乎表现出了线性加速比。表 3.1对以上并行框架的信息进行了汇总。8https:/ 调研报告表 3.1:并行框架信息汇总序号框架名称发布公司更新方式最新版本1PyTorchMeta开源社区1.13.12TensorFlow Google开源社区2.11.03飞桨百度开源社区2.44MindSpore 华为开源社区2.0.05OneFlow一流科技开源社区0.9.06夸父潞晨科技开源社区0.2.57MegatronNVIDIA开源社区3.08Dee
115、pSpeed MicroSoft开源社区0.8.19HorovodLFAI&Data 开源社区0.27.03.3模型部署模型部署是决定大模型能否使用的关键因素之一,大模型因模型参数量大,对软硬件资源的配置有很高的要求。这一节我们将首先介绍部署大规模预训练模型面临的困难与挑战,以及常用的解决方案。3.3.1预训练模型部署的困难大规模预训练模型已经成为深度学习应用中最常用的技术之一。尽管它们在计算机视觉、自然语言处理和语音处理等领域中表现出色,但将它们部署到生产环境中仍然面临许多问题的挑战,包括以下几个方面:1.模型大小:预训练模型通常非常庞大,GPT-3 等模型包含上千亿个参数,因此在部署时可能
116、会面临存储和传输上的困难2.推理速度:模型推理速度是评估一个机器学习模型性能的重要指标之一。在实际应用中,模型的推理速度往往直接影响着用户的体验和系统的效率。高效的模型推理速度可以缩短处理时间,提高用户满意度,减少计算资源的浪费。微软发布的多语言机器翻译模型 DeltaLM 在英语到中文的翻译方向上大约耗时 150ms/token(V100 GPU,PyTorch框架)42,在华为 NPU 架构上耗时大约在 0.2-16 s/token 之间。3.计算资源:预训练模型需要大量的计算资源来进行推理,这可能会导致部署时的计算瓶颈和性能问题。40ChatGPT 调研报告图 3.1:近年大模型的参数规
117、模增长趋势图片来源:74.硬件兼容性:预训练模型的部署需要适应多种不同的硬件平台,包括CPU、GPU、ASIC 等,因此需要适配和优化。5.数据隐私:预训练模型通常需要使用大量的数据进行训练,在部署时需要考虑数据隐私和保护的问题。6.版本管理:预训练模型可能会不断更新和改进,因此在部署时需要考虑版本管理和更新的问题。3.3.2部署框架和部署工具部署流程大模型的部署一般包括以下步骤:1.模型选择:选择一个适合自己业务需求的预训练模型,训练一个模型的参数。2.模型转换和优化:由于不同的深度学习框架和硬件设备之间存在差异,需要将权重文件转换为目标框架和设备可用的格式,同时进行一定的41ChatGPT
118、 调研报告优化操作,以提高模型的性能和速度。3.数据预处理和集成:根据业务需求,对输入数据进行预处理和格式转换,将其转换为模型可接受的格式,并将模型与数据处理代码集成到一个可执行的应用程序中。4.模型部署和测试:将打包好的应用程序部署到目标设备上,并进行测试和验证,确保模型的正确性和稳定性。5.模型更新和维护:根据实际使用情况,对模型进行更新和优化,并及时修复可能出现的问题和 bug,保证模型的持续可用性和性能。图 3.2:模型部署流水线10部署框架选择合适的部署框架和工具来简化部署过程,并提供模型管理、调试和监控功能。一些常见的部署框架和工具包括 TensorFlow Serving、ONN
119、XRuntime、OpenVINO、TensorRT、TorchScript 等。10https:/ 调研报告部署方式Online 方式:首先在移动端做初步预处理,然后把数据传到服务器进行预测后返回移动端。Offline 方式:根据硬件的性能选择模型,在服务器训练得到模型,在移动端进行预测的过程。3.3.3部署技术和优化方法代码优化代码优化是一种通过优化神经网络中的算子实现高效部署的技术。在预训练模型中,算子是指网络中的基本计算单元,通常包括全连接、卷积、池化、归一化等操作。这些算子的优化对于提高模型的效率和性能至关重要。一般来讲,算子代码优化可以通过以下方式实现:1.使用高效的算法:在实现算
120、子时,使用高效的算法可以减少计算复杂度和内存占用,从而提高神经网络的性能。2.使用更高效的语言实现算子:例如使用 C+和 C 等来替代 python实现算子,可以更好地利用计算资源和硬件加速器,提高神经网络的性能。CUDA 和 Triton 就分别是用 C+和 python 实现的优化后的算子。硬件加速硬件加速是一种通过使用专用硬件来提高神经网络的性能的技术。通常情况下,硬件加速可以通过以下方式实现:1.TPU 加速:TPU 是由 Google 设计的专门为深度学习应用优化的 ASIC芯片。与通用的 CPU 和 GPU 不同,TPU 专门针对深度学习计算的特殊需求进行了设计和优化。2.ASIC
121、(Application-Specific Integrated Circuit)加速:ASIC 是一种定制化的集成电路,专门为某个特定应用场景而设计制造。与通用的处理器和逻辑电路不同,ASIC 可以实现高度优化的电路结构和算法,以提高性能和能效。3.FPGA(Field-Programmable Gate Array)加速:是一种可编程逻辑芯片,它可以通过编程方式实现各种逻辑电路。与固定功能的集成电路(ASIC)不同,FPGA 具有高度灵活性和可编程性,可以在硬件层面实现不同的应用场景。FPGA 通常由大量的逻辑单元(Look-UpTables,LUTs)和存储单元(Flip-Flops)组
122、成。逻辑单元可以实现基本的布尔逻辑运算和算术运算,而存储单元可以存储中间结果和状态43ChatGPT 调研报告变量。FPGA 还包含了大量的内部通信线路和 I/O 引脚,可以与其他电路和设备进行通信。云服务云服务是指将预训练模型部署到云端服务器上,通过互联网提供给用户使用的服务。云服务可以提供强大的计算能力和存储资源,同时可以根据实际需要灵活调整计算资源的规模和配置。常见的云服务提供商包括AWS、Azure、Google Cloud 等,它们提供了各种深度学习服务和工具,如模型训练、模型部署、自动缩放。1.模型训练服务:提供 GPU 和 TPU 等硬件资源和深度学习框架,可以帮助用户在云端快速
123、训练深度学习模型。2.模型部署服务:提供各种深度学习模型的部署服务,可以将训练好的模型部署到云端或边缘设备上,以提供各种应用程序的服务。3.弹性伸缩服务:根据用户的需求和流量变化,自动调整计算和存储资源的规模和配置,以提供更加灵活、高效和可靠的服务。移动端 CPU 推理框架的优化移动端 CPU 推理框架的优化通常通过编译优化来实现,即通过对代码进行优化和重组,以便让 CPU 能更高效地处理模型计算,提高模型推理的速度。隐私保护随着机器学习在越来越多的场景中被应用,保护用户隐私已经成为一个重要的问题。在预训练模型部署中,也需要考虑如何保护用户隐私,常用的用户隐私隐私保护技术包括:1.差分隐私:通
124、过添加噪声来隐藏数据集中的个人信息,从而保护用户的隐私。2.加密技术:加密技术是一种保护数据隐私和保密性的技术,它通过使用密钥来将原始数据转换为一种无法读取的形式。只有拥有正确密钥的人才能够解密数据并访问原始信息。3.访问控制:访问控制可以限制对数据和模型的访问,从而保护数据和模型的隐私。44ChatGPT 调研报告3.4预训练模型的压缩3.4.1模型压缩方案概述随着深度学习技术的不断发展,大型语言模型(Large Language Model)4,22,43-44已成为自然语言处理领域的核心技术。然而,这些模型通常具有数十亿乃至上百亿参数,导致存储和计算成本极高,大多数下游用户难以进行微调。
125、因此,针对大型语言模型的模型压缩成为一种可行的替代方案,便于进一步部署45。针对于模型压缩,常使用的方案有以下几种:1.剪枝:剪枝是一种通过去除模型中一些不必要的连接或神经元来减小模型大小的技术。2.蒸馏:蒸馏是一种通过使用学生模型来模拟预训练教师模型的行为来减小模型大小的技术。通常情况下,学生模型由更小的神经网络或线性模型组成。3.量化:量化是一种将预训练模型中的权重从浮点数转换为低位数的技术。通常情况下,量化的精度是 8 位或更低。量化可以大大减少模型的存储空间和计算量,但可能会对模型的性能产生一定的影响。4.权重矩阵分解:使用包括 SVD 等矩阵分解方法对预训练模型的 FFN层的权重矩阵
126、进行分解,从而减少 Attention 层的参数量,提高模型的效率。5.模型参数共享:以 ALBERT 为例,模型的 Attention 层之间采用了权重共享的方式,从而减少了模型的参数量27。在现有资源条件的限制下,模型压缩一般是面向具体的下游任务,即在微调阶段通过压缩模型的规模实现模型的下游任务快速适配。本文即重点探讨两种常用的针对下游任务微调的模型压缩方法:知识蒸馏46和模型剪枝47。3.4.2结构化模型压缩策略传统的知识蒸馏方法通过对齐模型输出或内部隐层特征,将复杂的“教师模型”知识迁移到较小的“学生模型”以实现模型压缩45-46,48。然而,当前大型语言模型(如 GPT-3 系列4)
127、只提供 API 接口,其参数等处于黑盒45ChatGPT 调研报告状态,难以应用传统知识蒸馏方法。相反,我们可以通过上传下游任务相关数据并利用教师大模型的输出信息和原始数据一起训练小模型,以使其具有一定的能力。例如,GPT-3 可以利用思维链解决复杂推理问题,而小模型由于大小限制而缺乏这种能力。研究人员通过让 GPT-3 输出中间推理步骤并生成多样的思维链步骤,丰富微调训练数据,并将这些思维链用于小模型的训练,使其具有一定的推理能力49-50。除了未开源模型参数的黑盒模型,如GPT-3,还有一些开源参数的大型语言模型,例如 OPT43,BLOOM51等。对于这些模型,我们可以借鉴之前利用中间层
128、特征的方法进行知识蒸馏。但是由于这些模型的参数仍然过大,对于一般下游用户的微调训练仍然是巨大的开销。因此,在进行大型语言模型的知识蒸馏时,不仅要关注小模型在推理阶段的性能和开销,还要关注蒸馏过程中的训练开销。3.4.3非结构化模型压缩策略研究人员主要是围绕已经开源参数的模型,例如 GPT-J4、OPT43以及 BLOOM51等进行模型参数的剪枝。模型剪枝大体上可以针对具体关注的参数单元和子网络情况,可以分为结构化剪枝和非结构化剪枝两种。结构化剪枝方法在较高稀疏度的情况下可以达到可观的提速但是会带来一定程度上的性能下降,而非结构化剪枝的方法虽然可以在较高稀疏度的情况下保持性能,但是又难以在通用的
129、硬件上带来实质性的加速52。同时,在之前研究中常用的迭代式剪枝策略并不是完全合适,因为仍然需要多次训练大模型,也会给下游用户带来较大的训练开销,因而如何 One-shot 地得到一个合适的子网络供下游用户使用值得探索。同时,研究人员还在探索如何将剪枝与其他模型压缩技术,如量化和蒸馏,相结合以进一步提高大型语言模型性能和效率。这些技术的发展有望为推动人工智能技术的发展和应用提供有力支持。3.4.4模型压缩小结目前,针对像 GPT-34这样的超大规模模型进行有效的模型压缩仍然存在一些挑战。这些挑战主要包括以下几个方面:模型复杂度:超大模型通常拥有数十亿甚至数百亿的参数,导致整个压缩过程的训练的计算
130、量和内存消耗巨大,这对硬件要求非常高。超大模型的结构往往非常复杂,由多个层和子网络组成。因此,压缩模型的过程需要考虑如何剪枝模型、量化模型、知识蒸馏等多种技术手段的结合使用。46ChatGPT 调研报告模型压缩技术的局限性:当前已有的模型压缩技术可能无法直接适用于超大模型。例如,传统的知识蒸馏方法可能无法有效地提取超大模型中的知识,而结构化剪枝等方法在较高稀疏度的情况下可能会带来性能下降。并且有研究表明,大型语言模型存在涌现能力,即当模型参数达到一定规模时才会具有足够强的能力。同时,由于超大模型的结构复杂,可能需要一些特殊的压缩技术来处理。因此,需要有一种通用的压缩方法,适用于各种类型的超大模
131、型。模型的黑盒特性:目前的超大模型如 GPT-3 等均为闭源模型,用户无法获取其具体的参数信息和结构信息。这使得在对模型进行压缩时需要使用一些基于模型输出或中间层特征的方法进行知识迁移和蒸馏,增加了压缩的难度。针对超大模型的压缩,目前已经有一些研究在进行探索。例如,通过结合剪枝、知识蒸馏和参数共享等多种技术手段,可以在不损失模型性能的情况下将模型参数量压缩数百倍甚至数千倍。总的来说,针对超大模型的压缩是一个具有挑战性的任务,需要结合多种技术手段进行综合处理。未来的研究将继续探索如何针对超大模型进行更加高效和精确的压缩,以推动人工智能技术的发展和应用。47ChatGPT 调研报告第四章ChatG
132、PT 相关数据集众所周知,算法、数据、算力是大模型时代的四方面重要因素。根据OpenAI 前期论文16和博客1介绍,ChatGPT 中数据集的规模和构建质量均高于以往的人工标注数据集。由此可见,在以 ChatGPT 为代表的大模型的训练中,数据集的收集、清洗和标注异常重要。本章将从预训练数据集以及人工标注的精调数据集两方面,详细介绍 ChatGPT 等模型所需的相关数据集。4.1预训练数据集4.1.1文本预训练数据集ChatGPT 之所以展现出非常优秀的文本理解能力,其中重要的因素是其拥有一个强大的基座模型。为了获得这样基座模型,需要在大规模无标注文本数据上进行预训练,目前被广泛使用的预训练数
133、据集主要包括 BooksCor-pus、Wikipedia、Common Crawl、ROOT 等,表 4.1概览了目前常用的预训练数据集,具体情况如下所示:BooksCorpus原始的 BooksCorpus53是一个由未出版作者撰写的免费小说集,其中包含 11038 本书(约 7400 万个句子,1G 个单词),共有 16 个不同的子类型(如浪漫、历史、冒险等)。由于原始的 BooksCorpus 数据作者已不再提供下载,Shawn Presser 在 2020 年整理发布了一套替代数据集,其中,books1 中包含 18,000 册图书,约为 2.2GB,下载地址为https:/hype
134、r.ai/datasets/13642;book3 中包含 196,640 册图书,约为 37GB,下载地址为https:/the-eye.eu/public/AI/pile_preliminary_components/books3.tar.gz。1https:/ 调研报告Wikipedia维基百科2是一个免费的多语言协作在线百科全书,由维基媒体基金会运营,由超过 30 万名志愿者组成的社区编写和维护。截至 2023 年2 月 22,英文版维基百科中有超过 662 万篇文章,包含超 42 亿个词。相较于其他语料,维基百科中的文本以严格引用的说明性文字形式写成,并且跨越多种语言和领域,数据质量
135、非常高。Common Crawl 系列语料库Common Crawl 提供的网络存档包含了自2011 年以来的网络爬虫数据集,包括原始网页数据、元数据提取和文本提取,规模超过千兆位元组(PB 级)。同时,每月对全网进行爬取还会增加大约 20TB 的数据。Common Crawl 数据存储于 Amazon Web Services 和全球多个学术平台上,数据可以从https:/commoncrawl.org/中获取。在Common Crawl 数据集的基础上,又衍生出一系列数据集,包括 800GB 的C4 数据集,38TB 的 mC4 数据集(下载地址https:/www.tensorflow.
2022郑州市区域产业画像报告(44页).pdf
英敏特:2022中国消费者生活方式与态度趋势报告(21页).pdf
2022重庆市区域产业画像报告(44页).pdf
中欧商业在线:2021-2022 TOP20数字化学习最佳企业实践奖年度精选案例集(224页).pdf
万楼数据:写字楼需求市场-2022前三季度上海企业大数据报告(24页).pdf
远瞩咨询:2022年全球水电行业分析报告(28页).pdf
中欧商业在线:2022未来管理人才白皮书(24页).pdf
伟大航路:妙可蓝多是如何创建增长曲线的?(2022)(55页).pdf
云安全联盟:面向云客户的SaaS治理最佳实践(2022)(67页).pdf
艺恩:2022决胜“双11”抖音直播爆品指南(36页).pdf
智联招聘:职场新人的职业准备画像(2022)(30页).pdf
艺恩数据:2022Z世代IP兴趣报告(67页).pdf
中国饭店协会:2020中国住宿市场网络口碑报告(57页).pdf
埃摩森:2020在线医疗行业人才发展报告(28页).pdf
【研报】银行业:乘风破浪下半年中国金融业对外开放步伐明显加快-20200823(17页).pdf
小米金融科技研究中心:浅析O2O模式在互联网金融行业中的应用(21页).pdf
中国医药商业科技行业趋势报告(55页).pdf
鲸准研究-新一代信息技术行业:互联网与云计算、大数据服务(38页).pdf
清华大学:人工智能之机器学习2020年第1期(203页).pdf
【研报】机械行业:光伏各环节扩产电动车换电浪潮来临关注光伏和换电设备-20200823(22页).pdf
【研报】建材、建筑行业定期报告:地产销售向暖消费建材龙头业绩修复可期-20200822(37页).pdf
中国支付行业科技发展专题分析2020(51页).pdf
【研报】宏观·研究框架2020之三:财政政策框架政府杠杆与经济转型-20200823(75页).pdf
【研报】保险行业系列报告一:保险科技资本逐鹿风口已至-20200823(53页).pdf
语言智能与应用论坛:自然语言处理的十个发展趋势—刘挺 哈尔滨工业大学教授(15页).pdf
合肥工业大学:绿色建筑技术应用与实践(97页).pdf
南京工业大学:电力现货市场环境下的虚拟电厂运行技术(2022)(32页).pdf
东华大学:工业大数据技术与应用(2022)(53页).pdf
华中农业大学:2019农业与农村发展调研报告(华中卷)(183页).pdf
中国农业大学:中国农业大学2021年毕业生就业质量年度报告(23页).pdf
工业大麻行业深度报告:工业大麻合法化趋势不减行业迈入机遇期-211129(48页).pdf
解数咨询: 保健食品行业调研报告-2021(94页).pdf
中国农业大学:2022年中国与全球食物政策报告(99页).pdf
新疆大学:新疆平台经济发展调研报告(2022)(56页).pdf
蜜雪冰城招股说明书-连锁茶饮第一股(724页).pdf
线上健身第一股-keep招股说明书(463页).pdf
麦肯锡:2023中国消费者报告:韧性时代(33页).pdf
罗振宇2023“时间的朋友”跨年演讲完整PDF.pdf
QuestMobile:2022新中产人群洞察报告(37页).pdf
QuestMobile:2022年中国短视频直播电商发展洞察报告(30页).pdf
町芒:2022现制茶饮行业研究报告(47页).pdf
小红书:2023年度生活趋势报告(34页).pdf
QuestMobile:2021新中产人群洞察报告(30页).pdf
锐仕方达&薪智:2022年薪酬白皮书(105页).pdf