AI大规模专题报告:大规模语言模型从理论到实践

今天分享的AI系列深度研究报告:《AI大规模专题报告:大规模语言模型从理论到实践》。

(报告出品方:光大证券)

报告共计:25页

大规模语言模型基本概念

语言是人类与其他动物最重要的区别,而人类的多种智能也与此密切相关。逻辑思维以语言的形式表达,大量的知识也以文字的形式记录和传播。如今,互联网上已经拥有数万亿网页资源.其中大部分信息都是用自然语言描述。因此,如果人工智能算法想要获取知识,就必须懂得如何理解人类所使用的不太精确、可能有歧义并且甚至有些混乱的语言。语言模型 (Language Model, LM)目标就是建模自然语言的概率分布。词汇表V 上的语言模型,由函数 P(ww..wm)表示,可以形式化地构建为词序列 wwwm 的概率分布,表示词序列 ww2...wm 作为一个子出现的可能性大小。由于联合概率 P(ww2...wm) 的参数量十分巨大,直接计算 P(ww2...wm) 非常困难7。按照《现代汉语词典 (第七版)》包含约 7 万单词,句子长度按照 20 个词计算,语言模型参数量达到 7.9792 x 109 的天文数字。中文的书面语中,超过 100 个单词的句子也并不罕见,如果要将所有可能性都纳入考虑,语言模型的复杂度还会进一步急剧增加,以目前的计算手段无法进行存储和运算。

深度神经网络需要采用有监督方法,使用标注数据进行训练,因此,语言模型的训练过程也不可避免需要构造训练语料。但是由于训练目标可以通过无标注文本直接获得,从而使得模型的训练仅需要大规模无标注文本即可。语言模型也成为了典型的自监督学习 (Self-supervised Learning任务。互联网的发展,使得大规模文本非常容易获取,因此训练超大规模的基于神经网络的语言模型也成为了可能。

受到计算机视觉领域采用 ImageNetlt3] 对模型进行一次预训练,使得模型可以通过海量图像充分学习如何提取特征,然后再根据任务目标进行模型精调的预训练范式影响,自然语言处理领域基于预训练语言模型的方法也逐渐成为主流。以 ELMo3] 为代表的动态词向量模型开启了语言模型预训练的大门,此后以 GPT14 和 BERT 为代表的基于 Transformer 模型] 的大规模预训练语言模型的出现,使得自然语言处理全面进入了预训练微调范式新时代。将预训练模型应用于下游任务时,不需要了解太多的任务细节,不需要设计特定的神经网络结构,只需要“微调”预训练模型,使用具体任务的标注数据在预训练语言模型上进行监督训练,就可以取得显著的性能提升。这类方法通常称为预训练语言模型 (Pre-trained Language Models,PLM)。

大规模语言模型发展历程

大规模语言模型的发展历程虽然只有短短不到五年的时间,但是发展速度相当惊人,截止 2023年 6月,国内外有超过百种大模型相继发布。中国人民大学赵鑫教授团队在文献181按照时间线给出 2019 年至 2023 年 5 月比较有影响力并且模型参数量超过 100 亿的大规模语言模型,如图1.2所示。大规模语言模型的发展可以粗略的分为如下三个阶段:基础模型、能力探索、突破发展。

基础模型阶段主要集中于 2018 年至 2021 年,2017 年 Vaswani 等人提出了 Transformerl2] 架构,在机器翻译任务上取得了突破性进展。2018 年 Google 和 Open AI分别提出了 BERTI和GPT]间 模型,开启了预训练语言模型时代。BERT-Base 版本参数量为 1.1 亿,BERT-Large 的参数量为 3.4 亿,GPT-1 的参数量 1.17 亿。这在当时,相比其它深度神经网络的参数量已经是有数量级上提升。2019 年 Open AI 又发布了 GPT-24),其参数量达到了 15 亿。此后,Google 也发布了参数规模为 110 亿的 T5[19 模型。2020 年 Open AI 进一步将语言模型参数量扩展到 1750 亿,发布了GPT-3S]。此后,国内也相继推出了一系列的大规模语言模型,包括清华大学 ERNIE(THU)20百度 ERNIE(Baidu)21]、华为盘古-a[22] 等。这个阶段研究主要集中语言模型本身,包括仅编码器Encoder Only)、编码器-解码器 (Encoder-Decoder)、仅解码器(Decoder Only) 等各种类型的模型结构都有相应的研究。模型大小与 BERT 相类似的算法,通常采用预训练微调范式,针对不同下游任务进行微调。但是模型参数量在 10 亿以上时,由于微调的计算量很高,这类模型的影响力在当时相较 BERT 类模型有不小的差距。

