摘要:近来,增大模型规模成为了晋升模型性能的次要伎俩。特地是NLP畛域的自监督预训练语言模型,规模越来越大,从GPT3的1750亿参数,到Switch Transformer的16000亿参数,又是一个数量级的减少。本文分享自华为云社区《一文带你理解MindSpore反对的万亿级参数超大模型关键技术!》,原文作者:HWCloudAI 。
前言近来,增大模型规模成为了晋升模型性能的次要伎俩。特地是NLP畛域的自监督预训练语言模型,规模越来越大,从GPT3的1750亿参数,到Switch Transformer的16000亿参数,又是一个数量级的减少。
模型规模的数量级的增大,尽管获得了肯定水平的性能晋升,甚至产生了某些意想不到的“神奇”成果(如GPT3),但其背地的计算开销成了最大的问题,比方GPT3训练应用了万级的GPU和数周的训练工夫。如何既能利用超大规模的参数来晋升模型表白和性能,又能管制计算量的较小的减少,成为了最次要的挑战之一。以MoE为代表的动静神经网络技术被重点引入。大脑是典型的低能耗高效率的计算模式,稠密激活是最重要的个性。除了巨型模型在训练推理特地是训练时的计算效力挑战外,以后巨型模型的训练优化算法另一个更大的挑战是(不在此处探讨),BP算法是以后最为可用的深度网络优化,但更现实的优化算法须要高并行、优化过程非对称、并可能在时空维度通过部分继续优化实现整体优化。
1.传统的神经网络模型,前馈的时候,输出的batch中,每一个样本的解决,都将激活网络中的每一个参数参加计算。
2.条件计算最宽松的定义,指仅激活网络中某些局部的一类算法。Conditional Computation refers to a class of algorithms that activate only some of the different parts in a network. 在具体某类条件计算实现中,条件抉择模式,可能依照输出的batch中每sample独立激活网络不同局部,可能依照输出数据空间上不同的局部(比方image不同区域或者channel),可能依照输出数据工夫上不同的局部(比方time series的不同slide window或者video的不同的frame。),可能依照指标工作的不同每task独立的,可能依照非可学习的固定的随机调配不同的子网独立计算。
3.对不同的输出(原始或者前层),依照肯定条件,选择性的执行后续局部网络的计算,这个技术下,有一些近似或相干的技术,如:dynamic neural network(s), conditional computing, conditional activation, sparse activating, selective execution, mixture of experts (MoE), dynamic routing, …;强相干的一些模型比方 Switch Transformer等。
条件计算的分类(狭义)1.依照routing是否可学习能够分为:learnable routing conditional computation和 unlearnable routing conditional computation.
2.依照activation是否不执行non-activation计算,能够分为:hard conditional computation和soft conditional computation。对于hard-mode的条件计算,通过tensor筛选切分等操作,无论何种条件抉择模式,不须要激活的数据将齐全不参加不激活的网络局部的计算;soft-mode的条件计算,可能仅采取将相干数据置零等形式来防止产生计算成果,但还是和不须要激活网路局部理论执行计算过程。
条件计算的次要劣势1.计算无效,升高能耗:通过局部激活局部计算,以每样本条件激活的条件计算为例,单个样本只须要通过整个SuperNet的一部分参加计算。
2.更大网络,表白更强:因为一处到多处的Route,各处(层)的Input被路由到不同的子网独立计算,不同的输出的互相在各层的表白绝对独立没有影响,表达能力更强,网络能够更大,但表白效率升高了。
条件计算的网络和计算模式条件计算的网络和计算模式比拟灵便,局部构建模式如:(此处省略具体模型和论文援用,参见: http://intellabs.github.io/dis)
1.依照CV等task的特点,用多个独立的CNN作为expert网络,依照task来独立路由,尾部组合后给一个大网络。
2.应用更简单的cascading等模式组合不同层级的不同的expert网络。
3.通过决策树等办法做数据变换实现路由。
4.通过可学习的网络来抉择路由。其中策略学习的损失有多种构建模式:间接应用分类等工作的主损失,对不同专家的重要性和负载构建损失作为辅助损失等等。
...