查看原文
其他

微调工程研究必读·卡梅隆博士系列E01S02·开源大语言模型LLM的历史:早期-A𝕀²·ℙarad𝕚gm之化身范式

ai汤源 AI范儿 2023-08-22


图|arXiv论文截图

文|Cameron R. Wolfe/汤源
开源LLM的历史之早期
截图来自参考论文[12,20]

题记

AI范儿·社区公众号文章中,关于A𝕀²·ℙarad𝕚gm商业范式“挖矿”(详见附录)的工程方法,曾经转译过卡梅隆博士的提示工程论文研究综述系列,可以算作卡梅隆博士系列第一季(Season01)(暂列如下,同时会在文末做好图文链接,方便大家进阶阅读及查阅):
💡 卡梅隆博士系列第一季

▩提示工程系列

E01S01:「提示工程系列」转译(1):思维链(CoT)提示-一种实用而简单的LLM“推理”方法

E02S01:「提示工程系列」转译(2):实用提示工程-成功提示 LLM 的提示和技巧

E03S01:「提示工程系列」转译(3):提示工程进阶-当小样本学习还不足以解决问题怎么办?

E04S01:「提示工程系列」转译(4):提示合奏使LLM更可靠-简单策略挖掘更多LLM潜能

A𝕀²·ℙarad𝕚gm商业范式“化身”完全基于开源大语言模型及其工程方法-微调(fine-tuning)。近日,卡梅隆博士在他的Deep(Learning)Focus 博客上连发3篇-开源LLM的历史-作了完整论文综述,本文作为AI范儿·卡梅隆博士系列第二季的首篇(E01S02-Episode 01 Season 02),也是转译其3篇中的第一篇:
开源LLM的历史:早期(第一部分)
了解 GPT-Neo、GPT-J、GLM、OPT、BLOOM 等...
另:之所以对于A𝕀²·ℙarad𝕚gm商业范式的工程内容解读以卡梅隆博士的论文综述转译为主,主要考虑其专注与专业性:首先,综述选题紧跟这波AI发展脉络,非常独到而且有概括性;其次所有综述内容都是解读至少十数篇arXiv论文而来,而且行文精炼朴素,AI范儿奉为圭臬。

原文题记

语言建模的研究历史悠久,可以追溯到 GPT 和 GPT-2 等模型,甚至可以追溯到基于 RNN 的技术(如 ULMFit),这些技术都早于基于Transformer的现代语言模型。尽管历史悠久,但语言模型直到最近才开始流行起来。GPT-3[1]的提出使语言模型首次流行起来,它表明,通过结合自监督预训练和上下文学习,可以在许多任务中实现令人印象深刻的少样本(few-shot)学习性能;见下图。

“来自参考论文[1]”
在此之后,GPT-3 所获得的认可促使人们提出了一系列大型语言模型(LLM)。不久之后,关于语言模型对齐和微调的研究催生了更多令人印象深刻的模型,如 InstructGPT [19] 及其姊妹模型 ChatGPT。这些模型令人印象深刻的表现引起了人们对语言建模和生成式人工智能的浓厚兴趣。
尽管功能强大得令人难以置信,但许多早期的 LLM 研究都有一个共同特点--它们都是闭源的。当语言模型刚开始获得广泛认可时,许多最强大的 LLM 只能通过付费的 API(如 OpenAI API)访问,而且研究和开发此类模型的能力仅限于特定的个人或实验室。这种做法与典型的人工智能研究实践明显不同,后者通常鼓励开放和想法共享,以促进进步。
💡 “论文摘录”

“This restricted access has limited researchers’ ability to understand how and why these large language models work, hindering progress on efforts to improve their robustness and mitigate known issues such as bias and toxicity.” - from [4]

"这种限制访问的做法,限制了研究人员了解这些大型语言模型如何以及为何起作用的能力,阻碍了提高其稳健性和缓解偏差与有害性等已知问题的工作进展"。- 摘自[4]

