以小25倍参数量媲美GPT-3的检索增强自回归语言模型:RETRO

©NLP论文解读 原创•作者 | 吴雪梦Shinemon

研究方向 | 计算机视觉

导读说明:

一个具有良好性能的语言模型,一定量的数据样本必不可少。现有的各种语言模型中,例如GPT3具有1750亿的参数量,前不久发布的源1.0单体模型参数量达2457亿,DeepMind团队一起新发布的语言模型Gopher[1]也具有2800亿参数量,更有巨无霸模型MT-NLP参数量高达5300亿(如图2所示)!

为了获得更高的性能,同时增加了如此庞大的数据量,从最初的万级,到达现在的千亿级,这种方式虽有效,但是难免会有如数据集难理解、增加模型偏差等一系列问题。

为了解决如此庞大数据量带来的困扰,DeepMind团队研发一种带有互联网规模检索的高效预训练模型,RETRO(Retrieval-Enhanced Transformer )模型,打破了模型越大准确度越高的假设。

论文解读:

Improving language models by retrieving from trillions of tokens

论文地址:

https://arxiv.org/pdf/2112.04426.pdf

研发团队:

图1. RETRO模型研发团队

Fig1. Research Team of RETRO

01 研究背景

近年来,通过增加Transformer模型中的参数数量,自回归语言建模的性能得到了显著提高。

这也导致了训练成本的增加,并产生了具有千亿个参数的密集大型语言模型;同时,为了方便这些模型的训练,收集了大量的数据集,其中包含了数万亿的单词,详情如图2所示。

为减少计算量,论文作者探索了改进语言模型的另一种途径:通过检索包括网页、书籍、新闻和代码在内的文本段落数据库来增强检索,生成了一种新的语言模型RETRO。

RETRO模型利用从大型语料库中检索到的文档块,基于与前面标记的局部相似性来增强自回归语言模型。该模型可以从零开始训练,也可以快速改装带检索的预训练Transformer,仍然取得良好的性能。

图2. 语言模型参数量[2]

Fig2. Size of Language Model

02 RETRO模型

RETRO模型使用一个基于 MassiveText 多语言数据集的2万亿token数据库,数据库由一个键值内存(key-value memory)组成,每个值由两个连续的标记块( neighbour chunk:用于计算 key;its continuation:原文件文本的延续)组成,长度为64 token。

在数据库进行查找时,模型利用嵌入算子BERT句子嵌入来预先计算所有近似最近邻,并将结果保存为数据(RETRO 输入)的一部分。

RETRO模型架构由一个编码器堆栈(处理近邻)和一个解码器堆栈(处理输入)组成,如下图3所示。

编码器堆栈由标准的 Transformer 编码器块组成;解码器堆栈包含了Transformer解码器块和RETRO 解码器块(ATTN + Chunked cross attention (CCA) + FFNN)。

图3. RETRO架构编码器与解码器[3]

Fig3. Encoder and Decoder of RETRO

编码器堆栈会处理检索到的近邻,并生成键值矩阵;Transformer解码器块处理输入文本,它对提示token应用自注意力,然后通过FFNN层;到达RETRO解码器时,进行合并检索到的信息。

在RETRO解码器中应用分块交叉注意力机制(Chunked cross-attention)[4],这样模型就可以同时利用输入的提示信息和记忆信息来完成布置的各种NLP任务,结构如图4所示。

图4. 高层次的RETRO架构

Fig4. A high-level overview of RETRO

这一新式架构为我们的模型预测都带来什么呢?简言之就是将语言事实信息从世界知识信息中分离开来。

我们知道,为了保存住训练数据中的信息,各类大型语言模型将它们所知道的一切都部署并编码到模型参数中,但是对于事实信息是无效的。

当使用这种基于检索的框架后,语言模型可以缩小很多,模型的参数量很小就可以包含更多的文本信息,模型运行的速度也有很大的提升,同时模型的可解释性也能有很大的提高。

在文本生成过程中,神经数据库就能帮助模型检索它需要的事实信息,并能根据具体需要进行调整。

关于Chunked cross-attention(CCA)块详细内容见下图5右图,推导过程请见原论文。

图5. RETRO语言框架

Fig5. RETRO Architecture

03 解决数据泄露问题

