大语言模型技术概述

近几年,大语言模型的发展十分迅速。尤其是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

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

Untitled

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

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