本概述|尽管最初强调的是专有技术,但 LLM 研究界慢慢开始创建 GPT-3 等流行语言模型的开源变体。虽然第一批开源语言模型落后于最好的专有模型,但它们为提高 LLM 研究的透明度奠定了基础,并促进了许多功能更强大的后续模型(如 Falcon [10] 和 LLaMA-2)(见注释1)的开发。
本概述是探索开源语言模型历史的三部曲之一。在这里,我们将了解这段历史的开端,包括创建开源语言模型的几次初步尝试。虽然这些模型在性能方面还有待改进,但了解它们却非常重要,因为随后的开源 LLM 革命完全是基于这些模型。在本系列的后面两个部分中,我们将进一步了解最近的开源 LLM,以及如何利用模仿(笔者注:A𝕀²·ℙarad𝕚gm范式中称之为“化身”微调)和对齐技术来提高它们的性能。

语言模型的机制

开源 LLM 研究促进了透明度和想法共享,为研究人员更快地开展合作和创新创造了环境。简而言之,开源 LLM 研究的魅力在于,它让我们有可能研究这些令人难以置信的模型,并深入了解它们的工作原理。在付费的应用程序接口(API)或黑盒子背后,并没有隐藏着不为人知的技巧。开源 LLM 允许我们查看代码、运行实验,甚至尝试我们自己的想法和修改权重参数-也就是说我们可以完全访问到底层的模型,而不仅仅只是API!
💡 “论文摘录”

“A much broader segment of the AI community needs access to these models in order to conduct reproducible research and collectively drive the field forward.” - from [4]

"人工智能界更广泛的群体需要获得这些模型,以便开展可重复的研究,共同推动这一领域向前发展"。- 摘自[4]

但是,要深入理解这类模型,我们首先需要了解其如何工作的基本原理。在本节中,我们将概述这些观点,试图提供对 LLM 的(相对)全面理解。

▩语言建模目标

“以语言建模为目标的预训练”


语言建模的核心是下一个标记(token)预测(也称为标准语言建模目标),几乎所有的语言模型都用它来训练。要使用下一个标记预测来训练语言模型,我们需要一个大型的原始文本语料库。使用该语料库,我们可以通过以下方式训练模型:i) 从数据集中抽取一些文本;ii) 训练模型预测下一个单词;见上图。由于下一个标记的基本事实总是可以从原始文本中推导出来,因此下一个标记预测是一种自监督学习。

什么是标记|我们可以粗略地将下一个标记预测看作是根据前面的几个词作为上下文预测序列中的下一个词。然而,这种类比并不完美,因为标记和单词并不完全等同。当语言模型接收到文本作为输入时,首先要对原始文本进行标记化( tokenized)(见注释2) (即转换成一连串离散的单词或词根);见下图。

“将原始文本转换为标记序列(squence of tokens)”

与语言模型相关联的标记符号生成器通常有一个固定大小的词汇表,或一组可从文本序列中创建的可行标记符号。

预测下一个标记|一旦创建了标记序列,语言模型就会有一个嵌入层,为标记化词库中的每个标记存储唯一的可学习向量嵌入。利用该嵌入层,我们可以将输入序列中的每个标记转换为相应的向量嵌入,从而形成一个标记向量序列;见下图。

“标记化和嵌入原始文本数据”

在为每个标记添加位置嵌入后,我们就可以将这一系列标记向量传递到decoder-only transformer中(后面会有更多解释),该transformer会变换(不是双关语)每个标记向量,并为每个标记生成相应的输出向量。值得注意的是,输出向量的数量与输入向量的数量相同;见下文。

“使用decoder-only的transformer处理标记tokens”

现在我们有了每个标记的输出表示,就可以进行下一个标记预测了!对于序列中的每个标记,我们只需获取其输出标记向量,并以此预测序列中的下一个标记!下图展示了这一过程。在实践中,为了最大限度地提高效率,我们会同时对序列中的所有标记(以及mini-batch中的所有序列!)计算下一个标记预测目标。

“计算下一个标记预测的训练目标”

由于使用了因果(或掩蔽masked)self-attention,每个输出标记向量在计算其表示时,只考虑当前标记和序列中在它之前的标记。如果我们使用双向self-attention,每个输出标记向量将通过查看整个向量序列来计算,这将允许模型作弊,通过复制序列中下一个标记来解决下一个标记预测问题。因此,下一个标记预测需要掩蔽(masked)self-attention。但是,什么是self-attention,更根本的是什么是transformer?让我们接下来深入探讨一下。

