在上一篇《Generative AI 新世界:文本生成范畴论文解读》中,我带领咱们一同梳理了文本生成范畴(Text Generation)的首要几篇论文:InstructGPT,RLHF,PPO,GPT-3,以及 GPT-4。本期文章我将协助咱们一同梳理另一个现在炙手可热的话题:大型言语模型(Large Language Models,或简写为 LLMs)。

亚马逊云科技开发者社区为开发者们供给全球的开发技能资源。这儿有技能文档、开发案例、技能专栏、培训视频、活动与比赛等。协助我国开发者对接世界最前沿技能,观念,和项目,并将我国优异开发者或技能引荐给全球云社区。假如你还没有重视/收藏,看到这儿请必定不要匆匆划过,点这儿让它成为你的技能宝库!

大型言语模型指的是具有数十亿参数(B+)的预练习言语模型(例如:GPT-3, Bloom, LLaMA)。这种模型能够用于各种自然言语处理使命,如文本生成、机器翻译和自然言语了解等。

大型言语模型的这些参数是在许多文本数据上练习的。现有的大型言语模型首要采用 Transformer 模型架构,并且在很大程度上扩展了模型巨细、预练习数据和总核算量。他们能够更好地了解自然言语,并依据给定的上下文(例如 prompt)生成高质量的文本。其间某些才干(例如上下文学习)是不行预测的,只有当模型巨细超越某个水平常才干观察到。

以下是 2019 年以来呈现的各种大型言语模型(百亿参数以上)时刻轴,其间标黄的大模型已开源。

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:A timeline of existing LLMs(>10B)arxiv.org/abs/2303.18…

在本期文章中,咱们将一同评论大型言语模型的开展前史、语料来历、数据预处理流程战略、练习运用的网络架构、最新研讨方向剖析(LLaMA、PaLM-E 等),以及在亚马逊云科技上进行大型言语模型练习的一些最佳落地实践等。

大型言语模型的开展前史

咱们首要来了解下大型言语模型的开展前史和最新研讨方向剖析。

大型言语模型 1.0。曩昔五年里,自从咱们看到开端的Transformer模型 BERT、BLOOM、GPT、GPT-2、GPT-3 等的呈现,这一代的大型言语模型在 PaLM、Chinchilla 和 LLaMA 中到达了高峰。第一代 Transformers 的共同点是:它们都是在大型未加标签的文本语料库上进行预练习的

大型言语模型 2.0。曩昔一年里,咱们看到许多通过预练习的大型言语模型,正在依据符号的目标数据进行微调。第二代 Transformers 的共同点是:对目标数据的微调,运用带有人工反应的强化学习(RLHF)或许更经典的监督式学习。第二代大型言语模型的抢手比如包含:InstructGPT、ChatGPT、Alpaca 和 Bard 等。

大型言语模型 3.0。曩昔的几个月里,这个范畴的抢手主题是参数高效微谐和对特定范畴数据进行预练习,这是现在提高大型言语模型核算效率和数据效率的最新办法。另外,下一代大型言语模型或许以多模态和多使命学习为中心,这将为大型言语模型带来更多崭新并突破想象力的许多新功能。

在本文第二章节“大模型最新研讨方向剖析”中,咱们还会深入评论参数微调、特定数据预练习和多模态等方向的相关开展剖析。

近年来的大型言语模型概览

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:arxiv.org/abs/2303.18…

上图展现了近年来大型言语模型(大于 10B 的参数)的统计数据,包含容量评估、预练习数据规划(token 数量或存储巨细)和硬件资源本钱。

图中,“Adaptation” 表明模型是否通过了后续微调:IT 表明指令调整,RLHF 表明通过人工反应进行强化学习。“Evaluation” 表明模型在原始论文中是否通过了相应才干的评估:ICL 表明上下文学习(in-context learning),CoT 表明思维链(chain-of-thought)。

大型言语模型的语料来历