能力探索阶段集中于 2019 年至 2022 年,由于大规模语言模型很难针对特定任务进行微调研究人员们开始探索在不针对单一任务进行微调的情况下如何能够发挥大规模语言模型的能力.2019 年 Radford 等人在文献[4] 就使用 GPT-2 模型究了大规模语言模型在零样本情况下的任务处理能力。在此基础上,Brown 等人在 GPT-3S] 模型上研究了通过语境学习(In-Context Learning进行少样本学习的方法。将不同任务的少量有标注的实例拼接到待分析的样本之前输入语言模型使用语言模型根据实例理解任务并给出正确结果。在包括 TriviaQA、WebOS、CoQA 等评测集台都展示出了非常强的能力,在有些任务中甚至超过了此前的有监督方法。上述方法不需要修改语言模型的参数,模型在处理不同任务时无需花费的大量计算资源进行模型微调。但是仅依赖基于语言模型本身,其性能在很多任务上仍然很难达到有监督学习效果,因此研究人员们提出了指令微调(Instruction Tuning)[23] 方案,将大量各类型任务,统一为生成式自然语言理解框架,并构造训练语料进行微调。大规模语言模型一次性学习数千种任务,并在未知任务上展现出了很好的泛化能力。2022 年 Ouyang 等人提出了使用有监督微调再结合强化学习方法,使用少量数据有监督就可以使得大规模语言模型服从人类指令的 InstructGPT 算法24]。Nakano 等人则探索了结合搜索引擎的问题回答算法 WebGPT[25 。这些方法从直接利用大规模语言模型进行零样本和少样本学习的基础上,逐渐扩展到利用生成式框架针对大量任务进行有监督微调的方法,有效提升了模型的性能。

大规模语言模型构建流程

根据 OpenAI 联合创始人 Andrej Karpathy 在微软 Build 2023 大会上所公开的信息,OpenAI 所 使用的大规模语言模型构建流程如图1.3所示。主要包含四个阶段:预训练、有监督微调、奖励建 模、强化学习。这四个阶段都需要不同规模数据集合以及不同类型的算法,会产出不同类型的模 型,同时所需要的资源也有非常大的差别。

预训练(Pretraining)阶段需要利用海量的训练数据,包括互联网网页、维基百科、书籍、GitHub、 论文、问答网站等,构建包含数千亿甚至数万亿单词的具有多样性的内容。利用由数千块高性能 GPU 和高速网络组成超级计算机,花费数十天完成深度神经网络参数训练,构建基础语言模型 (Base Model)。基础大模型构建了长文本的建模能力,使得模型具有语言生成能力,根据输入的 提示词(Prompt),模型可以生成文本补全句子。也有部分研究人员认为,语言模型建模过程中 也隐含的构建了包括事实性知识(Factual Knowledge)和常识知识(Commonsense)在内的世界知 识(World Knowledge)。根据文献 [46] 介绍,GPT-3 完成一次训练的总计算量是 3640PFlops,按照 NVIDIA A100 80G 和平均利用率达到 50% 计算,需要花费近一个月时间使用 1000 块 GPU 完成。

Transformer 模型

Transformer 模型是由谷歌在 2017 年提出并首先应用于机器翻译的神经网络模型结构。机 器翻译的目标是从源语言(Source Language)转换到目标语言(Target Language)。Transformer 结 构完全通过注意力机制完成对源语言序列和目标语言序列全局依赖的建模。当前几乎全部大语言 模型都是基于 Transformer 结构,本节以应用于机器翻译的基于 Transformer 的编码器和解码器介绍该模型。

基于 Transformer 结构的编码器和解码器结构如图2.1所示,左侧和右侧分别对应着编码器(Encoder)和解码器(Decoder)结构。它们均由若干个基本的 Transformer 块(Block)组成(对应着图 中的灰色框)。这里 N× 表示进行了 N 次堆叠。每个 Transformer 块都接收一个向量序列 {xi} t i=1 作为输入,并输出一个等长的向量序列作为输出 {yi} t i=1。这里的 xi 和 yi 分别对应着文本序列 中的一个单词的表示。而 yi 是当前 Transformer 块对输入 xi 进一步整合其上下文语义后对应的输 出。

生成式预训练语言模型 GPT

受到计算机视觉领域采用 ImageNet对模型进行一次预训练,使得模型可以通过海量图像充分学习如何提取特征,然后再根据任务目标进行模型微调的范式影响,自然语言处理领域基于预训练语言模型的方法也逐渐成为主流。以 ELMo] 为代表的动态词向量模型开启了语言模型预训练的大门,此后以 GPT4 和 BERT 为代表的基于 Transformer 的大规模预训练语言模型的出现,使得自然语言处理全面进入了预训练微调范式新时代。利用丰富的训练语料、自监督的预训练任务以及 Transformer 等深度神经网络结构,预训练语言模型具备了通用且强大的自然语言表示能力,能够有效地学习到词汇、语法和语义信息。将预训练模型应用于下游任务时,不需要了解太多的任务细节,不需要设计特定的神经网络结构,只需要“微调”预训练模型,即使用具体任务的标注数据在预训练语言模型上进行监督训练,就可以取得显著的性能提升。

