
摘要
我们介绍了一种简单的方法——Token Merging(ToMe),用于在无需重新训练的情况下提高现有ViT模型的吞吐量。ToMe通过一种通用且轻量级的匹配算法逐步合并Transformer中的相似标记,该算法不仅与剪枝一样快速,而且更加准确。使用现成的ToMe,可以在图像上将最先进的ViT-L @ 512和ViT-H @ 518模型的吞吐量提高2倍,在视频上将ViT-L模型的吞吐量提高2.2倍,而每种情况下仅损失0.2-0.3%的准确性。此外,ToMe也可以轻松应用于训练过程中,实际上可以将MAE在视频上的微调训练速度提高至2倍。使用ToMe进行训练进一步减少了准确性的下降,使得ViT-B在音频上的吞吐量达到2倍,而mAP仅下降0.4%。从定性分析来看,我们发现ToMe能够在多个视频帧中将物体的部分合并为一个标记。总体而言,ToMe在图像、视频和音频方面的准确性和速度均具有竞争力。
代码仓库
tanvir-utexas/PaPr
pytorch
GitHub 中提及
pwc-1/Paper-9/tree/main/5/vit_mae
mindspore
facebookresearch/tome
官方
pytorch
GitHub 中提及
dbolya/tomesd
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| efficient-vits-on-imagenet-1k-with-deit-s | ToMe ($r=8$) | GFLOPs: 3.4 Top 1 Accuracy: 79.7 |
| efficient-vits-on-imagenet-1k-with-deit-s | ToMe ($r=13$) | GFLOPs: 2.7 Top 1 Accuracy: 79.4 |
| efficient-vits-on-imagenet-1k-with-deit-s | ToMe ($r=16$) | GFLOPs: 2.3 Top 1 Accuracy: 79.1 |
| efficient-vits-on-imagenet-1k-with-deit-t | ToMe ($r=16$) | GFLOPs: 0.6 Top 1 Accuracy: 70.7 |
| efficient-vits-on-imagenet-1k-with-deit-t | ToMe ($r=12$) | GFLOPs: 0.8 Top 1 Accuracy: 71.4 |
| efficient-vits-on-imagenet-1k-with-deit-t | ToMe ($r=8$) | GFLOPs: 0.9 Top 1 Accuracy: 71.7 |