令牌压缩通过减少冗余令牌数量来加快ViT的训练和推理,如剪枝疏忽令牌或融合相似令牌。然而当应用到下游任务时,这些方法在压缩程度在训练和推断阶段不匹配时遇到了显著的性能下降。本文提出了一种模型算法框架,用于解耦两个阶段之间压缩程度。本文另外提出了一种快速参数高校自蒸馏阶段,以获得一个名为令牌补偿器(Token Compensator)的小插件。在推断时,ToCom能被直接插入任何具有任何不匹配的训练和推断压缩的下游线程模型中,以获得普遍的性能提升,而不需要进一步训练。
压缩度的影响
本文中主要关注有代表性且SOTA的无训练令牌压缩算法ToMe,该方法可以适应其他方法。ToMe在MHSA和MLP块之间操作。它利用补丁令牌的键评估相似度,并使用二部图软匹配融合 r r r 相似的令牌。
在ToMe中,每层融合令牌的数量视作为调整ViT吞吐量的超参数,这通常由训练前推断需求决定。越多的令牌参与融合,模型在训练和推断时越快。然而在现实世界场景中,训练时压缩程度与推断时可能鄙视相等的。也就是说在一个压缩都训练的现成模型可以在不同的压缩度下应用,而无需重训练。这种情况具有实际意义,例如在不访问训练数据或资源情况下使用下载的检查点进行再训练,或者在基于服务器负载的推理过程中动态调整压缩程度。此外在现有计算资源有限的条件下,可能必须使用高压缩率来减少训练期间的内存和时间开销。
实验中观察到给定特定目标压缩率,模型在压缩率匹配时性能好。源压缩率与目标压缩率差异越多,性能下降越多。由于在较低压缩率训练的模型在训练时见到了较多的令牌,这意味着它们遇到的信息范围比在更高压缩率下训练的模型更广,理想情况下,前者在各种目标压缩率下都应该优于后者。这表明在不同源压缩都下训练的模型存在差异,使得不同压缩率之间的转换效率降低。
任务间迁移
对于有不同源压缩率的模型间差距,本文提出的问题是:该差距在任务间是否是可迁移的。定义 M m D A \mathcal{M}_{m}^{D_{A}} MmDA 和 M n D A \mathcal{M}_{n}^{D_{A}} MnDA 是在压缩率 m m m, n n n 和数据集 D A D_{A} DA上训练的模型。 M m D B \mathcal{M}_{m}^{D_{B}} MmDB 和 M n D B \mathcal{M}_{n}^{D_{B}} MnDB 是在数据集 D B D_{B} DB上训练的模型。如果该差距是可迁移的,那么应该满足:
M m D A − M n D A ≈ M m D B − M n D B \mathcal{M}_{m}^{D_{A}}-\mathcal{M}_{n}^{D_{A}}\approx \mathcal{M}_{m}^{D_{B}}-\mathcal{M}_{n}^{D_{B}} MmDA−MnDA≈MmDB−MnDB
改写该式得到:
M m D A − M n