简要说明|语言模型 "这一短语有时会用来指专门进行下一个标记预测的模型之外的其他模型。例如,有些人认为 BERT [18] 是一种 "语言模型",但它是使用 Cloze 风格目标进行训练的,并不是一种生成模型。因此,专门从事下一个标记预测的语言模型通常被区分为 "因果 "语言模型。在这里,我们将交替使用这两个术语来指专门从事下一个标记预测的模型。

▩Transformer架构及其变体

“来自参考论文[17]”

所有语言模型都使用Transformer架构的某种变体。这种架构(如上图所示)最初是在 [17] 中提出的,用于解决序列到序列任务(见注释3)。不过,它后来被扩展用于解决各种不同的问题,从评估文本的语义相似性到图像分类。Transformer架构的最初形式有两个组成部分:

  • 编码器Encoder:每个区块执行双向自注意和点式前馈变换(见注释4),并通过残差连接(见注释5) 和层规范(LayerNorm)将其分开。
  • 解码器Decoder:每个区块执行因果自注意、交叉注意(即跨编码器和解码器标记的自注意)和点前馈变换,每个区块由残差连接和 LayerNorm 分隔。

当架构的两个组成部分都存在时,编码器处理输入序列并生成输出序列。然后,解码器将编码器的输出序列作为输入,生成自己的输出序列。换句话说,编码器处理整个输入序列,形成解码器在生成输出时用作上下文的表示。总的来说,Transformer将一个序列作为输入,并产生一个新的序列作为输出。

“来自参考论文[17]”

Decoder-only和Encoder-only Transformer|几乎所有的因果语言模型都使用Decoder-only Transformer作为底层架构,这只是一个去除了编码器部分的普通变换器;见上图。此外,由于缺少编码器,每个解码器模块的交叉注意部分也被移除(也就是说,我们无法对一个不存在的编码器产生注意力)!或者,我们也可以只使用编码器部分来组建一个纯编码器架构。纯编码器架构(如 BERT [18])在解决各种辨别性自然语言任务方面表现出色,但它们不能用于生成文本。要了解更多信息,请查看下面的链接。

Bert Overview:https://cameronrwolfe.substack.com/p/language-understanding-with-bert

为什么使用解码器|在 LLM 中选择使用纯解码器架构(而不是纯编码器或完整的编码器-解码器转换器)并不是任意的。相反,这种选择是由使用下一个标记预测来训练语言模型所驱动的。在解码器中使用掩蔽自注意力机制,可以确保模型在预测下一个标记时,不能在序列中向前看。否则,下一个标记预测将变得微不足道,因为模型可以简单地复制下一个标记;见下图。


“因果自注意力用于下一个标记预测”

为了在不作弊的情况下进行下一个标记预测,纯编码器转换器和编码器-解码器Transformer都必须避免在其输入序列中包含任何地面真实下一个标记。为此,我们可以 i) 接收一个前缀,ii) 预测该前缀后面的标记。然而,这种方法效率有点低,因为我们一次只能预测一个下一个标记。相比之下,纯解码器模型由于使用了掩码自注意,因此可以摄取整个标记序列,并对序列中的每个标记应用语言建模目标。此外,多篇论文[12]已经实际表明,纯解码器架构在下一个标记预测方面性能最佳。

我们如何生成文本|鉴于上述纯解码器的架构,文本的生成遵循一个简单的自回归(注释6) 过程。我们只需不断预测下一个标记,将该标记添加到输入中,然后重复;见下图。

“因果自注意力用于下一个标记预测”

训练与使用语言模型

为了完成对语言模型的理解,我们需要快速探索这些模型通常是如何训练和实际使用的。尽管在这一领域已经开展了大量研究,但大多数语言模型都是按照 [19] 中提出的几种标准技术进行训练的;见下图。

“LLM 训练内容-摘自论文[19]”

语言模型的学习方式多种多样。在这里,我们将重点讨论预训练、对齐和上下文学习,它们共同包含了训练 LLM 并将其用于实际应用所需的大部分内容。

预训练|预训练过程是创建 LLM 的第一步,也是计算量最大的一步。从随机初始化的 LLM 开始,我们必须使用语言建模目标,在从各种不同来源收集的大量原始文本语料库上训练这个模型。先前的研究[1]已经向我们表明,通过在大型数据集上预训练一个非常大的模型(即大量参数),我们可以获得一个基础模型,该模型可以通过执行下一个标记预测来准确解决各种不同的任务。为了获得最佳效果,我们需要在数据和模型规模两方面进行扩展。

