AI干货|大语言模型:模型分类[疯语咒AI]

AI干货|大语言模型:模型分类[疯语咒AI]

一、概述

近几年,大语言模型的发展十分迅速。尤其是ChatGPT发布之后,大家发现大语言模型的能力已经超出传统意义的算法能力。然而,即使是GPT-4这样的模型,也不是突然出现的。它也属于当前大语言模型中的一类,也是一种transformer架构的语言模型。

本轮大语言模型的技术起点可以从Google发布的BERT开始算起。此前,最好的语言模型属于RNN一类,但是,由于RNN模型需要按次序处理输入数据,因此并行能力不够,计算成本很高。尽管在翻译领域效果很好,但是RNN也没有取得更好的突破。

BERT是一种Transformer类的模型,它的出现,让语言模型突破了原有的限制,可以以更快的速度运行,并且可以记住更长久的输入数据。

RNN模型和Transformer模型都是神经网络中的序列模型,用于处理序列数据,比如自然语言。但是它们在结构和原理上有很大的不同。主要区别如下:

  1. 结构不同:RNN是循环神经网络,通过循环连接实现序列建模,信息是按时间步串行通过的。Transformer是Encoder-Decoder结构的Attention模型,完全基于Attention机制建模序列,信息是通过Attention并行传递的。
  2. 依赖范围不同:RNN的循环结构决定了其只能捕获较短序列的依赖关系,较长依赖比较难建模。而Transformer的Attention可以学习更长距离的依赖关系。
  3. 计算复杂度不同:RNN的序列运算是线性的,计算复杂度较低。而Transformer的Attention机制是二次的,计算复杂度较高,这使得Transformer模型比较难以训练。
  4. 信息流动不同:在RNN中,信息总是按时间步顺序流动。而在Transformer中,信息是通过Attention矩阵并行传播的。
  5. 训练方法不同:RNN通常采用 Truncated BPTT方法训练,而Transformer可以采用标准的反向传播算法训练。

总的来说,RNN和Transformer都属于序列建模模型,但在模型结构、序列依赖建模、信息流动方式以及训练方法等方面都存在很大差异。

Transformer相比RNN具有更长依赖建模的能力和更高的计算复杂度。在许多任务中,Transformer已经取代RNN成为主流的序列建模方法,特别是在机器翻译、语言模型和文本生成等领域。但在其他一些任务中,RNN仍具有优势,如音频和时间序列建模。

但是,BERT属于一种Encoder-Decoder类架构的Transformer模型,虽然它出现很早,但是当前领域以GPT系列为代表的模型则是Decoder-Only架构。类似BERT这种架构的技术已经基本消失。而本文主要总结不同类型的Transformer架构的区别。

二、分类

首先,我们可以将LLM分成2类:Encoder-Decoder(或者Encoder-Only)和Decoder-Only。它们的技术特点和模型代表如下:

模型训练类别预训练模型代表
Encoder-Decoder或者 Encoder-Only(BERT样式)Masked判别式(Discriminative)预测masked单词ELMo, BERT, RoBERTa, DistilBERT, BioBERT, XLM, Xlnet, ALBERT, ELECTRA, T5, XLM-E, ST-MoE, AlexaTM
Decoder-Only (GPT样式)自回归生成式(Generative)预测下一个单词GPT-3, OPT,PaLM, BLOOM, GLM, MT-NLG, GLaM,Gopher, chinchilla, LaMDA, GPT-J, LLaMA, GPT-4, BloombergGPT

显然自回归语言模型在最近发布的模型中都是十分流行的。前面的图中对这几类模型做了很好的总结,我们再看一眼这个图:

AI干货|大语言模型:模型分类[疯语咒AI]

首先红色的分支是指Encoder-Only技术,最早是BERT模型,显然,到了2020年之后,这类技术基本已经不再发展。中间绿色部分是Encoder-Decoder类型,近几年似乎也就是Google坚持这类路线的模型较多。

Encoder-Decoder模型相比Encoder-Only模型,通常具有更强的序列学习和生成能力,尤其擅长实现输入序列到输出序列的结构映射,所以在机器翻译、文摘生成和聊天机器人等任务上有更好的应用前景。但Encoder-Only的模型结构简单, training 和inference 速度更快,在一些简单分类或标注任务上也具有优势。

最后一类是Decoder-Only类型,也是最繁荣发展的一类transformer模型。最早是GPT-1提出,此后包括MetaAI、百度、Google、OpenAI、EleutherAI等公司都提出了这种架构的模型。