在现阶段模型发展中,几乎所有的语言模型都存在数据泄露这个问题,更为关键的是,在检索增强的语言模型中褎然举首,因为检索的过程就能直接访问训练集。

为此论文作者提出了一种衡量测试文档与训练集接近程度的评估方式,解决了测试集数据泄漏的问题[5]。

使用这种方法实验后结果表明,提升RETRO性能来自显式近邻复制(explicit neighbor copying)和通用知识提取(general knowledge extraction),评估测试文档和训练数据集之间重叠函数如下图6,具体推导详情及评估指标请见原论文。

图6. 重叠函数

Fig6. Function of the Overlap

04 模型间对比分析

在RETRO之前就有许多优秀检索方法模型,如REALM、FID和KNN-LM等。

RETRO与KNN-LM和DPR共享组件,因为它使用Frozen检索表示;与FID类似,RETRO在编码器中分别处理检索到的近邻,并将它们组合在分块交叉注意力机制中;使用块可以在生成序列的同时重复检索,而不是根据提示信息只检索一次;

此外,RETRO检索是在整个训练前的过程中完成的,而不是简单地为解决某个下游任务而插入其中,RETRO与现有方法的详细区别如图7所示。

图7. RETRO与其他检索方法对比

Fig7. Comparison of Retro with existing retrieval approaches

05 RETRO模型实验结果

论文作者在C4 (Colossal Clean Crawled Corpus,web爬行语料库,数据经过清理)、Wikitext103 (超过 1 亿个语句的数据)、Curation Corpus (新闻文章摘要数据集)、Lambada (叙述性段落)和Pile (825GB,开源)数据集和一组手动选择的维基百科文章上评估了RETRO模型,并评估了整个文档的语言建模性能,测量了字节位数(bpb)。

如图8所示评估结果,每种数据集评估详情请见原论文。

图8. RETRO评估结果

Fig8. Evaluation Results of RETRO

在只使用4%的参数量的基础上,RETRO模型获得了与Gopher和 Jurassic-1 模型相当的性能,在大多数测试集上表现优异。

在Wikitext103上,RETRO的表现优于以前在大规模数据集上训练的模型,并且在检索密集型下游任务(如Q&A任务)上具有竞争力。

图9. RETRO评估结果Ⅱ

Fig9. Evaluation Results of RETRO Ⅱ

06 小结

● 检索记忆机制:RETRO不仅利用当下的知识,还会利用到记忆检索这一机制;

● 半参数化方法:不需要增加模型的大小和训练更多的数据,而让模型在执行预测时能够直接访问大型数据库;

● 应用在块水平上的BERT句子嵌入检索器;

● 应用基于查询条件的可微编码器:可根据实际需要自行调整;

● 与之前的块检索集进行分块交叉注意力机制;

● 无测试集数据泄漏的问题;

● 消融结果显示检索对任务大有帮助。

07 未来展望

Transformer体系结构已经在许多NLP任务上提高了技术水平。然而这些性能改进依赖于大规模的扩展,从而导致了大量的内存和计算负担。

但RETRO模型及OpenAI的WebGPT [6]可以证明,一味增大模型并不是提升性能的唯一路径。

现如今,对信息的获取是无止境的,对于我们人类来说,搜索网络和分析给定的信息比记住所有的东西要直观得多,那么为什么模型不能做同样的事情呢?这项工作为通过前所未有的记忆检索来改进语言模型开辟了一条新的途径。

未来是否为一大趋势呢?Days will tell you. 请期待......

参考文献

[1] Scaling Language Models: Methods, Analysis& Insights from Training Gopher,arXiv:2112. 04426v1,2021

[2] https://developer.nvidia.com/blog/using-deepspeed-and-megatron-to-train-megatron-turing-nlg-530b-the-worlds-largest-and-most-powerful-generative-language-model

[3] http://jalammar.github.io/illustrated-retrieval-transformer

[4] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. u. Kaiser, and I. Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems, 2017.

[5] K. Lee, D. Ippolito, A. Nystrom, C. Zhang, D. Eck, C. Callison-Burch, and N. Carlini. Deduplicating training data makes language models better. arXiv preprint arXiv:2107.06499, 2021.

https://arxiv.org/pdf/2112.09332.pdf

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容