乐趣区

关于深度学习:为什么我们拥有庞大的语言模型而Vision-Transformers的规模却很小

编者按:本文探讨了语言模型为何会比视觉模型的参数数量大得多的起因,并具体介绍了传统 ViT 训练方法在扩大时呈现不稳定性的问题。

为此,本文介绍了如何改良架构以实现扩大,并探讨了实现模型最优状态的办法。同时,如何在扩大模型时不产生“偏见”,也是本文重点关注的问题。

很可能,咱们很快就能够看到更大型的 ViT(独自或作为多模态模型的组成部分)呈现。

以下是译文,Enjoy!

作者 | Salvatore Raieli

编译 | 岳扬                   

近年来,咱们看到 Transformers 的参数数量疾速减少。但仔细观察会发现,次要是语言模型(LLMs)的参数在一直减少,当初曾经高达惊人的 540 亿参数 [1]。 为什么这种状况没有呈现在视觉模型呢?

对于文本模型(text models),减少数据集大小、应用可随时延展的架构(scalable architectures)和新的训练方法都可能使参数数量增长。如此不仅进步了模型在实现特定工作(如分类等)时的性能,而且随着参数数量的减少,咱们还看到了 “涌现” 的呈现。

各阶段最先进 NLP 模型的参数大小随工夫变动的趋势图。训练这些模型所需的浮点运算数量正以指数形式增长。 [2]

此外,因为大模型可作为迁徙学习和微调的根底,因而人们对研发高性能模型的趣味一直增长。虽已大模型胜利利用于多种工作,但许多图像剖析工作仍须要专门的模型。

Transformer 的 自注意力机制(self-attention) 其劣势曾经失去证实,成为 2016 年以来的首选模型架构。因而,一些团队曾经训练了用于图像处理的 Transformer 模型(vision transformer, ViT)。目前,最强的 ViT 仅有 150 亿个参数。造成这一景象的起因是什么?

最近一项钻研中,谷歌胜利地训练了一个具备 220 亿参数的模型,并揭示了扩大 ViT 存在艰难的起因。

内容提纲:1. 解释了为什么传统 ViT 训练方法在扩大时呈现不稳定性的起因。 2. 介绍了如何改良架构以实现扩大,以及模型达到最优状态的办法。 3. 同时,还探讨了如何在扩大模型时进步公平性(fairness)。

01 什么是 vision transformers?