我们还需要什么?只进行预训练的语言模型可能非常强大。请看 GPT-3 [1] 和 Chinchilla [15] 的几个例子。不过,在 ChatGPT 等模型提出之前,LLM 并没有大受欢迎,这是有原因的--仅仅进行下一个标记预测并不有趣。通常情况下,预测统计上正确的下一个标记虽然能生成合理的文本,但产生的输出是重复的、简单的,通常没有什么帮助。我们需要一些方法,让 LLM 制作出对我们人类更有帮助、更有趣的输出!

“摘自论文[19]”

对齐是指对 LLM 进行微调,使其更好地符合人类用户的愿望的过程。这主要通过两种技术来实现:监督微调(SFT)和/或人类反馈强化学习(RLHF)。LLM 的预期行为在很大程度上取决于其部署的环境或应用。不过,对齐是一种通用工具,可用于对 LLM 进行任意微调,使其按某种方式运行;见上图。最新研究表明,模型在对齐过程中不会学习新信息。相反,这个过程只是教会模型如何正确地格式化或呈现它在预训练过程中已经获得的知识。

在实践中使用 LLM|在对语言模型进行预训练和微调(或对齐)后,最后一步就是将模型专门化,以适应我们所需的应用。这一过程可能需要对特定领域的数据进行额外的微调。不过,并不总是有必要进行更多的训练,因为我们只需使用上下文学习就能完成很多工作;请参阅下图。

“摘自论文[1]”

简单地说,上下文学习(in-context learning)指的是使用单一的通用基础模型(如预先训练好的 LLM)来解决各种不同的问题。考虑到语言模型的通用文本到文本结构,这实际上很容易做到。我们只需要构建一个文本问题解决提示,作为 LLM 的输入即可;见下图。

“解决算术问题的提示不同变体“

然后,LLM 将生成问题的答案作为输出。因此,我们只需修改输入提示,就能解决许多不同的问题!为解决问题构建良好提示的过程被称为 "提示工程",我们在之前的文章中对这一理念进行了广泛的探讨:

  • 实用提示工程 [参见题记E02S01]

  • 高级提示工程 [参见题记E03S01]

开源LLM的初步尝试

考虑到预训练的费用,研究界花了一些时间才着手创建开源 LLM,导致 GPT-3 等专有模型成为标准。然而,一旦最初的几个模型被提出,闸门就打开了,开源 LLM 的研究进展迅速(几乎太快了)。我们将在这里了解一些早期模型,而更多最新的开源 LLM 将在本系列的未来部分介绍。
GPT-NeoX-20B [6]
最早的开源 LLM 之一-200 亿参数模型 GPT-NeoX-20B [6]--是由 EleutherAI 创建的。GPT-NeoX-20B 是在最初的 GPT-Neo 模型(27 亿参数)[22] 之后创建的,在 Pile 上进行了预训练,并在各种自然语言基准上实现了令人印象深刻的 few-shot学习性能(可与 GPT-3 相媲美)。虽然与 GPT-3 相比,该模型的规模较小(即 200 亿参数对 1750 亿参数),但它是当时发布的最大的开源语言模型。此外,用于训练和评估该模型的所有代码都在 Apache 2.0 许可下与权重一起发布,允许商业使用。

“摘自论文[8]”
模型|GPT-NeoX-20B [6] 采用标准的Decoder-only Transformer架构,但做了以下两处改动:
  • RoPE 嵌入
  • 并行注意力层和前馈层

在标准位置嵌入的基础上,RoPE 嵌入(如上图所示)提供了一种将位置信息注入Self-attention操作的新方法。这种方法能在绝对位置信息和相对位置信息之间找到更好的平衡,由于能提高长序列任务的性能,因此被用于其他多种模型(如 PaLM [9] 和 Falcon-40B [10])。此外,并行注意力层和前馈层(见下文)的使用,使训练吞吐量提高了 15%,而性能下降却很小。