OpenAI公司在 2018 年提出的生成式预训练语言模型(Generative Pre-Training,GPT) 4 是典型的生成式预训练语言模型之一。GPT 模型结构由多层 Transformer 组成的单向语言模型,主要分为输入层,编码层和输出层三部分。

语言模型训练数据

大语言模型训练需要数万亿的各类型数据。如何构造海量“高质量”数据对于大语言模型的训练具有至关重要的作用。虽然,截止到 2023 年9 月为止,还没有非常好的大模型的理论分析和解释,也缺乏对语言模型训练数据的严格说明和定义。但是,大多数研究人员都普遍认为训练数据是影响大语言模型效果以及样本泛化能力的关键因素之一。从此前的研究来看,预训练数据需要涵盖各种类型。包括网络数据、图书、论文、百科和社交媒体等,还需要覆盖尽可能多的领域语言、文化和视角,从而提高大语言模型的泛化能力和适应性。

报告共计:25页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解 Promise:前端异步编程的核心概念

深入理解 Promise:前端异步编程的核心概念 本文将帮助您深入理解 Promise,这是前端异步编程的核心概念。通过详细介绍 Promise 的工作原理、常见用法和实际示例,您将学会如何优雅地处理异步操作,并解决回调地狱问题。 异步编程和…

Linux的硬盘管理

本章主要介绍Linux磁盘管理 了解分区的概念对硬盘进行分区swap分区的管理 新的硬盘首先需要对其进行分区和格式化,下面来了解一下硬盘的结构,如图 硬盘的磁盘上有一个个圈,每两个圈组成一个磁道。从中间往外发射线,把每个磁道分…

信息系统工程的基本概念

系统是由相互作用和相互依赖的若干部分,按一定规律结合成的、具有特定功能的有机整体。系统有下述特性: (1)集合性。系统是由许多元素有机地组成的整体。每个元素服从整体,追求全局最优。 (2)相…

springboot3远程调用

RPC 两个服务器之间的调用 远程请求 内部服务之间的调用 可以通过 cloud 注册中心 openfeign等 外部服务的调用 http请求 外部协议 api:远程接口 sdk:本地调用 调用阿里云的天气请求

深度学习|词嵌入的演变

文本嵌入,也称为词嵌入,是文本数据的高维、密集向量表示,可以测量不同文本之间的语义和句法相似性。它们通常是通过在大量文本数据上训练 Word2Vec、GloVe 或 BERT 等机器学习模型来创建的。这些模型能够捕获单词和短语之间的复杂关系&#x…

要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 27 章:如何避开和绕过所有人工智能内容检测器

要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 27 章:如何避开和绕过所有人工智能内容检测器 使用高易错性和突发性方法 与人工智能生成的文本相比,人类写作往往具有更多的突发性,这是由于人类往往比人工智能生成的文…

【开源】基于Vue+SpringBoot的陕西非物质文化遗产网站

文末获取源码,项目编号: S 065 。 \color{red}{文末获取源码,项目编号:S065。} 文末获取源码,项目编号:S065。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 设计目标2.2 研究内容2.3 研究方法与…

GEE中Landsat中大改变——Landsat Collection 1 到 Collection 2 影像集合迁移

