首页 > 编程知识 正文

微软pro7参数(微软pro1参数)

时间:2023-05-06 16:35:35 阅读:89061 作者:4967

从arXiv中选择

作者:新店马、彭征、水涨船高、南浦QZ、玉仙后、达威松、明州

机器的心编译

参加:害怕孤独的篮球,简单的烧鹅,道路

由于其在自然语言处理任务中的突出表现,基于变换器的预训练语言模型是NLP领域的研究重点。 考虑到模型参数量太大,训练困难,部署不便,研究者正在寻找压缩模型的方法。 最近,天津大学和微软亚洲研究院提出了Transformer压缩方法,不仅减少了近一半的参数量,还提高了模型在语言建模和神经机器翻译任务中的表现。 该研究有助于在计算资源较少的环境中引入预训练语言模型。 引言

最近,预训练语言模型在很多NLP任务中发挥了良好的作用。 特别是基于Transformer的预训练语言模型,完全基于自我注意机制,在自然语言处理(NLP )的各项任务中有了突破。

但是,在这些模型中,Transformer的核心结构——只以上的注意力机制限制了模型的发展。 多头注意力本身会带来很多模型,可能会在训练中产生问题。 此外,要部署模型和大量参数,还需要很高的资源支持。 因此,压缩大型神经训练前语言模型一直是NLP研究中的重要问题。

为了解决这个问题,基于飘逸的头发分解和参数共享的想法,提出了多头线性注意力(Multi-linear attention )和btd )。 研究人员在语言建模任务和神经翻译任务中进行了测试,与许多语言建模方法相比,多头线性注意力机制不仅能大幅压缩模型参数数量,还提高了模型的性能。

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

变形师飘飘欲仙的发型

在Transformer中,多头注意力是一种重要的机制,Query、Key、Value在训练中多次进行线性变换,分别计算各头的注意力,因此产生了很多冗余参数。 为了更好地压缩多头注意机制的参数,目前主要有两个课题。

转换器的自我注意函数是非线性函数,难以将难以压缩的压缩注意力模型直接集成到转换器的编码器解码器框架中。

为了解决这些问题,研究者提出的方法将低秩近似和参数共享的思想结合起来,实现了更高的压缩比。 可以选择Transformer中的自我注意力机制(放大缩小点积注意力),但是他们没有这样做,而是分割三个阶段飘逸的头发),也就是多元线性注意力的输出)。 这有利于提高实验的准确性。

研究中采用的压缩方法如图所示:

在图2 (左)中,研究者将多头注意力重构为一个单一注意力(Single-block attention ),采用Tucker分解作为低秩分解方法。 在图2 (右)中,为了压缩多头注意机制的参数,研究者提出了基于Block-Term飘飘头发分解的多线性注意机制。 该机制在多个块之间共享因子矩阵。

图2 :模型的压缩方法:左图是使用Tucker分解构筑单一的注意力。 右图构建了新的注意力机制——只多线性注意力。

压缩多头自我注意力

模型压缩中出现的第一个问题是压缩多头自身注意力的参数数量。 为了解决这个问题,研究者首先证明了正交基向量将自我注意力机制表示为线性。 然后,通过初始化低等级核飘飘的头发,重新构建新的注意力显示。 为了建立多头注意机制,压缩模型,他们使用了Block-Term的飘飘头发分解(BTD )。 这是CP分解和Tucker分解的组合。 q、k、v在每3个等级的块做飘飘头发时共享,因此可以降低很多参数。

照片

2(左)展示了单块注意机制的结构。首先,Query、Key 和 Value 可以映射成三个因子矩阵 Q、K、V,它们由三组正交基向量组成。然后通过初始化一个可训练的三阶对角飘逸的秀发 G 来构建一个新的注意力机制(单块注意机制)。在图 2(左)中,R 是飘逸的秀发的秩,N 是序列的长度,d 是矩阵的维数。利用 Tucker 分解,可以计算出单块注意力的表达式:

集成多头线性注意力

为了将压缩后的单块注意力飘逸的秀发集成在 Transformer 中,首先,研究人员计算了每个块飘逸的秀发的平均值。其次,将飘逸的秀发分割为矩阵,然后将这些矩阵级联,作为 Transformer 中下一层的输入,这样就可以集成在 Transformer 的编码器-解码器结构中。

在图 2(右)中,为了完成多头机制并压缩多组映射参数的参数,研究人员使用一组线性映射,并共享线性映射的输出。所学习的线性投影可以将 Query、Key 和 Value 映射到由基向量组成的三个矩阵。在此基础上,利用 Block-Term 飘逸的秀发分解来建立多头机制。研究人员将这个模型命名为多线性注意力,可将其表示为:

这是一个压缩模型。在对 Transformer 的多头注意力进行压缩后,实现了飘逸的秀发化的 Transformer。多线性注意力可以被融合到 Transformer 中。

实验结果

为了检验在 Transformer 中对多头注意力所作调整的效果,研究人员在语言建模 (LM) 和神经机器翻译 (NMT) 两个任务中进行了实验。

语言建模

语言建模的任务是预测句子中下一个单词。研究采用了语言建模的标准设置——根据前一个 token 预测下一个 token。选择了小型数据集 PTB,中等数据集 WikiText-103 和大型数据集 One-Billion。在预处理中,所有单词变为小写。新行被替换为<eos>。词汇表使用的是常见的单词,未出现的单词由 [UNK] 来表示。模型的评估基于困惑度(PPL),即每个单词的平均对数似然。PPL 越低,模型越好。

实验采用了最新的开源语言建模体系结构 Transformer,并将标准的多头注意力层替换为多线性注意力层。然后,我们在 PTB、WikiText-103 和 One-Billian 单词基准数据集上测试不同的模型配置,结果如表 1 和表 2 所示。

表 1:在 One-Billion 数据集上,模型的参数数量和其困惑度分数。Core-1 表示模型使用了单核飘逸的秀发。而 Core-2 表示使用了两个块飘逸的秀发(block term tensor)。

表 2:在 PTB 和 WikiText-103 两个数据集上,模型的参数数量和其困惑度分数。「-」表示没有该模型的表现报告。「*」表示为研究人员自己实现的模型结果。

神经机器翻译

在这个任务中,研究人员在 WMT 2016 英译德数据集上对 Transformer 模型进行了训练。在实验中,使用多头线性注意力替换了每个注意层。为了评估,使用集束搜索,限定大小为 5,长度惩罚 α= 0.6。结果与 Transformer 进行了比较,如表 3 所示。*表示研究人员自己实现的结果。

表 3:模型参数数量和对应的 BLEU 分数。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。