“并行执行注意力层和前馈层”
有趣的是,GPT-NeoX-20B 还创建了一个自定义标记符。该Tokenizer与 GPT-2 [11]的类似,但它是在 Pile-一个大型且多样化的文本语料库-上从头开始训练的,并经过修改,以更一致地标记空白字符。因此,由此产生的Tokenizer除了在高质量的语料库中进行训练外,在标记化代码方面也特别有效(也就是说,代码中有大量的空白字符!)。因此,一些开源模型(如 MPT-7B [5])至今仍采用这种Tokenizer。

“摘自论文[6]”
性能|我们将 GPT-NeoX-20B 与 GPT-3 和其他开源模型(如 GPT-J)进行了比较。在这些评估中,我们发现 GPT-NeoX-20B 在普通语言建模任务中表现相当出色(即使与专有模型相比);见上图。值得注意的是,GPT-3 的性能往往最好。不过,GPT-NeoX-20B 相对于其规模而言表现相当出色,甚至超过了参数数量相似的专有模型。

“摘自论文[6]”
虽然 GPT-NeX-20B 的性能还不是最先进的,但就其模型参数规模而言,即使与最新机型相比,其性能也出奇地好!
开放式预训练转换器(OPT)语言模型 [4] 
[https://arxiv.org/abs/2205.01068]

“OPT 发布的组成”
在之前的概述中,我们深入讨论了开放式预训练Transformer(OPT)库的细节。请参见下面的链接。
OPT Overview:https://cameronrwolfe.substack.com/p/understanding-the-open-pre-trained-transformers-opt-library-193a29c14a15

OPT 是由 Meta AI(见注释7)提出的,其创建目的是为了让公众能够更方便地使用功能强大的 LLM,它由多个不同的 LLM 组成,参数大小从 1.25 亿到 1750 亿不等。这些模型是在 Reddit、the Pile 和 BooksCorpus 等来源的数据集上预先训练的,其中最大的模型--OPT-175B--是首批真正开源的大型语言模型之一。此外,这些模型还配有代码库,甚至还有一本日志,详细记录了所有模型的预训练过程。尽管 OPT 模型不能用于商业用途,但它们是一种令人难以置信的资源,对用于研究的 LLM 的开放性产生了重大影响。

影响|OPT 语言模型是向研究界提供大规模语言模型的首次大规模努力,现在任何人都可以完全使用 LLM,而不是隐藏在 API 之后。此外,OPT 的开源训练代码利用 FSDP 和张量并行等常用技术,提供了一个高效的训练框架。该代码的资源利用率比英伟达直接发布的研究成果高出 17%[3],是训练 LLM 的绝佳资源。

“摘自论文[5]”

与 OPT 相关的培训笔记和日志为了解 LLM 培训过程提供了大量(以前未知的)信息。从这些资源中,我们可以更好地了解训练 LLM 的全部成本,以及在这一过程中可能出现的诸多困难(例如,损失高峰、硬件故障和其他需要进行的 "飞行中途 "训练调整)。训练 LLM 的这些困难成为了人们谈论的话题,并在随后的开源 LLM 工作中得到了(大部分)解决;见上图。

“摘自论文[4]”

性能是否良好?|在提出 OPT-175B 模型时,我们曾将其与流行模型进行了广泛比较,发现其在零学习和少量学习环境下的性能与 GPT-3 相当;见上图。总体而言,OPT 的性能并不突出--人们普遍认为该模型在质量方面落后于专有模型。不过,尽管 OPT 的表现乏善可陈,但它却是人工智能研究的一大进步,极大地提升了人们对开源 LLM 的兴趣。这种影响不应被低估,因为它出现时,专有模型的主导地位已被接受为一种新标准。

BLOOM:开放式多语言语言模型 [12] 

[https://bigscience.huggingface.co/blog/bloom]

💡 “论文摘录”

“Academia, nonprofits and smaller companies' research labs find it difficult to create, study, or even use LLMs as only a few industrial labs with the necessary resources and exclusive rights can fully access them.” - from [12]

"学术界、非营利组织和较小公司的研究实验室发现很难创建、研究甚至使用 LLM,因为只有少数拥有必要资源和专有权的工业实验室才能完全使用 LLM"。- 摘自[12]

BLOOM 是在 [12] 中提出的一个 1760 亿参数的 LLM,它是人工智能研究人员大规模开放式合作(即有 1000 多名研究人员参与!)的一部分,名为 "大科学研究研讨会"(Big Science Research Workshop)。该研讨会历时一年(2021 年 5 月至 2022 年 5 月),其目标是创建 i) 大规模多语言文本数据集和 ii) 基于该数据集训练的大型多语言语言模型。该模型的规模略大于 GPT-3,并根据负责任的人工智能许可证(RAIL)开源,可生成 46 种不同语言(见注释8)和 13 种编程语言的文本。

