当前位置: 首页 > 科技观察

ScalingTransformers中的稀疏性就足够了!未来我们或许可以在笔记本电脑上托管GPT-3

时间:2023-03-13 01:59:32 科技观察

1.ScalingTransformers:让大规模语言模型更易于管理近年来,自然语言处理领域在基于大规模基于Transformer架构的神经网络。几年前,在Reddit上发布大量浇水帖子的gentlemetre账号,仅一周后就被人类发现:原来这是一款“恶作剧”的应用!它是在号称地表最强语言模型的GPT-3基础上开发的程序。作为一种大型语言模型,GPT-3可以创建整篇文章,即使与人类撰写的文章相比也难以区分。但这种“智能”模式有一个缺点。因为训练非常昂贵,并不是每个人都有资源训练这么大的模型。那么如何让大型语言模型更易于管理以满足日常需求呢?来自华沙大学、GoogleResearch和OpenAI的学者提出了一个新的模型家族——ScalingTransformers。论文地址:https://arxiv.org/abs/2111.12763论文提出了一种通过稀疏化网络中线性层的激活(前馈和Q、K、V投影)来训练大规模稀疏模型的方法。这种方法特别有吸引力,因为它似乎不需要任何特定于硬件或低级别的优化才能有效。控制器网络在激活时生成一个block-wiseone-hotmask,并根据该掩码动态选择后续层的权重。在扩大模型大小时,使用稀疏层来有效地缩放和执行非批量解码比标准的Transformer模型快得多。在参数数量相同的情况下,稀疏层足以获得与标准Transformer相同的困惑度。2.文章解读FabioChiusano发表了对这篇关于NLP的论文的正面评价。FabioChiusano是Digitiamo的数据科学负责人,也是人工智能领域的顶级媒体作家。AITechnologyReview没有改变Chiusano的评论:ScalingTransformers真的很有趣,因为当我们扩大模型尺寸时,它们允许高效地缩放语言模型并比标准Transformers更快地执行非批量解码。严格来说:我们称之为Transformer模型的参数个数。然后,标准的密集型Transformer将需要大约d^2次计算来进行预测。相比之下,稀疏的ScalingTransformer将需要大约d^1.5次计算。如果这样的改进看起来微不足道,请考虑d通常是一个非常高的数字,大约为数十亿,事实上实验表明,ScalingTransformer在DenseTransformer上带来了近20倍的预测加速(从3.690秒到0.183秒)17B参数。注意:这些加速是针对非批量预测的。在具有建议的稀疏性机制(FF、QKV、FF+QKV)的C4数据集上,ScalingTransformers的对数困惑度(相当于具有大约800M参数的T5大小)与基线密集模型相似。具有17B参数的Terraformer解码单个令牌的速度比密集基线模型快37倍,并且推理所需的时间少于100毫秒/令牌。这里attention-sparse=64,ff-sparse=256,loss-sparse=4稀疏化的收益非常好。然而,当解码更长的序列时它们会更糟,因为解码时间将由注意力操作决定。幸运的是,已经提出了很多方法来解决Transformer的这个问题,例如LSH(Locality-SensitiveHashing)注意处理长序列和可逆层以提高内存效率。我会说这不是一个微不足道的结果!该论文还对用于提高Transformer效率的其他技术进行了有趣的概述。我在这里摘录了一些内容,我想可以为不熟悉Transformer技术效率的人提供一个参考。模型压缩。模型修剪通过在训练后或训练期间删除不需要的权重来使矩阵更小。模型蒸馏。模型蒸馏涉及在先前训练的大型模型(即教师)的输出上训练小型模型(即学生)。用于移动推理的几种自然语言模型依靠蒸馏来加速大型预训练模型的推理。注意力不集中。基于稀疏注意力的方法通过合并额外的组合机制或选择该层关注的令牌子集,使注意力层更有效,尤其是对于长序列。稀疏前馈。关键思想是将前馈层分成多个部分(称为专家),每个令牌只检索一个部分,这降低了前馈块的复杂性。这些加速主要通过训练速度来衡量,该方法侧重于前馈块。专家方法的混合已被证明可以在训练中实现计算效率,扩展到一万亿个参数。尽管目前的结果有很多局限性。尽管如此,本文可以被视为迈向可持续大型模型的第一步。你怎么认为?