上一篇文章中,我们介绍了RetNet、RWKV、Mamba等有可能会替代Transformer的模型架构,这一篇文章我们将要介绍另外三个有可能会替代Transformer的模型架构,它们分别是UniRepLKNet、StripedHyena、PanGu-π,想了解之前的内容,请前往《大模型基础架构的变革:剖析Transformer的挑战者(上)》一文查阅。
四、UniRepLKNet(Universal Perception Large-Kernel ConvNet)
UniRepLKNet是由腾讯和香港中文大学联合发布的一种基于大核卷积神经网络(CNN)的大模型基础架构。UniRepLKNet采用大核CNN,可以处理多种模态的数据,如图像、音频、时序预测等。
UniRepLKNet提出了四条指导原则,用于设计大核CNN架构,同时采用硬件感知的并行算法,成功实现了在多种模态上的最先进性能,并在超大数据的时序预测任务中展现了卓越表现。这一模型架构的强大之处在于有效地利用了大核CNN的优点,创新性地应对了感受野、特征抽象和深度模型表示能力等关键问题。
大核卷积的独特优势在于不依赖深度堆叠即可获得大感受野,避免了深度增加带来的边际递减问题。这对于卷积模型而言具有重要意义,因为传统的卷积神经网络在不断增加深度时,有效感受野的效用呈递减趋势。UniRepLKNet通过对感受野和层数关系的深入理解,成功规避了这一问题,并提出了相应的架构设计原则。
有效感受野的概念成为UniRepLKNet设计的基石。理论分析表明,一个模型的有效感受野与卷积核大小乘以层数的平方根成正比。通过充分考虑这一关系,UniRepLKNet设计的大核CNN架构在层数增加的同时,更有效地扩展了感受野,为模型提供更全面的空间信息,从而取得更为显著的性能提升。
此外,UniRepLKNet对特征抽象的层次进行了深入研究。除了关注模型能够感知的空间范围外,特征抽象层次的高低也在空间模式的理解中发挥着关键作用。UniRepLKNet的架构设计不仅注重提高感受野,还着眼于模型对抽象层次的理解,通过逐层提取空间模式实现了特征的高层次抽象,使得模型更能理解和表达复杂的视觉信息。
深度模型的一般表示能力也是UniRepLKNet成功的关键因素。通过增加可训练参数和引入非线性激活函数,更深、更多的参数模型能够学到更复杂的函数表达,提高整体的表征能力。UniRepLKNet的设计原则充分考虑了这一点,使得其模型架构在表达复杂关系和特征时具有更强大的能力。
UniRepLKNet通过对大核CNN架构设计的深刻思考,成功提出了四项指导原则,使其在感受野、特征抽象和深度表示等方面都达到了最先进水平,成为一种强大而高效的模型架构。
在传统的卷积模型设计中,一般是使用3*3的小卷积核进行大量的堆叠来实现增加感受野的方式,比如想要得到5*5的感受野效果,可以使用2个3*3的卷积核来替代。但是在前文中已经说过,在最新的研究中发现,直接通过3*3的卷积和堆叠模型层带来的名义上的感受野,在实际效用上确实随着模型层的加深而边际递减的。
此外卷积层多了,特征抽象层次当然是够了,但到底具体要多高的抽象层次算够却无人知晓。因为模型的抽象层次跟感受野是紧密耦合的,没法单独调整。模型太深还会导致卷积层占用的参数和运算量过大,在模型大小的限制下,很难再进一步提高其一般的表征能力了。
那么是否意味着直接在传统的卷积模型设计中加入大卷积核就可以了呢?这看似是一个不错的想法,但实际上直接这么做会导致一系列的问题:
l深层模型设计中,浅层模型的感受野可能存在过大的问题。这并非仅仅是算力的浪费,对于一些下游任务的框架(例如语义分割的UperNet),在backbone的低层特征过早地获取过大的感受野可能会导致负面效果。通常来说,低层特征应该是局部特征,UperNet需要将其与高层特征组合以获取更全局的信息。然而,如果低层感受野过大,这些低层特征就变成了全局特征,可能影响到任务的准确性和性能。
l在深层网络中直接使用过大的卷积核可能浪费计算资源,降低训练效率。在感受野已经足够的情况下,将较低抽象层次的特征转化为较高抽象层次的特征是一种相对简单的任务。明明使用一个depthwise3x3卷积就足以胜任,却不必要地采用一个尺寸为31x31的卷积。这种冗余操作不仅浪费计算资源,还可能引入不必要的复杂性,不利于模型的训练和推理效率。
l使用了过大卷积核,让模型提早获得足够感受野,不利于模型的表征能力。尽管某些模型可能仅使用少数层就实现了大感受野,但如果仅停留在这样的深度(例如RepLKNet只使用了24个超大卷积层和24个FNN结构),模型的表征能力可能不足。深度模型的表征能力主要来源于更多的可训练参数和非线性激活函数,因此在设计模型时需要综合考虑深度、层数以及参数数量,以确保模型能够充分学习并表达复杂的特征和关系。
那么如何巧妙的将大卷积核融入模型的设计当中呢?在设计大卷积核CNN架构时,应当遵循一系列原则,以充分发挥大卷积核的优势。具体的策略是将感受野、特征抽象和模型深度这三个要素解耦,根据需要选择相应的结构来实现所需效果。正是大卷积核的本质优势,为实现这种解耦提供了保证。
首先,为了保证大感受野,应该采用少量的大卷积核。通过这种方式,能够在不过度增加模型深度的情况下,有效扩展模型对空间信息的感知范围。这不仅有助于提高模型的整体性能,还能避免在感受野足够时过度增加计算复杂度的问题。
其次,为了提高特征抽象的层次,还要使用诸如depthwise3x3等小卷积的结构。这种选择允许模型在局部区域内更有效地捕捉特征,从而提高了模型对不同层次抽象的能力。通过在网络中灵活运用这些小卷积结构,可以在保持模型高效性的同时,进一步丰富模型对输入数据的抽象表达。
最后,为了增强模型的一般表示能力,还需要引入了一些高效的结构,如SEBlock和Bottleneckstructure。这些结构的使用有助于提高模型的深度,使其能够更好地拟合复杂函数,从而更全面地学习输入数据的复杂特征和关系。通过精心设计和整合这些高效结构,能够在不失模型效率的前提下,提升模型的整体表现。
综合而言,对于大卷积核的设计需要通过解耦感受野、特征抽象和模型深度,并灵活运用大卷积核的优势来完成既高效又强大的大卷积核CNN架构。这种设计原则不仅符合实际应用需求,还使得模型能够在各个方面都取得卓越的性能。
综合以上的因素,对于CNN中大卷积核的设计,应遵守四条指导原则:
l局部结构设计规则:采用一些高效结构如SE或bottleneck来增加深度。这种策略有助于提高模型的表达能力,通过引入这些专门设计的结构,可以在保持计算效率的同时,使模型更好地学习和表示输入数据的复杂特征。
l结构重参数化设计:在模型设计过程中可以使用膨胀卷积来捕捉稀疏特征。论文中提出了一个名为DilatedReparamBlock的子模块,其中除了大核卷积外,还采用了并行的膨胀卷积。通过结构重参数化的思想,整个block可以等价转换为一个大核卷积。这是因为小kernel与膨胀卷积的组合在等效性上等同于大kernel与非膨胀卷积的组合。这种设计使得模型能够更有效地捕捉到空间中分布稀疏的特征,从而提高了模型对复杂模式的感知能力。
l关于kernelsize的设计:根据下游任务和采用的具体框架来选择合适的kernelsize。如前文提到的,对于语义分割框架UperNet而言,低层feature过早地获得过大的感受野可能带来负面效果。然而,并非因此认为大kernel会降低模型的表达能力或最终feature的质量。RepLKNet的“kernelsize加大至少不会变差”的结论虽然被修正,但对于本文所涉及的任务而言,13x13的kernelsize已经足够。
l关于scalinglaw:即随着模型尺度变化而变化的一些规律。对于已经使用了许多大kernel的小模型,当增加模型深度时,应该考虑使用depthwise3x3的block。这种操作虽然不再增加大kernel,因为感受野已经足够大,但通过使用高效的3x3操作仍然可以提高特征的抽象层次。这种策略在维持计算效率的同时,保证了模型对输入数据更高层次的理解和表达。
五、StripedHyena(这是一只会手术的斑鬣狗)
StripedHyena是由TogetherAI发布的一种新型人工智能模型,StripedHyena采用了一种独特的混合结构,将门控卷积和注意力结合成了Hyena运算符。由多头、分组查询注意力和排列在Hyena块中的门控卷积组成。与传统的仅包含解码器的Transformer不同,StripedHyena通过将卷积表示为状态空间模型(SSM)或截断滤波器,在Hyena块中进行常数内存解码。这种结构使得StripedHyena在训练、微调和生成长序列过程中具有更高的处理效率,更快的速度和更高的内存效率。
在短序列任务中,包括OpenLLM排行榜任务,StripedHyena在性能上超越了Llama-27B、Yi7B以及最强大的Transformer替代品,如RWKV14B。StripedHyena能够处理长序列,这使得它在处理长提示的各种基准测试中表现出色。StripedHyena的设计优化了计算效率,使得它在训练期间能够进行体系结构修改。
深度学习的最新进展很大程度上依赖于大型Transformer的使用,因为它们具有大规模学习的能力。但是Transformer的核心构建块,即注意算子,在序列长度上表现出二次代价,限制了上下文可访问的数量。现有的基于低秩和稀疏逼近的次二次方法需要与密集关注层相结合来匹配Transformer,这表明在能力上存在差距。
现有基于低秩和稀疏逼近的次二次方法需要与稠密的注意层相结合才能匹配Transformer,也就是说存在表达能力上的差距。换句话说,在语言处理中,注意力机制只利用了其二次方能力的一小部分。因此,关键问题是:是否存在一个次二次算子,能够在大规模训练时与注意力机制的性能匹敌?
来自斯坦福大学和蒙特利尔大学(Mila和蒙特利尔大学)的研究人员提出的Hyena,作为注意力的次二次替代品。在对数千到数十万个token的序列进行召回和推理任务时,Hyena比依赖于状态空间和其他隐式和显式方法的运算符提高了50多个点的准确性,与基于注意力的模型相匹配。
研究人员为标准数据集(WikiText103和ThePile)上的语言建模设计了一种新的免密集注意力架构,达到了Transformer的质量。在序列长度为2k时,所需的训练计算减少了20%。在序列长度为8k和64k时,Hyena的算子速度分别是高度优化注意力的两倍和100倍。
通过对高效次二次原语进行组合,如元素乘法(门控)和长卷积(即滤波器大小与输入一样长的卷积),研究人员从实验结果中得到了积极的答案。这表明Hyena在大规模语言处理任务中作为次二次注意力的替代方案具有有效性和潜力。
根据最新的机制可解释性研究,在专注于召回和归纳方面,研究人员提出了一系列有针对性的推理任务,以深入挖掘注意力机制与其性能相关的三个关键特性,并评估其与现有次二次元方法之间的质量差距:
l数据控制(Datacontrol):注意力机制实现了一种富有表现力的数据控制线性算子,能够在单个块中对整个线性函数族进行编码。这表示注意力机制具备在数据流中进行灵活操作的能力,使其在处理不同输入时能够更加精细地控制信息流动。
l次线性参数缩放(Sublinearparameterscaling):通过将注意力层的参数数量与序列长度解耦,Transformers得以在注意力层之间更加自由地分配参数,如前馈神经网络(FNN)。这种灵活性使得模型能够根据任务需求有效地调整参数规模,提高性能并减少冗余,为更大规模的序列处理提供了更好的适应性。
l无限制的上下文(Unrestrictedcontext):注意力机制具备不受限制的上下文,能够近似任意两个输入之间的依赖关系,而不受任何限制,如局部性。这意味着在给定输入的情况下,模型能够自由地捕捉输入之间的关联,提供更全面的上下文理解。需要注意的是,这种特性在自回归模型等使用掩码的情况下可能受到一些限制,但在大多数情况下表现出卓越的灵活性。
这些特性的深入研究有助于揭示注意力机制的内在机制,同时评估其在数据控制、参数缩放和上下文方面相对于次二次元方法的质量。这不仅对机制的改进提供了指导,也为深度学习模型的设计和基于上述三个发现,研究人员提出了一种层次结构,即Hyena,由两个高效的二次基元递归定义的算子组成。递归的指定深度可控制算子的大小,短递归时,现有模型可作为特例。
通过将Hyena递归映射到矩阵形式,研究人员发现其等价于数据控制矩阵的分解,即entries为输入函数的矩阵。此外,他们展示了如何利用快速卷积算法,高效评估Hyena算子而不具体化全矩阵。
经验上看,Hyena算子能够显著缩小与大规模注意力的质量差距,以更少的计算成本实现相似的困惑度和下游性能,无需混合注意力。
设计Hyena的初衷是解决「标准稠密注意力」和「次二次运算符」之间的质量差距,并通过与大规模语言建模性能相关的推理任务确定这一差距。研究人员扩展了基本的机械可解释性基准,增加任务复杂度,研究了长卷积的最佳参数化。
在具有数十万词条的挑战性设置中,隐式参数化方案提高了50%以上的准确率。此外,研究人员验证了Hyena在大规模图像识别中的通用性,并在视觉Transformer(ViT)中替代了注意力。在图像分类中,Hyena的准确率可以与注意力相媲美。
对于长序列上的效率基准测试显示,在长度为8192的序列上,Hyena的速度是稠密自注意力的5倍,是高度优化的FlashAttention的2倍;在长度为64k的序列上,速度是FlashAttention的100倍。这些结果证明了Hyena在不同应用场景中的性能卓越,为注意力机制的改进和深度学习模型的设计提供了有力支持。优化提供了有益的洞察。
六、PanGu-π
Panguπ是华为诺亚方舟实验室和北京大学等机构的研究者提出的网络架构,主要是为了尝试构建更高效的大模型架构,它针对Transformer的特征坍塌问题和非线性关系进行了优化。在Transformer更深层中,特征的秩显著降低,导致所有token之间的相似性增加,这极大地降低了LLM的生成质量和多样性。
非线性对Transformer模型的能力有重大影响。增强非线性可以有效地缓解特征坍塌的问题,并提高Transformer模型的表达能力。PanGuπ在前馈网络(FNN)中采用了级数激活函数,并且在多头自注意力(MSA)中集成了增强型快捷连接,这有效地为Transformer架构引入了更多的非线性。并增广Shortcut(Augmented Shortcut)来缓解特征坍塌的问题,提高大语言模型的表达能力。
Panguπ作为一种全新的LLM架构,专门设计用于解决特征坍塌问题。通过在FNN(Feedforward Neural Network)和MSA(Multi-Head Self Attention)模块中引入更多的非线性元素,值得关注的是Panguπ架构虽然从两个关键方面增强了模型的非线性表达,但是却不会显著增加模型的复杂性。
首先,在FNN中,作者采用了一种基于级数的激活函数,该函数包含多个可学习的仿射变换。这一创新不仅有效地提高了整个网络的非线性,而且计算量相对较小,使得模型在处理复杂任务时能够更加高效。
其次,为了防止特征秩的坍塌,作者对每个MSA模块的主分支和增强型短路连接(Augmented Shortcut)进行了并行处理。这一策略有助于维持特征的多样性,提高模型的稳定性。为了保持模型的高效性,作者还对增强型短路操作进行了精心优化,使其更适合硬件实现。通过这两项创新操作的叠加,模型实现了显著的非线性补偿,而不增加额外的参数规模。
Panguπ架构包括两个主要版本,分别是Panguπ-7B和Panguπ-1B,两者在模型规模上存在差异。通过在大规模语料库上进行训练,Panguπ大模型展现了卓越的通用语言能力。在各种自然语言处理任务上的大量实验证明,相较于之前的大模型,Panguπ在准确性和效率方面均表现更为出色。
除了基础能力外,作者将Panguπ-7B部署在金融和法律领域,形成了一个专门的LLM,命名为云山大模型。在实际商业应用中,云山大模型展现出卓越的性能,特别是在金融和法律基准的广泛评估中,它超越了其他相似规模的先进大模型。这表明Panguπ架构不仅在通用语言能力上取得了成功,而且在高价值领域的实际应用中也具备了显著的优势。
为了进一步证实Panguπ架构的特征有效性,研究者进行了丰富的可视化实验,首先对各层特征的有效维度进行了深入分析。有效维度作为一个基于主成分方差的分析指标,反映了实现预设总方差(0.8)所需的特征维度数。Panguπ架构在各层中展现了一致较高的有效维度数,相对于没有非线性增强的结构,这验证了架构设计的出色性能。
进一步探索各层特征的多样性,研究者进行了可视化实验。通过主成分分析将来自同一token在不同上下文下的特征降维,呈现出在三维空间中明显的聚类现象。Panguπ模型展示了更为显著的多样性,而随着层数的增加,来自同一token的特征逐渐形成了更为高维度且丰富的聚类群,充分彰显了对上下文语义的深刻理解与融合。
与此同时,研究者在基于LAMBDA数据集的续写任务中,对各个模型的输入显著性进行了详细分析。在实验中,通过统计最终输出结果在每个特征维度上的梯度绝对值,反映了各token对最终结果的影响程度。以一个例子来看,在续写任务中,模型被要求输出前文提到的人名"chestor",Panguπ模型相较于基线模型更为准确地捕捉到了上文的有效信息,最终成功输出了正确的结果。这个例子更加强调了Panguπ架构在处理语境相关任务时的卓越性能。
这些可视化实验结果展示了在不同模型架构下,模型各层的有效特征和隐特征的可视化呈现。进一步强调了Panguπ架构在提高特征的表达效能方面所取得的显著进展。
以上的UniRepLKNet、StripedHyena、PanGu-π是有可能会在未来替代Transformer的模型架构,下一篇文章我们将继续剖析其它有可能会替代Transformer的模型架构。