语料库|为训练 BLOOM 而开发的数据集称为 ROOTS 语料库,由 498 个 HuggingFace 数据集组成,包含超过 1.6 TB 的文本,跨越 46 种自然语言和 13 种编程语言。该数据集在不同语言中的分布如下图所示。

“摘自论文[12]”

在获得原始数据后,作者会使用不同质量的过滤器来去除非自然语言文本。所使用的具体过滤组件(详见 [12] 第 3.1.3 节)会根据数据源的不同而有所变化。不过,整个流程都有一个共同的目标,那就是尽可能多地过滤掉低质量文本。

“摘自论文[12]”

架构|BLOOM 采用的结构是标准的Decoder-only Transformer。不过,如上图所示,该架构做了一些修改,例如

  • ALiBi [13]:这有助于模型泛化到比训练时更长的上下文长度。链接
  • 嵌入层规范:在模型的嵌入层之后放置一个额外的层规范,根据经验,这可以提高训练的稳定性。

总的来说,该模型与大多数 LLM 没有太大区别。有趣的是,[12] 中的作者对不同类型的Transformer架构(如纯编码器模型、编码器-解码器模型和纯解码器模型)进行了广泛的分析,发现纯解码器模型(几乎所有因果语言模型都使用)在预训练后达到了最佳性能。

💡 “论文摘录”

“Our results show that immediately after pre-training, causal decoder-only models performed best – validating the choice of state-of-the-art LLMs.” - from [12]

"我们的结果表明,在预训练之后,纯因果解码器模型表现最佳--验证了对最先进 LLM 的选择"。- 摘自[12]

它的性能好吗?与其他开源 LLM 相比,BLOOM 的表现相对较好。在自然语言基准测试中,它取得了与 OPT 相当甚至更好的成绩,而且由于它是在多语言语料库中训练出来的,因此在机器翻译任务中往往表现出色;见下图。

“摘自论文[12]”

然而,BLOOM 的性能低于顶级专有模型。例如,我们在 HumanEval 基准测试结果(如下图所示)中看到,该模型的编码能力远远不及 Codex [14]等其他模型。此外,当我们将 BLOOM 的性能与 Chinchilla [15] 和 PaLM [9] 等模型进行比较时,我们很快就会发现开源模型的性能不及专有模型。换句话说,在提出 BLOOM 时,开源 LLM 的研究仍处于落后状态。

“摘自论文[12]”

其他有名气的模型

我们试图涵盖开源 LLM 研究早期提出的几个著名模型。但是,本概述中还有一些未涉及的模型值得一提。让我们快速浏览一下其中的几种。

GPT-J [21]| 是在 GPT-NeoX-20B [6] 之前提出的一个 60 亿参数的纯英语因果语言模型。与 GPT-NeoX-20B 类似,该模型也在 Pile 上进行了预训练。在发布时,GPT-J-6B 是公开可用的最大的 GPT-3 风格语言模型。

“摘自论文[20]”

GLM [20] |更像是一个预训练目标,而不是一个语言模型。这项工作通过提出自回归空白填充目标,探索了统一不同预训练技术(如来自 BERT、T5 和 GPT 的技术)的想法。换句话说,我们以自回归的方式预测句子中的掩蔽词,类似于语言模型;见上图。由此产生的模型非常小(参数小于 10 亿),在几个流行的自然语言处理基准测试中,其性能优于 BERT、T5 和 GPT。

我们该何去何从?

“开源LLM研究的演变”

鉴于开源 LLM 最初的尝试所产生的模型性能远不如专有模型,我们有理由想知道:我们应该怎么做才能让这些模型变得更好?随着这一研究领域的发展,我们看到人们在两个主要领域投入了大量精力:

  • 创建更好的基础 LLM(见注释9)
  • 微调开源 LLM(即对齐和模仿)

