近几年,大语言模型的发展十分迅速。尤其是ChatGPT发布之后,大家发现大语言模型的能力已经超出传统意义的算法能力。然而,即使是GPT-4这样的模型,也不是突然出现的。它也属于当前大语言模型中的一类,也是一种transformer架构的语言模型。
本轮大语言模型的技术起点可以从Google发布的BERT开始算起。此前,最好的语言模型属于RNN一类,但是,由于RNN模型需要按次序处理输入数据,因此并行能力不够,计算成本很高。尽管在翻译领域效果很好,但是RNN也没有取得更好的突破。
BERT是一种Transformer类的模型,它的出现,让语言模型突破了原有的限制,可以以更快的速度运行,并且可以记住更长久的输入数据。
RNN模型和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 |
显然自回归语言模型在最近发布的模型中都是十分流行的。前面的图中对这几类模型做了很好的总结,我们再看一眼这个图:
首先红色的分支是指Encoder-Only技术,最早是BERT模型,显然,到了2020年之后,这类技术基本已经不再发展。中间绿色部分是Encoder-Decoder类型,近几年似乎也就是Google坚持这类路线的模型较多。
Encoder-Decoder模型相比Encoder-Only模型,通常具有更强的序列学习和生成能力,尤其擅长实现输入序列到输出序列的结构映射,所以在机器翻译、文摘生成和聊天机器人等任务上有更好的应用前景。但Encoder-Only的模型结构简单, training 和inference 速度更快,在一些简单分类或标注任务上也具有优势。