Landsat Collection 1 到 Collection 2 迁移 本指南提供了从Landsat Collection 1 数据切换 到 Collection 2 数据的说明。自 2022 年以来,集合 2 已在 Earth Engine 中完全可用, 自 2021 年 12 月 31 日以来,美国地质调查局 (USGS) 未生成集合 1 数据。Landsat Collection …

3D点云:平面模型上提取凸(凹)多边形方法

目录 一、实现原理 二、实现代码 三、运行结果 一、实现原理 首先要在点云中提取出潜在平面,对原始点云数据进行滤波,根据提取出的平面模型系数从滤波后的点云进行投影,然后根据投影后的点云计算其对应的二维凹(凸)多边形。 二、实现代码 #in

webrtc 设置不获取鼠标 启用回声消除

数 getDisplayMedia()(属于 navigator.mediaDevices 的一部分)与 getUserMedia() 类似,用于打开显示内容(或部分内容,如窗口)。返回的 MediaStream 与使用 getUserMedia() 时相同。 显示鼠标与否 getDisp…

案例064:基于微信小程序的考研论坛设计

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

正则表达式(7):转义符

正则表达式(7):正则表达式(5):转义符 本博文转载自 此处,我们来认识一个常用符号,它就是反斜杠 “\” 反斜杠有什么作用呢?先不着急解释,先来看个小例子。 …

【游戏引擎 - C#脚本系统】6、C#端调用C++函数

强烈建议阅读Mono官方文档 有mono库提供的API&#xff0c;这个过程非常简单&#xff0c;通过mono在C中注册函数&#xff0c;然后在C#中声明和调用这些函数 1、在C中注册Internal Call&#xff1a; C代码中定义一个函数 static void CppFunc() {std::cout << "这…

24 递归求解二叉树打家劫舍

问题描述&#xff1a;在上次大街万一条街道之后和一圈房屋后&#xff0c;小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为根。除了根之外&#xff0c;每栋房子有且只有一个父房子与之项链&#xff0c;一番侦查之后&#xff0c;聪明的小偷意识到…

CGAL的3D简单网格数据结构

由具有多个曲面面片的多面体曲面生成的多域四面体网格。将显示完整的三角剖分&#xff0c;包括属于或不属于网格复合体、曲面面片和特征边的单元。 1、网格复合体、 此软件包致力于三维单纯形网格数据结构的表示。 一个3D单纯形复杂体由点、线段、三角形、四面体及其相应的组合…

从零开始搭建链上dex自动化价差套利程序(13)

优化 优化触发条件&#xff1a; 之前的触发条件有问题&#xff0c;导致迟迟不能触发&#xff0c;优化后触发条件如下&#xff1a; dydx_take 0.0002apex_make 0.0005​float(b_first_price_apex)-float(s_first_price_dydx) > float(b_first_price_apex)*apex_makefloat…

华为数通---配置Smart Link主备备份示例

定义 Smart Link&#xff0c;又叫做备份链路。一个Smart Link由两个接口组成&#xff0c;其中一个接口作为另一个的备份。Smart Link常用于双上行组网&#xff0c;提供可靠高效的备份和快速的切换机制。 目的 下游设备连接到上游设备&#xff0c;当使用单上行方式时&…

Microsoft 365 Copilot正式上线,如何稳定访问体验?

如果将微软对人工智能的投资看成一场豪赌&#xff0c;Microsoft Copilot无疑是现阶段最受瞩目的赌注。2023年9月正式发布的Microsoft Copilot是一种基于大型语言模型&#xff08;LLM&#xff09;和微软图形&#xff08;Microsoft Graph&#xff09;的数据和人工智能&#xff08…

贝锐花生壳3大安全能力,保障网络服务安全远程连接

在没有公网IP的情况下&#xff0c;使用内网穿透工具&#xff0c;将本地局域网服务映射至外网&#xff0c;虽然高效快捷&#xff0c;但信息安全也是不可忽略的方面。 对此&#xff0c;贝锐花生壳提供了多维度的安全防护能力&#xff0c;满足不同场景下用户安全远程访问内网服务的…

svn log | less

svn log | less 是一个命令行指令&#xff0c;用于查看 Subversion (SVN) 仓库的提交日志&#xff0c;并通过分页方式进行浏览。 具体而言&#xff0c;svn log 命令用于获取 SVN 仓库的提交历史记录。而 less 命令则是一个分页器&#xff0c;它可以将输出内容逐页显示在终端窗…