鉴于开源 LLM 对每个人都开放,这些领域的研究进展令人震惊--从 OPT 到接近最先进的模型(如 LLaMA-2 或 Falcon-40B [10]),我们只用了不到一年的时间!

💡 “论文摘录”

“We argue that the highest leverage action for improving open-source models is to tackle the difficult challenge of developing better base LMs” - from [16]

"我们认为,改进开放源码模型的最高杠杆行动是应对开发更好的基础 LM 这一艰巨挑战"--摘自 [16]

在本文我们同时探索了上述两个研究方向,每个方向都为人工智能从业人员开发了有用的技术。在本综述报告的后两部分中,我们将分别概述这两个领域及其各自的主要贡献,探讨最初的开源 LLM 尝试是如何发展成为 LLaMA-2 这样能力超强的模型的。

Bibliography


[1] Brown, Tom, et al. "Language models are few-shot learners." Advances in neural information processing systems 33 (2020): 1877-1901.

[2] Rae, Jack W., et al. "Scaling language models: Methods, analysis & insights from training gopher." arXiv preprint arXiv:2112.11446 (2021).

[3] Smith, Shaden, et al. "Using deepspeed and megatron to train megatron-turing nlg 530b, a large-scale generative language model." arXiv preprint arXiv:2201.11990 (2022).

[4] Zhang, Susan, et al. “OPT: Open Pre-trained Transformer Language Models.” arXiv preprint arXiv:2205.01068 (2022).

[5] “Introducing MPT-7B: A New Standard for Open-Source, Commercially Usable Llms.” MosaicML, 5 May 2023, www.mosaicml.com/blog/mpt-7b.

[6] Black, Sid, et al. "Gpt-neox-20b: An open-source autoregressive language model." arXiv preprint arXiv:2204.06745 (2022).

[7] Gao, Leo, et al. "The pile: An 800gb dataset of diverse text for language modeling." arXiv preprint arXiv:2101.00027 (2020).

[8] Su, Jianlin, et al. "Roformer: Enhanced transformer with rotary position embedding." arXiv preprint arXiv:2104.09864 (2021).

[9] Chowdhery, Aakanksha, et al. "Palm: Scaling language modeling with pathways." arXiv preprint arXiv:2204.02311 (2022).

[10] “Introducing Falcon LLM”, Technology Innovation Institute, 7 June 2023, https://falconllm.tii.ae/.

[11] Radford, Alec, et al. "Language Models are Unsupervised Multitask Learners."

[12] Scao, Teven Le, et al. "Bloom: A 176b-parameter open-access multilingual language model." arXiv preprint arXiv:2211.05100 (2022).

[13] Press, Ofir, Noah A. Smith, and Mike Lewis. "Train short, test long: Attention with linear biases enables input length extrapolation." arXiv preprint arXiv:2108.12409 (2021).

[14] Chen, Mark, et al. "Evaluating large language models trained on code." arXiv preprint arXiv:2107.03374 (2021).

[15] Hoffmann, Jordan, et al. "Training compute-optimal large language models." arXiv preprint arXiv:2203.15556 (2022).

[16] Gudibande, Arnav, et al. "The false promise of imitating proprietary llms." arXiv preprint arXiv:2305.15717 (2023).

[17] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017).

[18] Devlin, Jacob, et al. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018).

[19] Ouyang, Long, et al. "Training language models to follow instructions with human feedback." Advances in Neural Information Processing Systems 35 (2022): 27730-27744.

[20] Du, Zhengxiao, et al. "Glm: General language model pretraining with autoregressive blank infilling." arXiv preprint arXiv:2103.10360 (2021).

[21] Ben Wang and Aran Komatsuzaki. GPT-J-6B: A 6 billion parameter autoregressive language model, 2021.

[22] Sid Black, Leo Gao, Phil Wang, Connor Leahy, and Stella Biderman. 2021. GPT-Neo: Large scale autoregressive language modeling with MeshTensorflow.

