谷歌大脑Quoc发布Primer,从操作原语搜索高效Transformer变体

简介: 调参、改激活函数提高模型性能已经见怪不改了。最近Google Brain的首席Quoc发布了一个搜索框架,能够自动搜索高效率的Transformer变体,并找到一些有效的模型Primer,其中ReLU加个平方竟然能提升最多性能!

目前自然语言处理领域发展的红利都来自于大型的、基于Transformer的语言模型,但这些语言模型的训练成本、推理成本都高到劝退平民炼金术师。 而当模型参数量大到一定程度的时候,研究人员也在考虑如何在缩小模型的情况下,保持性能不变。 Google Brain团队最近在arxiv 上传了一篇论文,目标是通过寻找更高效的Transformer 变体来降低训练和推理成本。 与之前的方法相比,新提出的方法在更低级别上执行搜索,在Tensorflow 程序的原语上定义和搜索 Transformer。并提出了一种名为 Primer 的模型架构,训练成本比原始 Transformer 和用于自回归语言建模的其他模型变体要更小。 

1.jpghttps://arxiv.org/abs/2109.08668 
论文的作者是大神 Quoc V. Le,在斯坦福读博期间导师是吴恩达教授,目前是谷歌的研究科学家,Google Brain 的创始成员之一;seq2seq的作者之一;谷歌AutoML的奠基人,提出包括神经架构等方法;EfficientNet的作者等。2.jpg

研究人员使用TensorFlow(TF)中的操作来构造Transformer 变体的搜索空间。在这个搜索空间中,每个程序定义了自回归语言模型的可堆叠解码器块。给定输入张量是一个长度为n且嵌入长度为d的序列,程序能够返回相同形状的张量。 堆叠时,其输出表示每个序列位置的下一个token的预测embedding,并且程序只指定模型架构,没有其他内容。换句话说,输入和输出embedding矩阵本身以及输入预处理和权重优化不在这个程序的任务范围内。3.jpg解码器模型程序(DNA, decoder model program)定义了一个自回归语言模型,每个DNA都有一组子程序,其中子程序0是MAIN函数的入口点。每个子程序都由指令组成,这些指令被转换为TensorFlow代码行。 指令操作映射到原语词汇表中的基本TensorFlow库函数或父DNA子程序之一,原语词汇表由简单的原语TF函数组成,如ADD、LOG、MATMUL等等,但像self-attention这样的高级构建块不是搜索空间中的操作,自注意力可以从低级操作中构建出来的。 DNA的子程序库由附加程序组成,这些程序可以通过指令作为函数执行。每个子程序只能调用子程序库中索引较高的子程序,这样就消除了循环的可能性。4.jpg使用父指令的参数集填充操作的参数,该参数集包含所有潜在操作参数的值,参数包括Input 1( 用作第一个tensor输入的隐藏状态的索引)、Input 2(第二个tensor输入的隐藏状态的索引)、Constant(实值常数,可以用于MAX等函数)、Dimensionsize(用来表示输出维度大小的整数)。特定操作中没有使用的参数就直接被省略掉。 研究人员还提出进化搜索(evolutionary search),目标是在搜索空间中找到最有效的模型架构。主要方法是设计一个固定的训练预算(使用TPUv2限时24小时),并将其适应性指标定义为Tensor2Tensor中One Billion Words Benchmark (LM1B)上的困惑度。 这些架构搜索工作的明确目标是在优化效率时减少训练或推理步骤时间,在搜索过程中,可以发现将步长时间增加一倍、采样效率提高三倍是一个不错的修改方案,因为它最终使模型架构的计算效率更高。还可以将ReLUs平方化,并在注意力上增加深度卷积,从而增加训练步长时间。 这些操作极大地提高了模型的采样效率,通过大幅减少达到目标质量所需的训练步骤数量,减少了达到目标性能所需的总计算量。 通过这个搜索程序找到的模型被研究人员命名为Primer,也就是原语搜索Transformer(PRIMitives searched transformER)。  Primer 的改进主要有平方 ReLU 激活并在自注意力中的每个 Q、K 和 V 投影后添加一个深度卷积层。 最有效的修改是将变Transformer前馈块中的ReLU激活改进为平方ReLU激活函数,这也是第一次证明这种整流多项式激活在Transformer 中有用。并且高阶多项式的有效性也可以在其他Transfomer 非线性激活函数中观察到,例如GLU 的各种变体,ReGLU、近似GELU等。然而平方ReLU与最常用的激活功能相比 ReLU、GELU和Swish 具有截然不同的渐近性。5.jpg平方ReLU确实与ReGLU有显著重叠,事实上,当ReGLU的U和V权重矩阵相同时,平方ReLU与ReLU是等效的。并且平方ReLU在更简单的同时,也能获得GLU变体的好处,且无需额外参数,并提供更好的质量。 研究人员使用三个Transformer 变体与Primer 进行对比:1、Vanilla Transformer: 原始Transformer,使用ReLU激活和layer normalization。2、Transformer+GELU: Transformer的常用变体,使用GELU近似激活函数3、Transformer++: 使用RMS归一化、Swish激活和GLU乘法分支在前馈反向瓶颈(SwiGLU)中。这些修改在T5 中进行了基准测试,并被表明是有效的。 实验表明,随着计算规模的增长,Primer 相对于 Transformer 的收益会增加,并且在最佳模型大小下遵循与质量相关的幂律。 6.jpg研究人员还凭经验验证了 Primer 可以放入不同的代码库,发现可以显著加快训练速度,而无需额外调整。例如,在 500M 的参数大小下,Primer 在 C4 自回归语言建模上改进了原始 T5 架构,将训练成本降低了 4 倍。 此外,降低的训练成本意味着 Primer 需要更少的计算来达到目标one shot性能。例如,在类似于 GPT-3 XL 的 1.9B 参数配置中,Primer 使用 1/3 的训练计算来实现与 Transformer 相同的一次性性能。  研究人员已经开源了模型,以帮助提论文可重复性。 7.jpg

