预训练无需注意力,扩展到4096个token不成问题,与BERT相当

简介: 预训练无需注意力,扩展到4096个token不成问题,与BERT相当

本文提出了双向门控 SSM(BiGS)模型,结合基于状态空间模型(SSM)的 Routing 层和基于乘法门的模型架构,在不使用注意力的情况下能够复制 BERT 预训练结果,并可扩展到 4096 个 token 的长程预训练,不需要近似。


Transformer 作为 NLP 预训练模型架构,能够有效的在大型未标记的数据上进行学习,研究已经证明,Transformer 是自 BERT 以来 NLP 任务的核心架构。


最近的工作表明,状态空间模型(SSM)是长范围序列建模有利的竞争架构。SSM 在语音生成和 Long Range Arena 基准上取得了 SOTA 成果,甚至优于 Transformer 架构。除了提高准确率之外,基于 SSM 的 routing 层也不会随着序列长度的增长而呈现二次复杂性。


本文中,来自康奈尔大学、 DeepMind 等机构的研究者提出了双向门控 SSM (BiGS),用于无需注意力的预训练,其主要是将 SSM routing 与基于乘法门控(multiplicative gating)的架构相结合。该研究发现 SSM 本身在 NLP 的预训练中表现不佳,但集成到乘法门控架构中后,下游准确率便会提高。


实验表明,在受控设置下对相同数据进行训练,BiGS 能够与 BERT 模型的性能相匹配。通过在更长的实例上进行额外预训练,在将输入序列扩展到 4096 时,模型还能保持线性时间。分析表明,乘法门控是必要的,它修复了 SSM 模型在变长文本输入上的一些特定问题。



论文地址:https://arxiv.org/pdf/2212.10544.pdf


方法介绍


SSM 通过以下微分方程将连续输入 u (t) 与输出 y (t) 联系起来:



对于离散序列,SSM 参数被离散化,其过程可以近似为:



这个方程可以解释为一个线性 RNN,其中 x_k 是一个隐藏状态。y 也可以用卷积计算:



Gu 等人展示了一种在神经网络中使用 SSM 的有效方法,他们开发了参数化 A 的方法,称为 HiPPO,其产生了一个稳定而高效的架构,称为 S4。这保留了 SSM 对长期序列建模的能力,同时比 RNN 训练更有效。最近,研究人员提出了 S4 的简化对角化版本,它通过对原始参数更简单的近似实现了类似的结果。在高层次上,基于 SSM 的 routing 为神经网络中的序列建模提供了一种替代方法,而无需二次计算的注意力成本。


预训练模型架构


SSM 能取代预训练中的注意力吗?为了回答这个问题,该研究考虑了两种不同的架构,如图 1 所示的堆叠架构(STACK)和乘法门控架构(GATED)。


具有自注意力的堆叠架构相当于 BERT /transformer 模型,门控架构是门控单元的双向改编,最近也被用于单向 SSM。带有乘法门控的 2 个序列块(即前向和后向 SSM)夹在前馈层中。为了进行公平比较,门控架构的大小保持与堆叠架构相当。


图 1:模型变量。STACK 是标准 transformer 架构,GATED 为基于门控单元。对于 Routing 组件(虚线),该研究同时考虑双向 SSM(如图所示)和标准自注意力。门控(X)表示逐元素乘法。


实验结果


预训练


表 1 显示了 GLUE 基准测试中不同预训练模型的主要结果。BiGS 在 token 扩展上复制了 BERT 的准确率。这一结果表明,在这样的计算预算下,SSM 可以复制预训练 transformer 模型的准确率。这些结果明显优于其他基于非注意力的预训练模型。想要达到这个准确率,乘法门控是必要的。在没有门控的情况下,堆叠 SSM 的结果明显更差。为了检查这种优势是否主要来自于门控的使用,本文使用 GATE 架构训练了一个基于注意力的模型;然而,结果显示该模型的效果实际上低于 BERT。


表 1:GLUE 结果。(Top)在控制设置下,不同架构和 routing 的比较。参见图 2 了解详细信息。(Bottom) 报告了基于 CNN、LSTM 和 FNet 的其他非注意力预训练模型的可比结果。


Long-Form 任务


表 2 结果显示,可以将 SSM 与 Longformer EncoderDecoder (LED) 和 BART 进行比较,但是,结果显示它在远程任务中表现得也不错,甚至更胜一筹。与其他两种方法相比,SSM 的预训练数据要少得多。即使 SSM 不需要在这些长度上进行近似,长格式也依旧很重要。



表 2:SCROLLS Encoder 测试结果。基线模型都是编码器 —— 解码器模型,一个基于 Longformer (LED),另一个基于 BART。输入的长度有截断。


更多内容请查看原论文。

相关文章
|
7天前
|
机器学习/深度学习 自然语言处理 PyTorch
【自然语言处理NLP】Bert预训练模型、Bert上搭建CNN、LSTM模型的输入、输出详解
【自然语言处理NLP】Bert预训练模型、Bert上搭建CNN、LSTM模型的输入、输出详解
25 0
|
1月前
|
机器学习/深度学习 自然语言处理 数据格式
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
Coggle 30 Days of ML(23年7月)任务十:使用Bert在比赛数据集中完成预训练
Coggle 30 Days of ML(23年7月)任务十:使用Bert在比赛数据集中完成预训练
|
1月前
|
机器学习/深度学习 自然语言处理 数据挖掘
预训练语言模型中Transfomer模型、自监督学习、BERT模型概述(图文解释)
预训练语言模型中Transfomer模型、自监督学习、BERT模型概述(图文解释)
70 0
|
11月前
|
机器学习/深度学习 存储 人工智能
大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍
大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍
大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍
|
机器学习/深度学习 缓存 人工智能
深度学习进阶篇-预训练模型[3]:XLNet、BERT、GPT,ELMO的区别优缺点,模型框架、一些Trick、Transformer Encoder等原理详解
深度学习进阶篇-预训练模型[3]:XLNet、BERT、GPT,ELMO的区别优缺点,模型框架、一些Trick、Transformer Encoder等原理详解
深度学习进阶篇-预训练模型[3]:XLNet、BERT、GPT,ELMO的区别优缺点,模型框架、一些Trick、Transformer Encoder等原理详解
|
机器学习/深度学习 人工智能 自然语言处理
从BERT到ChatGPT,百页综述梳理预训练大模型演变史(2)
从BERT到ChatGPT,百页综述梳理预训练大模型演变史
303 0
|
1月前
|
机器学习/深度学习 人工智能 开发工具
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
Hugging Face是一个机器学习(ML)和数据科学平台和社区,帮助用户构建、部署和训练机器学习模型。它提供基础设施,用于在实时应用中演示、运行和部署人工智能(AI)。用户还可以浏览其他用户上传的模型和数据集。Hugging Face通常被称为机器学习界的GitHub,因为它让开发人员公开分享和测试他们所训练的模型。 本次分享如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face。
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
|
1月前
|
PyTorch 算法框架/工具
Bert Pytorch 源码分析:五、模型架构简图 REV1
Bert Pytorch 源码分析:五、模型架构简图 REV1
42 0
|
1月前
|
JavaScript
Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)
近日,Bert-vits2-v2.2如约更新,该新版本v2.2主要把Emotion 模型换用CLAP多模态模型,推理支持输入text prompt提示词和audio prompt提示语音来进行引导风格化合成,让推理音色更具情感特色,并且推出了新的预处理webuI,操作上更加亲民和接地气。
Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)