与前期的预练习言语模型(PLMs)比较,包含更多参数的大型言语模型需求更大的练习数据量,涵盖了更广泛的内容。为了满意这种需求,现已发布了越来越多的用于研讨的练习数据集。依据他们的内容类型,大致可分类为六组:图书、CommonCrawl、Reddit 链接、维基百科、代码和其它。如下表所示:

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:arxiv.org/abs/2303.18…
Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:arxiv.org/abs/2303.18…

上图展现了现有大型言语模型预练习数据中,各种不同的数据来历占比比率的信息。

大型言语模型的数据预处理战略

在收集了许多数据后,对其进行预处理关于构建预练习语料库至关重要,尤其是要删去喧闹、冗余、不相关和潜在的有毒数据,这或许会在很大程度上影响大型言语模型的容量和功能。该论文中,研讨者们用一个章节专门论述了其研讨团队的数据预处理战略,以及怎么通过各种办法来提高所收集数据质量。

Generative AI 新世界 | 大型语言模型(LLMs)概述

Source:arxiv.org/abs/2303.18…

上图为该论文论述大型言语模型的预练习数据处理的典型战略概览图。

大型言语模型的网络结构

大型言语模型在练习阶段的网络结构规划参数,也是影响大型言语模型功能的重要目标之一。下表列举了一些大型言语模型的首要网络结构参数,包含:token 巨细、归一化办法、方位嵌入办法、激活函数、是否运用 Bias、层数、注意力头的数量、躲藏状况巨细、最大上下文长度等参数。如下表所示:

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:arxiv.org/abs/2303.18…

上表概述了包含详细装备信息的多个大型言语模型的类型卡(Model cards):

  • PE 表明方位嵌入
  • #L 表明层数
  • #H 表明注意力头的数量
  • dmodel 表明躲藏状况的巨细
  • MCL 表明最大上下文长度

大型言语模型的涌现才干

LLM 的涌现才干被正式定义为「在小型模型中不存在但在大型模型中呈现的才干」,这是 LLM 与以前的 PLM 区别开来的最明显特征之一。当呈现这种新的才干时,它还引入了一个明显的特征:当规划到达必定水平常,功能明显高于随机的状况。以此类推,这种新形式与物理学中的相变现象密切相关。原则上,这种才干也能够与一些复杂的使命有关,而人们更关心能够应用于处理多个使命的通用才干。

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:arxiv.org/pdf/2206.07…

在少数提示(few-shot prompting)办法下测试了以下八个不同场景的模型功能:

  • 算术运算(Mod. arithmetic)
  • 语音翻译(IPA transliterate)
  • 单词解读(Word unscramble)
  • Persian QA
  • TruthfulQA 基准
  • 概念映射(Grounded mappings)
  • 多使命言语了解(Multi-task NLU)
  • 上下文了解基准

每个点都是一个独自的模型。当言语模型完结随机时,就会呈现通过少数提示(few-shot prompting)办法履行使命的才干功能,在模型巨细到达必定规划之后,功能会明显提高到远高于随机水平。

现在大型言语模型首要有三种代表性的涌现才干,分别是:

  • 上下文学习
  • 指令遵从
  • 按部就班的推理

上下文学习。GPT-3 正式引入了上下文学习才干:假设言语模型现已供给了自然言语指令和多个使命描绘,它能够通过完结输入文本的词序列来生成测试实例的预期输出,而无需额定的练习或梯度更新。

指令遵从。通过对自然言语描绘(即指令)格式化的多使命数据集的混合进行微调,LLM 在细小的使命上表现良好,这些使命也以指令的方式所描绘。这种才干下,指令调优使 LLM 能够在不运用显式样本的情况下通过了解使命指令来履行新使命,这能够大大提高泛化才干。

按部就班的推理。关于小言语模型,一般很难处理触及多个推理过程的复杂使命,例如数学学科单词问题。同时,通过思维链推理战略,LLM 能够通过运用触及中间推理过程的 prompt 机制来处理此类使命得出终究答案。据推测,这种才干或许是通过代码练习取得的。

大模型最新研讨方向剖析

Amazon Titan

