谷歌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任务带来新的惊喜!

相关文章
|
机器学习/深度学习 数据采集 人工智能
35_BERT与RoBERTa:优化编码器模型
2018年,Google发布的BERT(Bidirectional Encoder Representations from Transformers)模型彻底改变了自然语言处理领域的格局。作为第一个真正意义上的双向预训练语言模型,BERT通过创新的掩码语言模型(Masked Language Model, MLM)预训练策略,使模型能够同时从左右两侧的上下文信息中学习语言表示,从而在多项NLP任务上取得了突破性进展。
884 0
|
数据采集 编解码 人工智能
Gemma 3n正式版开源:谷歌全新端侧多模态大模型,2GB 内存就能跑,重点提升编码和推理能力!
6月底,Google正式开源发布了全新端侧多模态大模型 Gemma 3n!相较此前的预览版,最新的 Gemma 3n 完整版进一步提升性能表现,支持在 2GB 内存的硬件上本地运行,重点提升了编码和推理方面的能力。
1533 1
|
存储 机器学习/深度学习 自然语言处理
避坑指南:PAI-DLC分布式训练BERT模型的3大性能优化策略
本文基于电商搜索场景下的BERT-Large模型训练优化实践,针对数据供给、通信效率与计算资源利用率三大瓶颈,提出异步IO流水线、梯度压缩+拓扑感知、算子融合+混合精度等策略。实测在128卡V100集群上训练速度提升3.2倍,GPU利用率提升至89.3%,训练成本降低70%。适用于大规模分布式深度学习任务的性能调优。
725 3
|
机器学习/深度学习 人工智能 自然语言处理
昇腾AI行业案例(四):基于 Bert 模型实现文本分类
欢迎学习《昇腾行业应用案例》的“基于 Bert 模型实现文本分类”实验。在本实验中,您将学习如何使用利用 NLP (natural language processing) 领域的AI模型来构建一个端到端的文本系统,并使用开源数据集进行效果验证。为此,我们将使用昇腾的AI硬件以及CANN等软件产品。
1425 0
|
自然语言处理 PyTorch 算法框架/工具
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
【10月更文挑战第1天】随着深度学习技术的进步,预训练模型已成为自然语言处理(NLP)领域的常见实践。这些模型通过大规模数据集训练获得通用语言表示,但需进一步微调以适应特定任务。本文通过简化流程和示例代码,介绍了如何选择预训练模型(如BERT),并利用Python库(如Transformers和PyTorch)进行微调。文章详细说明了数据准备、模型初始化、损失函数定义及训练循环等关键步骤,并提供了评估模型性能的方法。希望本文能帮助读者更好地理解和实现模型微调。
1725 2
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
|
机器学习/深度学习 自然语言处理
预训练语言模型:从BERT到GPT,NLP的新纪元
自然语言处理(NLP)近年来因预训练语言模型(PLMs)的崛起而发生巨大变革。BERT和GPT等模型在学术与工业界取得突破性进展。本文探讨PLMs原理、发展历程及其实际应用,涵盖文本分类、命名实体识别、问答系统等场景,并通过实战案例展示如何使用这些强大的工具解决复杂的NLP任务。
|
机器学习/深度学习 人工智能 自然语言处理
【大语言模型-论文精读】谷歌-BERT:用于语言理解的预训练深度双向Transformers
【大语言模型-论文精读】谷歌-BERT:用于语言理解的预训练深度双向Transformers
|
机器学习/深度学习 自然语言处理 知识图谱
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
1998 1