相关文章
|
3月前
|
人工智能 自然语言处理 测试技术
苹果一篇论文得罪大模型圈?Transformer不会推理,只是高级模式匹配器!所有LLM都判死刑
苹果公司发布论文《GSM-Symbolic: Understanding the Limitations of Mathematical Reasoning in Large Language Models》,质疑大型语言模型(LLM)在数学推理方面的能力。尽管LLM在GSM8K等测试中表现良好,但在新基准测试GSM-Symbolic中,其准确率随数值变化而显著下降,表明LLM可能依赖于记忆和模式匹配而非真正的数学理解。这一发现引发了AI领域的广泛讨论。
64 5
|
机器学习/深度学习 自然语言处理 算法
完结篇 | 吴恩达《序列模型》精炼笔记(3)-- 序列模型和注意力机制
完结篇 | 吴恩达《序列模型》精炼笔记(3)-- 序列模型和注意力机制
223 0
完结篇 | 吴恩达《序列模型》精炼笔记(3)-- 序列模型和注意力机制
|
7月前
|
机器学习/深度学习 人工智能 算法
没想到!AlphaZero式树搜索也能用来增强大语言模型推理与训练
【7月更文挑战第26天】Xidong Feng等研究人员提出了一项创新方法,通过采用AlphaZero式的树搜索算法来增强大语言模型(LLMs)的推理与训练能力。这项技术,称为TS-LLM(Tree-Search for LLMs),将LLMs的解码过程视为搜索问题,并运用AlphaZero的树搜索来指导这一过程。TS-LLM不仅提升了模型的通用性和适应性,还在多个任务中实现了显著的性能提升。此外,它能在训练阶段指导LLMs学习更优的解码策略。尽管如此,TS-LLM依赖于高质量的预训练LLM,并面临较高的计算成本挑战。[论文](https://arxiv.org/abs/2309.17179)
118 5
|
机器学习/深度学习 Web App开发 自动驾驶
顺序决策与基础模型如何交叉互惠?谷歌、伯克利等探讨更多可能
顺序决策与基础模型如何交叉互惠?谷歌、伯克利等探讨更多可能
131 0
|
6月前
|
存储 并行计算
小技巧大功效,仅阅读两次提示让循环语言模型超越Transformer++
【8月更文挑战第27天】斯坦福与布法罗大学的研究显示,通过"Just-Read-Twice"(JRT)策略,循环语言模型(RNNs)在多项任务上的表现超越了行业标杆Transformer++模型。JRT策略让RNNs在处理信息时进行两次读取,有效解决长上下文记忆难题,显著提升了性能。实验覆盖FDA、SQUAD等多个任务,均取得明显成效。论文已发布于arXiv。
37 2
|
9月前
|
自然语言处理 Python
BERT模型基本理念、工作原理、配置讲解(图文解释)
BERT模型基本理念、工作原理、配置讲解(图文解释)
1059 0
|
机器学习/深度学习 并行计算 算法
像Transformer一样思考!DeepMind发布全新模型设计工具Tracr:从可解释逻辑反向搭建模型
像Transformer一样思考!DeepMind发布全新模型设计工具Tracr:从可解释逻辑反向搭建模型
210 0
|
9月前
|
人工智能 自然语言处理 测试技术
论文介绍:LLMLingua-2——面向高效忠实任务无关性提示压缩的数据蒸馏方法
【5月更文挑战第2天】LLMLingua-2是一种针对大型语言模型(LLMs)的数据蒸馏方法,旨在实现高效且忠实的提示压缩。通过从LLMs中提取知识,该方法在压缩提示的同时保持关键信息,提高模型泛化能力和效率。采用Transformer编码器,LLMLingua-2将提示压缩转化为标记分类问题,确保压缩后的提示忠实度并减少延迟。实验表明,该方法在多个数据集上优于基线,并在压缩延迟上取得显著改进,但也存在泛化能力和扩展性限制。论文链接:https://arxiv.org/abs/2403.12968
178 5
|
4月前
|
自然语言处理 数据可视化 数据挖掘
闭源与开源嵌入模型比较以及提升语义搜索效果的技术探讨
本文探讨了自然语言处理中嵌入技术的应用,重点在于语义搜索及聚类方法。通过对比不同规模的开源与闭源模型,文章展示了如何利用聚类技术过滤无关结果,提高搜索精度。实验结果显示,较小模型如mxbai在某些任务上表现优异,提示我们在追求高性能的同时不应忽视计算效率与成本效益。最后,文章还介绍了重新排序技术,进一步优化检索结果的相关性。
135 6
闭源与开源嵌入模型比较以及提升语义搜索效果的技术探讨

热门文章

最新文章