2023 年 4 月,亚马逊云科技宣布推出 Amazon Titan 模型。依据其以下官方网站和博客的信息(如下图所示):一些亚马逊云科技的客户现已预览了亚马逊全新的 Titan 根底模型。现在发布的 Amazon Titan 模型首要包含两个模型:

  1. 针对总结、文本生成、分类、开放式问答和信息提取等使命的生成式大言语模型;
  2. 文本嵌入(embeddings)大言语模型,能够将文本输入(字词、短语乃至是大篇幅文章)翻译成包含语义的数字表达(jiembeddings 嵌入编码)。
    Generative AI 新世界 | 大型语言模型(LLMs)概述
    Source:aws.amazon.com/cn/bedrock/…aws.amazon.com/cn/blogs/ch…

尽管这种大言语模型不生成文本,但对个性化引荐和查找等应用程序却大有裨益,因为相关于匹配文字,比照编码能够协助模型反应更相关、更符合情境的成果。实际上,Amazon.com 的产品查找才干便是采用了类似的文本嵌入模型,能够协助客户更好地查找所需的商品。为了继续推进运用负责任AI的最佳实践,Titan 根底模型能够识别和删去客户提交给定制模型的数据中的有害内容,拒绝用户输入不妥内容,过滤模型中包含不妥内容的输出成果,如仇视言论、脏话和言语暴力。

Alpaca: LLM Training LLM

2023 年 3 月 Meta 的LLaMA 模型发布,该模型对标 GPT-3。现已有许多项目建立在 LLaMA 模型的根底之上,其间一个闻名的项目是 Stanford 的羊驼(Alpaca)模型。Alpaca 依据 LLaMA 模型,是有 70 亿参数指令微调的言语 Transformer。Alpaca 没有运用人工反应的强化学习(RLHF),而是运用监督学习的办法,其运用了 52k 的指令-输出对(instruction-output pairs)。

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:github.com/tatsu-lab/s…

研讨人员没有运用人类生成的指令-输出对,而是通过查询依据 GPT-3 的 text-davinci-003 模型来检索数据。因而,Alpaca 本质上运用的是一种弱监督(weakly supervised)或以常识蒸馏(knowledge-distillation-flavored)为主的微调。

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:crfm.stanford.edu/2023/03/13/…

这儿值得重视的是羊驼(Alpaca)模型的练习数据,是通过查询 GPT-3 模型取得的。浅显地来说,这是“用 LLM 来练习 LLM”,或许称之为“用 AI 来练习 AI”。我觉得大多数人或许低估了这件作业对人类社会影响的意义,我觉得其意义特殊。这意味着:AI 之间的彼此学习成长这件事,现已开端了。许多年后,当咱们回望 AI 世代的演进史,这件事或许会是一个重要的时刻节点。

PaLM-E: Multimodality

在 2023 年 3 月,PaLM-E 模型发布,展现了在大型言语模型和多模态数据形式(multimodality)交融的一些最新开展。这是大型言语模型的另一个重要趋势:通过视觉、多模态和多使命练习来扩展才干

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source: PaLM-E paper:arxiv.org/pdf/2303.03…

如以上论文中的图示,PaLM-E 模型是一种用于详细推理使命、视觉言语使命和言语使命的单一通用多模态言语模型。PaLM-E 模型对多模态语句进行操作,即一系列符号,其间来自任意形式(例如图像、神经三维表明或状况,绿色和蓝色)的输入与文本符号(橙色)一同插入,作为 LLM 的输入,通过端到端练习。

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source: PaLM-E paper:arxiv.org/pdf/2303.03…

该论文展现了 PaLM-E 在三个不同的机器人范畴做搬迁学习的测试成果比照图。运用 PaLM-E 、ViT 预练习、机器人和视觉言语的混合数据组合,与仅对相应的域内数据进行练习比较,有明显的功能提高。

值得注意的是,PaLM-E 继续被练习为一个完全依据解码器的 LLM,它依据给定的前缀或提示自回归生成文本补全。那么,它们怎么启用状况表征或许图像的输入呢?他们对网络进行了预练习以将其编码为 embeddings。关于图像,他们运用 4B 和 22B 参数的视觉 Transformer (ViT) 来生成嵌入向量;然后对这些嵌入向量进行线性投影,以匹配单词令牌嵌入的嵌入维度。

