网站改版对自然语言理解模块稳定性的策略

万亿级别史上最大神经网络—Switch Transformer

万亿级别史上最大神经网络—Switch TransformerSwitch Transformer是谷歌大脑提出的一种新型神经网络模型,其参数规模达到了万亿级别,是迄今为止规模最大的NLP(自然语言处理)模型。一、模型背景在自然语言处理任务中,神经网络的参数数量与复杂度之间的相关性保持得非常好。大规模训练已经成为通向灵活而强大的神经语言模型的有效途径。在拥有强大计算资源预算和大数据集的情况下,一些经典的神经语言模型取得的性能成果甚至可以超越一些更加复杂的算法。例如,OpenAI发布的GPT-3语言模型,拥有1750亿参数,能够进行原始类比、生成食谱、自动生成代码等多种不同的工作。然而,这一纪录被谷歌大脑的Switch Transformer所打破。二、模型特点Switch Transformer采用了稀疏激活模型,这种模型可以保证计算成本基本保持不变的同时,允许网络拥有巨量的参数。为了实现稀疏激活,谷歌大脑的研究者们改进了专家混合范式(MoE),通过在自然语言模型中设置所谓的“MoE(Mixture-of-Experts)”层,将输入token路由到该层中最佳的前k位专家上,之后由这个k位专家对token进行计算之后加权求和决定输出。具体来说,Switch Transformer直接使用k=1,即每个token只路由发送给一个相应的专家(由相应计算的最高概率决定)。这样,每个token都会经由路由算法决定其进入哪个专家,该专家层称为switch层。为了防止出现过多的token被路由到同一个专家上导致容量溢出的情况,每个专家会分配一个容量因子,用于动态决定专家容量。同时,为了鼓励专家之间的负载均衡,Switch Transformer中还增加了辅助损失,对于每一个Switch层,此辅助损失将被添加到训练过程中的总损失中。三、模型架构Switch Transformer的编码器构造相对复杂,但核心思想是利用稀疏激活和专家混合范式来实现大规模参数的高效利用。在编码器中,每个token都会经过多个switch层,每个switch层都会根据路由算法将token路由到相应的专家进行计算。通过这种方式,Switch Transformer可以在保持计算成本基本不变的情况下,实现模型参数的巨量增长。四、预训练表现研究者首先在Colossal Clean Crawled Corpus数据集上对Switch Transformer进行了预训练测试,使用了掩蔽语言建模任务。实验结果表明,Switch Transformer的性能在速度-质量基础上均胜过密集Transformer以及MoE Transformer,并且在固定计算量和挂钟时间的情况下取得了最佳的成绩。此外,实验还表明Switch Transformer在取较低的容量因子(1.0,1.25)情况下表现更好。五、下游任务表现研究者同时也对Switch Transformer与一系列不同的下游任务对接进行了测试。结果表明,在多项下游任务中Switch Transformer的提升是显而易见的。通过将Switch Transformer与相应的T5模型在FLOPS层面对齐后,对比下游任务的结果发现,Switch Transformer在多个任务上都取得了更好的性能。六、网络蒸馏由于Switch Transformer的体积过于庞大,有必要研究将这种大型稀疏网络蒸馏为小型密集网络的影响。研究者通过使用各种蒸馏方法研究了不同压缩率下Switch Transformer的表现。实验证明,将具有11亿参数量的Switch Transformer压缩至原来的18%可同时保留37%的性能提升,而具有147亿参数的Switch Transformer压缩至1%的情况下也可保留28%的性能提升。七、总结Switch Transformer作为谷歌大脑提出的万亿级别神经网络模型,在参数规模和性能上都取得了突破性的进展。其采用的稀疏激活模型和专家混合范式为实现大规模参数的高效利用提供了新思路。未来,随着计算资源的不断发展和优化算法的不断改进,我们有理由相信Switch Transformer将在更多领域展现出其强大的性能和应用价值。(图片展示了Switch Transformer编码器的构造,其中包含了多个switch层,每个switch层都会根据路由算法将token路由到相应的专家进行计算。)


nginx