谷歌NLP新模型「大鸟」突破BERT限制,稀疏注意力机制更省内存

简介: 最近Google又发了一个NLP模型,名字也很喜感Big Bird!这只大鸟在长文本任务中能胜过BERT,它有哪些独特之处呢?

微信图片_20220109141451.png


谷歌最近又推出了一个重磅的稀疏注意力模型:Big Bird。
 之前各种刷榜的BERT和它的各种衍生版本RoBERTa等,都是构建在Transformer基础上。 这些模型的核心竞争力就是全注意力机制,但这种机制会产生序列长度的二次依赖,如果输入的token过长,会撑爆内存,而长文本摘要等任务中,BERT的512token,就显得有点捉襟见肘。  


二次依赖限制了BERT


BERT中token的长度一般设置为512,这对普通的NLP任务来说足够了,但是想对一整篇文章或者一本书进行信息挖掘,也就是长文本任务,512的长度就有点短,把token长度变为1024的话,所需的计算量就会变成原来的4倍,对内存是很伤的。       


微信图片_20220109141454.png    

如果能把这个n^2的复杂度降下来,那么就能实现一个长距的上下文注意力机制,而不会把内存撑爆,这就是Big Bird要做的事。      


微信图片_20220109141456.png      

 谷歌团队解决这个问题的方法,是引入一种全新的稀疏注意力机制:Big Bird。


谷歌「大鸟」:稀疏注意力机制更省内存


Big Bird相对于传统的全注意力机制来说变的更稀疏,作为更长序列上的Transformer,Big Bird不仅能注意到更长的上下文信息,还将计算的二次依赖降低到了线性。 我们来看下Big Bird是如何构建的。

     微信图片_20220109141457.png


图(a)表示r=2的随机注意力机制,图(b)表示w=3的局部注意力机制,图(c)表示g=2的全局注意力机制,图(d)是三者加起来的Big Bird模型。 


图中空白的部分表示没有注意,有颜色的部分才能得到关注,有点像dropout的选择性丢弃。 注意的部分减少了,性能会不会打折扣,我们来看下实验结果。 


实验:三种注意力机制结合效果最好


只采用随机注意力机制、局部注意力机制,或者两者融合起来,都没有三者合体的效果好。 Global+R+W在MLM任务上超过了BERT-base,在SQuAD和MNLI任务上接近了BERT-base,但是考虑到内存上节省了很多资源,还是有其实用价值。


      微信图片_20220109141459.png      


使用基础的模型,在HotpotQA、Natural QA、 TriviaQA和WikiHop四个问答任务上进行了测试,结果表明Big Bird均超越了RoBERTa和Longformer。 


微信图片_20220109141501.png


在长文本摘要中,Big Bird也是表现出了很好的潜力,在Arxiv,PubMed,BigPatent上均取得了最好成绩。


微信图片_20220109141503.png


使用这些数据集,因为它们都是长文档,输入不仅仅是512个token,更容易对比长文本的特征提取能力和模型的总体性能。 reddit上有网友对Big Bird提出了质疑认为Big Bird只是另一种Longformer,没有什么本质创新。

        微信图片_20220109141505.png      

有网友说,最近爆火的GPT-3也用了稀疏注意力机制,但是因为OpenAI的blocksparse太久没更新了,所以不知道二者有没有内在的相似性。      


微信图片_20220109141507.png  

谷歌发表的一些研究,之前也有人提出过类似的,但只有谷歌发出来,才能得到广泛的关注,进大厂发论文的概率还是高啊。


期待Big Bird给NLP任务带来新的惊喜!

相关文章
|
人工智能 自然语言处理
Promptriever:信息检索模型,支持自然语言提示响应用户搜索需求
Promptriever 是一种新型信息检索模型,由约翰斯·霍普金斯大学和 Samaya AI 联合推出。该模型能够接受自然语言提示,并以直观的方式响应用户的搜索需求。通过在 MS MARCO 数据集上的训练,Promptriever 在标准检索任务上表现出色,能够更有效地遵循详细指令,提高查询的鲁棒性和检索性能。
286 6
Promptriever:信息检索模型,支持自然语言提示响应用户搜索需求
|
机器学习/深度学习 自然语言处理 语音技术
探索深度学习中的Transformer模型及其在自然语言处理中的应用
探索深度学习中的Transformer模型及其在自然语言处理中的应用
673 5
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
634 1
|
机器学习/深度学习 自然语言处理 PyTorch
从零开始构建nlp情感分析模型!
本教程介绍了如何使用PyTorch和Hugging Face的Transformers库构建一个情感分析模型。主要内容包括导入所需库、读取训练数据集、加载预训练的BERT模型和分词器、定义情感数据集类、划分训练集和验证集、创建数据加载器、设置训练参数、训练模型、评估模型性能以及定义和测试预测函数。通过这些步骤,可以实现一个简单而有效的情感分析模型。
1134 2
|
机器学习/深度学习 人工智能 自然语言处理
【大语言模型-论文精读】谷歌-BERT:用于语言理解的预训练深度双向Transformers
【大语言模型-论文精读】谷歌-BERT:用于语言理解的预训练深度双向Transformers
|
机器学习/深度学习 自然语言处理 并行计算
探索深度学习中的Transformer模型及其在自然语言处理中的应用
【10月更文挑战第6天】探索深度学习中的Transformer模型及其在自然语言处理中的应用
827 0
|
机器学习/深度学习 自然语言处理 异构计算
【NLP自然语言处理】初识深度学习模型Transformer
【NLP自然语言处理】初识深度学习模型Transformer
|
3月前
|
机器学习/深度学习 数据采集 人工智能
35_BERT与RoBERTa:优化编码器模型
2018年,Google发布的BERT(Bidirectional Encoder Representations from Transformers)模型彻底改变了自然语言处理领域的格局。作为第一个真正意义上的双向预训练语言模型,BERT通过创新的掩码语言模型(Masked Language Model, MLM)预训练策略,使模型能够同时从左右两侧的上下文信息中学习语言表示,从而在多项NLP任务上取得了突破性进展。
|
7月前
|
存储 机器学习/深度学习 自然语言处理
避坑指南:PAI-DLC分布式训练BERT模型的3大性能优化策略
本文基于电商搜索场景下的BERT-Large模型训练优化实践,针对数据供给、通信效率与计算资源利用率三大瓶颈,提出异步IO流水线、梯度压缩+拓扑感知、算子融合+混合精度等策略。实测在128卡V100集群上训练速度提升3.2倍,GPU利用率提升至89.3%,训练成本降低70%。适用于大规模分布式深度学习任务的性能调优。
376 3

热门文章

最新文章