在练习过程中,为了构成多模态的语句,他们首要运用特殊符号 Tokens,例如:、 等,然后将其与嵌入的图像交流(类似于通过嵌入层嵌入单词符号的办法)。

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:magazine.sebastianraschka.com/p/ahead-of-…

一些第三方范畴学者对其论文和展现的功能提高也做了剖析,如上图所示。运用 PaLM-E 、ViT 预练习、机器人和视觉言语的混合数据组合进行联合练习,与针对单个使命的练习模型比较,能够完结两倍以上的功能提高。

大型言语模型的练习和构建优化

练习大型言语模型的应战

练习大型言语模型触及许多应战。这些应战归纳来说,大致来自于六个方面,如下图示:

  • 硬件(Hardware)
  • 健康检查(Health Checks)
  • 编列(Orchestration)
  • 数据(Data)
  • 规划扩展(Scaling up)
  • 本钱考虑(Cost)
    Generative AI 新世界 | 大型语言模型(LLMs)概述
    首要是硬件。你想运用最新的硬件。最新的硬件一般能够让你在各种基准测试中取得更好的功能,因而,假如这些模型需求数周或数月的时刻来练习,而你没有运用最新硬件的功能优势,那么你将无法练习模型以取得最适合你的用例的成果。

第二个是健康检查。您需求保证硬件运转良好,以便最大极限地削减模型练习期间的搅扰。

咱们还需求考虑编列,发动集群,关闭集群,保证网络和安全装备运转良好,机器学习团队在运转各种作业负载时不会彼此搅扰。

咱们需求考虑的其他作业是大数据集。存储、处理和加载它们以进行机器学习练习并不是一件简略的事,并且或许需求许多的开发作业才干高效完结。

咱们扩展根底设施的规划并设核算法以绕过根底设施的局限性是另一个应战。咱们今日议论的模型一般不适用于单个 GPU,因而你有必要考虑怎么将该模型拆分到 GPU 上。

最后,咱们有必要考虑本钱。这些大型模型的练习本钱或许高达数十万乃至数百万美元。所以,你想很好地运用机器学习团队的时刻。与其让他们在根底架构上作业,他们能够专心于测验新的模型创意,这样您的企业就能够运用该模型取得最佳成果。

大型言语模型的构建优化

走运的是,Amazon SageMaker 能够协助你应对所有这些应战,从而加速大型言语模型的练习。现在,Amazon SageMaker 可协助您运用保管根底设施、东西和作业流程为任何用例构建、练习和部署机器学习模型。如下图所示。

下图中黄色的部分,例如:Amazon SageMaker 分布式练习库、Amazon SageMaker 练习编译优化等,咱们还会鄙人一篇的着手试验部分,用完好的代码来演绎完结,让你有更身临其境的感触。

Generative AI 新世界 | 大型语言模型(LLMs)概述

鄙人层,咱们有根底设施,Amazon SageMaker 可让你访问最新的硬件,包含 GPU 和 Trainium,以及实例之间的快速网络互连,这关于分发练习至关重要。

在中间层,有保管根底设施和东西的才干。

Amazon SageMaker 会为你处理大规划集群编列,它加速了集群,最后它会向下旋转。它有助于完结所有这些安全和网络装备,因而你能够轻松保护客户数据和 IP 的安全。

在练习作业开端时还会进行健康检查,以保证硬件有效运转,削减对练习作业的搅扰。编列还意味着你只需为所用的核算资源付费。你只需求在集群发动时付费,为你练习模型,这样你就不用全天候为所有昂贵的硬件付费。

还有用于剖析、调试和监控试验的东西,以及运用各种战略进行超参数优化的东西,以保证取得尽或许好的模型。

在顶层,有针对云端进行了优化的结构和库,例如在 Amazon SageMaker 上十分易于运用的 PyTorch、TensorFlow 和 Hugging Face,以及可协助你处理超大型数据集或超大型模型的 Amazon SageMaker 分布式练习库。