Image from Wikipedia (https://en.wikipedia.org/wiki/Vision_transformer)

Transformers 实质上是不变的,但不能解决网格构造(grid-structured)数据(只能解决序列数据)。因而,为了应用 Transformer 解决图像,咱们须要将图像转换成序列数据。 具体如何实现呢?

第一步是 将图像转换成一系列片段(patches),称为图像块(image patches)。这些图像块基本上是咱们须要的 tokens(相似于经典 Transformer 中的 words)。而后,这些 图像被“压平”(flatten)并转换为低维度嵌入 (这样能够保留信息但缩小维度)。此外,像原始 Transformer 一样,咱们 应用地位编码(positional encoding),以便模型晓得图像块在图像中的地位。

提出 ViT 的论文这样形容 ViT (https://arxiv.org/pdf/2010.11929.pdf)

该模型随后将进行监督学习的训练(利用带有图像标签的大型数据集),并能够用于上游工作。

02 为什么难以扩大 ViT,如何解决这个问题?

在引入 ViTs 之前,卷积网络(convolutional networks)始终是实现计算机视觉工作的规范。在《A ConvNet for the 2020s》[3]一文中,作者指出无效扩大模型规模这一问题仍未解决。

另一方面,咱们仍尚未扩充 ViTs 的规模。因为 在 Transformers 中,模型的规模扩大会导致呈现无奈预知的行为,这是一个重大的问题。

作者指出,超过 8B 参数后,训练过程中会呈现不稳定性,在训练数千 steps 后呈现了不收敛的训练损失。 这是因为 attention logits 中的极大值造成的,导致 (简直是独热编码(one-hot)) 的注意力权重接近于零熵(near-zero entropy)。为了解决这个问题,作者在点积计算(dot-product)之前给 Queries 和 Keys 增加了层归一化(layer-normalization)。

在上面这幅图中,展现了用这一办法如何改善训练成果。

(source: https://arxiv.org/pdf/2302.05442.pdf)

第二种办法是通过 批改架构。在传统的 Transformer 中,在通过自注意力(self-attention)之后输入的是一个多层感知机(multi-layer-perceptron, MLP[4])。相同,这里的自留神模块(self-attention blocks)与 MLP 并行处理,这种操作不会升高性能,甚至能够将训练速度晋升 15%(如谷歌的另一个大型模型 PaLM 所示,这个操作基本上是将矩阵乘法(matrix multiplications)合并为单个运算)。

此外,在注意力机制的投影操作中不再应用偏置项(bias term)(如此也不会升高性能但能够缩短训练工夫)。

在图中展现了施行这些措施后的新注意力模块:

(source: https://arxiv.org/pdf/2302.05442.pdf)

上面这张表格对 Google 的模型(ViT-22)和之前最大的 ViT 模型——ViT- G 和 ViT- e 进行比拟。

(source: https://arxiv.org/pdf/2302.05442.pdf)

针对训练过程也进行了优化。谷歌采纳了 JAX[5](其已成为谷歌的重点项目,相比之下,TensorFlow 则不太受关注)。他们还应用了一些技巧(异步并行线性操作(asynchronous parallel linear operations)、模型参数切片(parameter sharding))来确保使得模型针对 TPU(张量处理单元)进行了优化。

作者应用了一个约 40 亿张图像组成的数据集,这些图像被半自动地划分为 30,000 个类别。有一点须要留神,在 ViT 中,图像被划分成多个局部(称为“patches”),而后与地位(地位编码)一起转换为序列(sequence)。每张图像(224 x 224)被划分成 14 x 14 个 patches,因而一张图像最终由 256 个 tokens 示意。

03 对 ViT 进行扩大是否值得?

模型训练好后,在 ImageNet 数据集(一百万张图片和一千个类别)上进行了测试,次要是为了测试其分类能力。结果表明:相比其余模型,这个 frozen model(即无需进行微调的模型)的性能相当。

(source: https://arxiv.org/pdf/2302.05442.pdf)

此外,该模型已在另一个应用不同图像分辨率的数据集上进行了测试。当 input size 较小时,ViT-22B 能够显著进步准确率。

(source: https://arxiv.org/pdf/2302.05442.pdf)

另一方面,大模型最常见的用处之一就是进行迁徙学习(transfer learning)。毕竟,人们通常应用小数据集对大模型进行微调,以实现不同于训练任务的工作。依照作者的说法:

密集预测(dense prediction)的迁徙学习尤为重要,因为进行像素级标注可能代价昂扬。在本节中,作者考察了 ViT-22B 模型(应用图像级分类指标(image-level classification objective)进行训练)在语义宰割(semantic segmentation)和单目深度预计(monocular depth estimation)工作上获取几何和空间信息的品质。(起源:https://arxiv.org/pdf/2302.05442.pdf)

为测试该模型,作者应用了三个语义宰割基准数据集(ADEK20k、Pascal Context、Pascal VOC)。此外,他们还测试了应用无限数据进行迁徙学习时的状况。

在 ADE20k 数据集上进行小样本(Fewshot)语义宰割,仅利用训练集的一小部分。本钻研还给出在验证集上进行语义宰割的交并比(IoU)(source: https://arxiv.org/pdf/2302.05442.pdf)

ViT-22 在数据量较少时体现最佳,这十分有用,因为通常获取图像及其宰割掩码(segmentation mask)的代价十分低廉,因而相较于其余模型,该模型须要的示例数量要更少。

此外,该模型在 Waymo Open 数据集上展现了卓越的单眼深度预计(monocular depth estimation)能力。

在进行 Waymo Open 数据集上应用不同解码器对解冻的 ViT 特色进行单目深度预计

(source: https://arxiv.org/pdf/2302.05442.pdf)

此外,通过从新设计模型(但保留预训练的 ViT-22),能够将其用于视频分类工作。这 表明了利用该模型具备可塑性,可能可能进行多种其余的工作。

另外,作者还展现了微调该模型可能进步其性能的案例:

视频分类后果。咱们通过解冻骨干网络,并训练一个小型 Transformer 来汇聚解冻的每一帧表征(representations.)来评估 ViT-22B 的体现。ViT-22B 胜过了之前蕴含 40 亿参数的最大视觉骨干网络 ViT-e。(source: https://arxiv.org/pdf/2302.05442.pdf)

04 这个模型的公平性如何?

AI 模型容易受到偏见的影响。许多偏见存在于训练数据集中,导致模型放大、学习了 虚伪相关性和不统一误差(spurious correlation and error disparities)。因为预训练模型会用于其余工作,谬误的偏见会始终连续。

作者认为,对模型进行扩大能够缩小这些偏见,并通过应用“群体均等(demographic parity)”(DP)作为公平性的度量规范来进行测试。

作者解释了他们的办法:

咱们应用 CelebA(Liu 等人,2015)数据集,选取二元的性别(仅有男和女)作为敏感属性(sensitive attribute),而指标是“有吸引力(attractive)”或“微笑(smiling)”。须要留神这些试验仅用于验证技术要求,不应被认为其反对这类与视觉相干的工作。咱们抉择这些属性(性别)是因为这个模型展示了与性别相干的偏见,如图 15 所示。(source:https://arxiv.org/pdf/2302.05442.pdf)

“在没有偏见缩小的状况下,模型中的 DP 通常反映了数据中的 DP。在这个图中,二元的性别是敏感属性,应用预训练特色在 CelebA 数据集上训练 linear heads 来预测其余属性。”

(source: https://arxiv.org/pdf/2302.05442.pdf)

如文献所述,扩充模型的规模提供了一个更无利的衡量,即“在任何指定偏差束缚(bias constraint)下,性能随模型规模的减少而晋升”。其次,所有子组(subgroups)受害于这种改良,而扩充模型的规模能够缩小不同子组(subgroups)间性能上的差别。

“顶部图:每个 DP 级别的 ViT 变体在打消偏见后的 ACC。中部图:CelebA 中的每个子组在去除偏见之前的 ACC。底部图:y 轴为女性和男性两个子组之间性能差别的绝对值。与较小的 ViT 架构相比,ViT-22B 领有更偏心的体现。”

(source: https://arxiv.org/pdf/2302.05442.pdf)

05模型看到了什么?

计算机视觉模型次要关注纹理,而人类更多地依赖形态。

人类在看一个物体时,具备 96% 的形态偏好和 4% 的纹理偏好。相比之下,ViT-22B-384 的形态偏好达到了 87%,这是前所未有的,而纹理偏好仅为 13%。这一后果十分乏味,因为大多数模型都具备 20-30% 的形态偏好(shape bias)和 70-80% 的纹理偏好(texture bias)。同时,这种偏好也是为什么通过扭转图像的纹理,即便形态是可辨认的,模型也会被坑骗,从而误判图像并谬误地标记它的起因之一。

形态偏好:许多视觉模型具备较低的形态偏好和较高的纹理偏好,而在 ImageNet 上微调的 ViT-22B(图中的红色、绿色、蓝色均应用 4B 张图像进行训练(如模型名称前方的括号所示)),具备迄今为止在机器学习模型中记录的最高形态偏好数值,使其更靠近于人类的形态偏好。(source: https://arxiv.org/pdf/2302.05442.pdf)

此外,了解模型看到了什么的另一种办法是取得显著图(saliency maps)(基于梯度的特色归因办法)

模型冷却前后的显著性

(source:https://arxiv.org/pdf/2302.05442.pdf)

06 总结 Conclusions

Google 公布了一款比之前的 ViTs 模型大 5 倍以上的模型。

咱们推出了 ViT-22B,这是目前最大的视觉 Transformer 模型,其参数量达到了 220 亿。通过对原始构造进行小但要害的批改,咱们能够实现较好的硬件利用率(hardware utilization)和训练稳定性(training stability),从而失去在多个基准测试中当先的模型。(source:https://arxiv.org/pdf/2302.05442.pdf)

除了模型的规模和基准测试后果外,该模型还是更大型模型的根底。事实上,在此之前要胜利扩大 ViT 模型是十分艰难的, 因为 在训练过程中会呈现不稳定性 。不过据作者说, 通过批改架构能够解决这些问题。

大型模型能够作为不同工作的预训练脚手架(pre-trained scaffolds)(计算机视觉模型能够用于许多生存中的工作)。此外,还呈现了一些意想不到的行为 [6]( 这些行为在小型模型中不存在,并且不能通过模型规模来预测其法则)。此外,这些模型能够集成到多模态模型中(并可能影响其中的“涌现(emergent)”行为[7])。

此外,ViT-22B 展现了模型扩大在公平性(fairness)方面曾经失去了改善 。该模型也更加 具备鲁棒性(robust)更合乎人类视觉(即不太依赖纹理,而更多地依赖形态)

很可能,咱们很快将看到更大型的 ViT(独自或作为多模态模型的组成部分)呈现。

END

参考资料

1.https://ai.googleblog.com/2022/04/pathways-language-model-pal…

2.https://arxiv.org/abs/2104.04473

3.https://arxiv.org/abs/2201.03545

4.https://en.wikipedia.org/wiki/Multilayer_perceptron

5.https://www.businessinsider.com/facebook-pytorch-beat-google-…

6.https://arxiv.org/pdf/2206.07682.pdf

7.https://twitter.com/YiTayML/status/1625205983239880704?s=20&t…

本文经原作者受权,由 Baihai IDP 编译。如需转载译文,请分割获取受权。

原文链接

https://towardsdatascience.com/why-do-we-have-huge-language-m…

可点击下方 浏览原文,查看原文。

退出移动版