作者:韩凯V,北京大学 · 智能科学
编辑:青稞AI
论文地址:https://arxiv.org/abs/2306.14525

代码:https://github.com/huawei-noah/

TL;DR

什么是大模型?在标准的神经网络中大参数量往往意味着大计算量,同时需要大数据来训练,因而普通的观点大模型离不开三要素:大参数量+大计算量+大数据量。实际中,我们发现,三要素中只有2个是必要的:大参数量+大数据量,而计算量是可以极大化降低的。
基于此,进而提出了ParameterNet架构,使用MoE来达到增大参数量、不增计算量的目的。视觉任务上能够在比Swin Transformer小7-8倍的计算量达到更高的精度;LLM任务上LLaMA-1B+MoE不增加计算量,精度有2%+的增益。
LLaMA-1B结果

1. 大规模预训练的“小算力陷阱”

为了更好地拟合大数据,近年来AI模型的尺寸(包括参数和FLOPs)越来越大,例如ViT-G/14模型具有1.8B参数和965B FLOPs。移动设备上的AI应用通常需要快速推理,因此现有的预训练大模型由于计算成本高,很难在端侧部署。
为了解决这个问题,我们实证研究了FLOPs在大规模视觉预训练中的作用。大规模预训练数据采用ImageNet-22K,同时ImageNet-1K是一个相对较小的预训练数据集进行比较。然后在ImageNet-1K上微调预训练的Transformer和CNN模型,以评估性能。如图所示,当模型FLOPs逐渐增加时,模型精度持续增加。对于高FLOPs模型,22K预训练模型的性能优于1K模型。然而,低FLOPs模型不能从大规模预训练中受益,我们将这种观察称为低FLOPs陷阱(小算力陷阱)。
视觉Transformer的小算力陷阱
视觉CNN的小算力陷阱

2. 构建ParameterNet

在神经网络中,参数量和FLOPs往往是高度相关的。参数较多的模型通常具有较高的FLOPs。考虑到大数据训练需要更多参数来“记忆”其复杂的知识,我们通过添加参数来构建ParameterNet,同时保持较低的FLOPs。
我们从传统的卷积层开始。给定输入特征X和权重W,传统的卷积层操作为
其中Y是输出,*是卷积运算,为了简洁,这里省略偏置项。全连接层可以看作是核大小为1×1的卷积层。
我们ParameterNet的设计原则是在保持低FLOPs的同时添加更多参数。那么就有多种方法来构造ParameterNet,如动态卷积和重参数化卷积。虽然重参数化卷积在训练过程中增加了参数的数量,但其参数和FLOPs在推理时和原模型是一样的,即模型容量没有增加。在本文中,我们主要考虑了动态卷积,它使参数数量增加了许多倍,而几乎不引入额外的FLOPs。具有M个动态专家的动态卷积可以写成
其中W_i是第i个卷积权重张量,α_i是相应的动态系数。系数α_i是针对不同的输入样本动态生成的,典型的方式是使用MLP模块基于输入生成。对于输入X,使用全局平均池化将信息融合到一个向量中,然后使用具有softmax激活的两层MLP模块动态生成系数:

3. 视觉实验

数据集

我们采用著名的ImageNet-22K进行大规模预训练,ImageNet-1K作为小规模训练数据进行比较。ImageNet-22K是一个大规模图像数据集,包含14,197,122张图像和21841个类别。ImageNet-1K是ImageNet-22K的一个子集,包含1000个类、1,281,167个训练图像和50,000个验证图像。

TL;DR结果

我们通过调整宽度和深度,使用不同的FLOPs(即300M和600M)构建基线GhostNet。我们的ParameterNet是通过用动态卷积取代传统卷积层来构建的。默认情况下,动态专家数设置为4。网络架构的详细信息见论文。结果如下表所示。仅在ImageNet-1K上训练,ParameterNet的性能优于原始的GhostNet精度。对于GhostNet,在ImageNet-22K上进行预训练对性能没有帮助,而ImageNet-22K预训练ParameterNet可以实现2个点以上的大幅提升。

与SOTA的比较

我们将ParameterNet与在ImageNet-22K或更大数据集(如JFT-300M和IG-1B-Targeted)预训练的其他代表性模型进行了比较。从下表的结果中,我们可以看到,具有较少FLOPs的ParameterNet优于其他在大规模数据集上预训练的模型。例如,ParameterNet-600M实现了81.6的Top-1正确率,比Swin-T的计算量少了7倍多。

推理速度

我们评估了ParameterNet和其他模型的推理速度。测速在英特尔CPU上使用ONNX工具包运行,采用单线程模式。如图所示,我们的ParameterNet的性能优于广泛使用的ResNet和Swin Transformer,能够获得更好的精度和时延的平衡。

4. LLM实验

数据集

我们的训练数据集是由几个来源混合而成的,包括C4、Wikipedia和ArXiv。这些数据都是公开可用的,我们直接混合它们而没有进行任何质量过滤。经过Token化处理后,训练数据集包含大约90B个Token。

TL;DR结果

我们根据原始的LLaMA结构,按比例降低了维度和层数,构建了一个基准模型LLaMA-1B,如下表所示。具体而言,特征维数、中间层维数、头数和层数分别为2048、8191、16和12,分词器与LLaMA相同。
结果如下表所示,我们在几个NLP任务上展示了相应的训练损失和zero-shot结果。FLOPs是在输出长度设置为1的情况下计算的。我们观察到更多的专家为基准模型带来了额外的参数,从而显著提高了下游性能。例如,在上投影层上具有8个专家的LLaMA-1B平均获得了2.37%的准确率提升。此外,增加的参数有助于降低训练损失,表明通过将ParameterNet的思想融入语言模型,可以增强对输入数据的理解。
最后总结一下,中心思想就是一个有意思的结论:大规模预训练里,计算量不重要,只需要参数量就够了,Parameters are all you need!

参考文章

[1] Dosovitskiy, Alexey and Beyer, Lucas and Kolesnikov, Alexander and Weissenborn, Dirk and Zhai, Xiaohua and Unterthiner, Thomas and Dehghani, Mostafa and Minderer, Matthias and Heigold, Georg and Gelly, Sylvain and others. An image is worth 16x16 words: Transformers for image recognition at scale. ICLR, 2021.

[2] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017).

[3] Touvron, Hugo, et al. "Llama: Open and efficient foundation language models." arXiv preprint arXiv:2302.13971 (2023).

[4] Zhai, Xiaohua and Kolesnikov, Alexander and Houlsby, Neil and Beyer, Lucas. Scaling vision transformers. CVPR, 2022.

[5] Han, Kai and Wang, Yunhe and Tian, Qi and Guo, Jianyuan and Xu, Chunjing and Xu, Chang. GhostNet: More features from cheap operations. CVPR, 2020.

[6] Chen, Yinpeng and Dai, Xiyang and Liu, Mengchen and Chen, Dongdong and Yuan, Lu and Liu, Zicheng. Dynamic convolution: Attention over convolution kernels. CVPR, 2020.

[7] Jiang, Albert Q., et al. "Mixtral of Experts." arXiv preprint arXiv:2401.04088 (2024).

备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群
id:DLNLPer,记得备注呦
继续阅读
阅读原文