Generative AI 新世界 | 大型语言模型(LLMs)概述
我现已谈了许多运用 Amazon SageMaker 进行练习的才干和优点,让咱们来谈谈它是怎么运作的。练习模型,咱们需求一些核算资源,然后在某些数据集上运转咱们编写的练习代码。Amazon SageMaker 做到这一点的办法是:通过发动时间短的练习集群来完结使命。

当提交练习作业时,Amazon SageMaker 将依据你挑选的集群装备发动集群。它将从 ECR 加载练习代码,从 S3 加载数据,然后开端练习。练习过程中,它会将日志和目标输出到 CloudWatch,将模型检查点(checkpoint)同步到 S3,并在使命结束时关闭集群。假如你编写的代码考虑了具有弹性,编写成能够从检查点自动康复,则你的练习作业将无需手动干涉即可自动重启。

以下是用于开端练习作业的中心代码,即 estimator API:

    from sagemaker.pytorch import PyTorch
estimator = PyTorch(entry_point = ‘./cifar10.py’,
        role = role,
        framework_version = ‘1.13’,
        py_version = ‘py38’,
        instance_count = 1,
        instance_type = ‘ml.g5.xlarge’,
        hyperparameters = {‘epochs’: 50, ‘batch_size’: 32},
        metric_definitions = [{‘Name’: ‘train:loss’, ‘Regex’: ‘loss: (.*)’}]
estimator.fit(“s3://bucket/path/to/training/data”)

左滑查看更多

这儿挑选了 PyTorch 预算器,并定义了进口点的函数文件:cifar10.py。这与咱们在自己的本地电脑上运转用于练习模型的脚本十分相似,咱们称之为脚本形式。运用 Amazon SageMaker 练习作业的办法有许多,灵活性更强,你能够供给自己的 docker 容器或一些内置算法。

然后定义想要运用的结构和 Python 版别,以及练习作业的实例类型、实例数量和超参数。你现在能够随时轻松更改这些内容,发动其他练习使命来测验不同的实例类型,看看哪种硬件最适合你的用例。

接下来将给出目标定义。这将告诉 Amazon SageMaker 怎么解析从脚本中输出的日志,Amazon SageMaker 会将这些目标发送到 CloudWatch,供你稍后查看。

最后调用 estimator.fit(),其间包含练习数据的路径。

大模型练习在亚马逊云科技上的最佳实践

本章节内容,将重点重视大型言语模型在亚马逊云科技上的最佳练习实践。大致分为五大方面:

  • 核算(Compute) — Amazon SageMaker Training
  • 存储(Storage) — 能够通过两种办法完结数据加载和检查点(checkpointing)装备:Amazon FSx Lustre 文件体系或Amazon S3
  • 并行化(Parallelism) — 挑选分布式练习库关于正确运用 GPU 至关重要。咱们主张运用通过云优化的库,例如 SageMaker 分片数据并行处理,但自办理库和开源库也能够运用
  • 联网(Networking) — 保证 EFA 和 NVIDA的 GPUDirectRDMA已启用,以完结快速的机器间通信
  • 弹性(Resiliency) — 在大规划情况下,或许会产生硬件毛病。咱们主张定时写入检查点(checkpointing)

由于篇幅所限,恕本文不能完好解读剖析以上五个方面的最佳实践优化,你可通过亚马逊云科技的官方博客了解详情。

以下咱们会简略介绍下大模型练习并行化(Parallelism)在亚马逊云科技上的最佳实践。

大模型练习的并行化(Training Parallelism)

大模型一般有数十到数千亿个参数,这使得它们无法包容在单个 GPU 卡中。大模型范畴现在已有多个练习分布式核算的开源库,例如:FSDP、DeepSpeed 和 Megatron。你能够在 Amazon SageMaker Training 中直接运转这些库,也能够运用 Amazon SageMaker 分布式练习库,这些库现已针对亚马逊云进行了优化,可供给更简略的开发人员体会。

因而,在大型言语模型范畴的开发人员,在亚马逊云科技上现在有两种挑选:

  1. 在 Amazon SageMaker 上运用优化过的分布式库进行分布式练习;
  2. 自己来办理分布式练习。

以下将概述怎么在 Amazon SageMaker 上,运用优化过的分布式库进行分布式练习。

为了供给更好的分布式练习功能和可用性,Amazon SageMaker Training 提出了几种专有扩展来扩展 TensorFlow 和 PyTorch 练习代码。在实在场景里,大型言语模型的练习一般以多维度并行(3D-parallelism)的办法在进行:

  • 数据并行(data parallelism) :可拆分练习小批次并将其馈送到模型的多个相同副本,以提高处理速度
  • 流水线并行(pipeline parallelism) :将模型的各个层归因于不同的 GPU 乃至实例,以便将模型巨细扩展到单个 GPU 和单个服务器以外
  • Tensor 并行(tensor parallelism) :将单个层拆分为多个 GPU,一般坐落同一服务器内,以将单个层扩展到超越单个 GPU 的巨细

以下示例图,展现了怎么在具有 8k3 个 GPU(每台服务器 8 个 GPU)的 k*3 服务器集群上练习 6 层模型。数据并行度为 k,流水线并行度为 6,张量并行度为 4。集群中的每个 GPU 包含模型层的四分之一,完好模型分为三台服务器(一共 24 个 GPU)。

Generative AI 新世界 | 大型语言模型(LLMs)概述
Source:aws.amazon.com/cn/blogs/ma…

其间和大型言语模型特别相关的分布式实践包含:

  • Amazon SageMaker 分布式模型并行 — 该库运用图形分区生成针对速度或内存进行了优化的智能模型分区。Amazon SageMaker 分布式模型并行供给了最新、最好的大型模型练习优化,包含数据并行、流水线并行、张量并行、优化器状况分片、激活检查点和卸载。
  • Amazon SageMaker 分片数据并行——在MiCS: Near-linear Scaling for Training Gigantic Model on Public Cloud论文中,引入了一种新的模型并行战略,该战略仅在数据并行组上区分模型,而不是整个集群。借助 MiCS,亚马逊云科技的科学家们能够在每个 GPU 上完结 176 万亿次浮点运算(理论峰值的 56.4%),从而在 EC2 P4de 实例上练习 210 层、1.06 万亿个参数的模型。作为 Amazon SageMaker 并行同享数据,MIC 现已能够向 Amazon SageMaker Training 客户供给。

Amazon SageMaker 分布式练习库供给高功能和更简略的开发者体会。开发人员无需编写和维护自定义的并行进程发动器,或运用特定于结构的发动东西,因为并行发动器现已内置在 Amazon SageMaker 的使命发动 SDK 之中。

与传统分布式练习比较,大型言语模型的微调一般不只要求数据并行,数据并行和模型并行需求同时进行。Amazon SageMaker Model Parallelism 在易用性和稳定性 (OOM) 上与开源自建计划(如 DeepSpeed)比较具有中心竞赛优势。关于依据哪些模型进行详细微调、详细最佳实践等技能细节,你还能够咨询亚马逊云科技的处理计划架构师团队,取得更进一步的技能支持和专业主张。

总结

本期文章咱们一同评论大型言语模型的开展前史、语料来历、数据预处理流程战略、练习运用的网络架构、最新研讨方向剖析(LLaMA、PaLM-E 等),以及在亚马逊云科技上进行大型言语模型练习的一些最佳落地实践等。下期文章,咱们将重点评论着手实践,解读和演示大型言语模型(LLMs)在亚马逊云科技上的部署、编译优化、分布式练习等方面的着手试验,敬请期待。

请继续重视 Build On Cloud 微信大众号,了解更多面向开发者的技能分享和云开发动态!

往期引荐

#GitOps 最佳实践

#开发者生态

#机器学习洞察

Generative AI 新世界 | 大型语言模型(LLMs)概述

作者黄浩文

亚马逊云科技资深开发者布道师,专心于 AI/ML、Data Science 等。拥有 20 多年电信、移动互联网以及云核算等职业架构规划、技能及创业办理等丰富经验,曾就职于 Microsoft、Sun Microsystems、我国电信等企业,专心为游戏、电商、媒体和广告等企业客户供给 AI/ML、数据剖析和企业数字化转型等处理计划咨询服务。

文章来历:dev.amazoncloud.cn/column/arti…