▩原文注释
1:LaMA-2 was proposed just last week, and it has officially dethroned Falcon-40B as the state-of-the-art for open-source LLMs. More to come in part two of this series!
2:The most common tokenization technique used for LLMs currently is Byte-Pair Encoding tokenization. Read more about how it works here.
3:These are tasks that take a sequence as input and produce a sequence as output, such as language translation or text summarization.
4:This just means that the same feed-forward transformation is separately applied to the embedding of every token vector within the input sequence.
5:A residual connection just means that we add a module’s input value to its output. In other words, if a module performs an operation given by the function f(x), this same operation with a residual connection would have the form g(x) = f(x) + x.
6:This words just means that, given a starting input sequence, we sequentially i) generate an output, ii) add this output to our input sequence, and iii) repeat.
7:Following the proposal of OPT, Meta AI has continued to be a major contributor to open-source LLM research. Their research has led to a variety of models like OPT-IML, LLaMa, LIMA, LLaMA-2, and more.
8:For nearly all of these languages (e.g., Spanish, French and Arabic), BLOOM is the first language model with >100B parameters to be trained on the language.
9:Even work on fine-tuning open-source LLMs heavily emphasizes the value of creating better base LLMs. Improvements to the base LLM yield benefits after fine-tuning too!

附录


💡 A𝕀²·ℙarad𝕚gm-Intelligence as a Service v1~v4范式迭代简介

AI范儿A𝕀²·ℙarad𝕚g𝕞从V1到V4的迭代,是一种全新的尝试,基本是沿着:“从GPT现象·看Prompt本质·找创投应用方向“这样的路径,在“AI范儿”社区一众群友prompt下共创并逐步思考迭代的过程。当前v4.0版本涵盖如下内容:1*整体框架与范式路径:(human level)Intelligence as a Service整体框架,与炼丹、挖矿、化身、具生4原生商业范式迭代路径2*服务路径:模型原生(models native)服务路径与卖铲子(shovels selling)服务路径

3*智能发展路径:通用人工智能(AGI)发展路径、面向个人智能伴侣(PIA)发展路径以及硅基原生(Silicon Stack)智能发展路径

范式思维升级:v4版A𝕀²·ℙarad𝕚gm范式框架一个重大升级就是思维范式的变化,研究对象从GPT现象上升到智能现象,同时纳入了和人类及其组织智能对等的硅基原生智能及其生态,甚至在具有某种自主意识的AI智能体“具生”范式里,考虑在world of bits的纯数字世界里,和人类无关的agent形态。对等智能体分别为Human Intelligence Species(含群体组织)与 Silicon Native Entities(含群体生态),区别为human是否in loop。因此对等智能体之间的价值交互可分为:
  • AI对于人类智能的增强
  • AI对于人类智能的替代
  • AI智能本体的自主化

四个GPT原生范式:及其对应的工程范式,版本迭代路径以及商业范式;并对每个原生范式的未来对应发展路径做了一一对应,具生范式是终极商业范式。

▩炼丹(pre-training) (v1. AIGC) - tokens as a service [~AGI/ASI]

▩挖矿(prompting) (v1. AIGC) - prompts as a service [~GPT agents]

▩化身(fine-tuning) (v2&v4. Models Anywhere&Anyone) - models as a service [~in-devices&on-premises agents]

▩具生(agents) (v3&v4. Promptless) - agents as a service [~world of atoms&bits | human in loop & Silicon Native Entities]
△附:A𝕀²·ℙarad𝕚gm-Intelligence as a Service v1-v4范式迭代路径简介版
▩A𝕀²·ℙarad𝕚g𝕞整体框架示意图
说明:转发传播请注明出处,A𝕀²·ℙarad𝕚gm-Intelligence as a Service商业范式研究框架版权归AI范儿CPO所有。

“AI范儿的A𝕀²·ℙarad𝕚gm商业范式v4.0示意图”


进阶阅读


进阶阅读


卡梅隆博士系列E01S01:提示工程-CoT思维链实现LLM推理


卡梅隆博士系列E02S01:提示工程-实用提示工程建议与技巧


卡梅隆博士系列E03S01:提示工程-高级提示工程超越few-shot


卡梅隆博士系列E04S01:提示工程-提示合奏使LLM更可靠




参考

说明:本文在公众号里标注为“原创”仅为防止未经许可的转发,本文引用内容的版权属于原作者和原媒体。

-CAMERON R. WOLFE:The History of Open-Source LLMs: Early Days (Part One)

https://cameronrwolfe.substack.com/p/the-history-of-open-source-llms-early


END


扫码加群,

立变AI🍚!


AI范儿读者群


👇关注、标星哦~

那些prompt了我的,

是否也prompt了你...


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存