Decoder-only模型仅具有解码器部分,没有编码器部分。Decoder-only模型相比Encoder-Decoder模型有以下主要优势:

  1. 结构简单,训练和推理速度快。由于没有Encoder部分,整个模型的参数和运算量都减少了一半以上,这使得Decoder-only模型训练和部署起来更加高效。
  2. 适用于纯生成任务。Decoder-only模型专注于生成输出序列,而不需要考虑编码输入信息的问题,所以更适用于如文本生成、情节生成和对话生成等纯生成任务。
  3. 避免了Encoder-Decoder训练中的一些难点。仅训练一个Decoder可以避免诸如不同权重初始化、信息瓶颈等 Encoder-Decoder训练过程中的一些难题。
  4. Decoder自我监督。在Decoder-only模型的训练中,上一步生成的输出作为下一步的输入,这实现了Decoder部分的自我监督,有利于生成更为连贯和结构性的输出序列。

三、现状总结

根据上图,原论文也给出了一些大语言模型技术的总结:

  • Decoder-Only模型已经逐渐主导了LLM的发展。在LLM开发的早期阶段,Decoder-Only模型不如Encoder-Decoder(或者Encoder-Only)型流行。然而,2021年后,随着GPT-3的发布,Decoder-Only模型经历了一次显著的繁荣。与此同时,在BERT带来的最初爆炸性增长之后,Encoder-Only的模型逐渐开始消失。
  • OpenAI持续保持其在LLM领域的领导地位,无论是目前还是未来。其他公司和机构正在努力追赶OpenAI,开发与GPT-3和当前GPT-4相当的模型。
  • Meta为开源LLM做出了重大贡献,并促进了LLM的研究。当考虑对开源社区的贡献,特别是与LLM相关的贡献时,Meta是最慷慨的商业公司之一,因为Meta开发的所有LLM都是开源的
  • LLM呈现出越来越封闭的趋势。在LLM开发的早期阶段(2020年之前),大多数模型都是开源的。然而,随着GPT-3的推出,公司越来越多地选择关闭其模型的来源,如PaLM、LaMDA和GPT-4。因此,学术研究人员对LLM训练进行实验变得更加困难。因此,基于API的研究可能成为学术界的主导方法。
  • Encoder-Decoder模型仍然很有前景,因为这种类型的架构仍在积极探索中,而且大多数都是开源的。谷歌在开源Encoder-Decoder架构方面做出了巨大贡献。然而,Encoder-Only模型的灵活性和多功能性可能不够,似乎使谷歌在这一方向上的坚持不那么有希望。

四、使用的三类数据总结

除了上述几类不同的transformer架构外,大语言模型使用的数据也大致可以分为三类:预训练数据、微调数据和测试(用户)数据。最后一种就是实际应用的数据了。

1、预训练数据

预训练数据在大型语言模型的开发中起着关键作用。作为LLM卓越能力的基础,预训练数据的质量、数量和多样性显著影响LLM的性能。常用的预训练数据由无数的文本源组成,包括书籍、文章和网站。这些数据经过精心策划,以确保全面反映人类知识、语言细微差别和文化观点。预训练数据通常是大规模的数据集,包含丰富的特征和样本。

预训练数据的重要性在于它能够为语言模型提供对单词知识、语法、语法和语义的丰富理解,以及识别上下文和生成连贯响应的能力。预训练数据的多样性在塑造模型性能方面也起着至关重要的作用,LLM的选择在很大程度上取决于预训练数据中的成分。例如,PaLM和BLOOM擅长多语言任务和机器翻译,拥有丰富的多语言预训练数据。此外,通过结合大量的社交媒体对话和图书语料库,PaLM在问答任务中的表现得到了增强。同样,GPT-3.5(code-davinci-002)的代码执行和代码完成能力也通过在其预训练数据集中集成代码数据而得到增强。

预训练数据目前有很多,下表给了2个最常见的大规模的预训练数据集:

数据集大小简介链接
RedPajama1.2万亿tokensTOGETHER最新开源的数据,用以复现LLaMA模型用https://link.zhihu.com/?target=https%3A//github.com/togethercomputer/RedPajama-Data
The Pile800 GB2020年发布的22个不同的高质量数据集https://arxiv.org/abs/2101.00027

2、微调数据

微调数据则是与下游任务更相关的数据集,样本规模较小。为下游任务部署时,通常需要考虑三个场景:zero-shot微调、few-shot微调和丰富数据的微调。主要是指是否包含下游任务数据的标注结果。如果没有标注数据,那么就是zero-shot微调,如果有少量的标注数据,则是few-shot微调。

(0)
上一篇 2023年9月18日 下午2:24
下一篇 2023年9月19日 上午9:28

更多相关内容

开始你的AI探索之旅,开启无限可能,学习AI道路上我们一起前进。