Proteus:在ImageNet级别成本下访问视觉基础模型的新方法

Accessing Vision Foundation Models at ImageNet-level Costs

摘要

本文介绍了一种名为Proteus的新型知识蒸馏框架,旨在将基础视觉模型(如CLIP和DINOv2)的知识转移到较小的模型中,而无需访问原始的大规模训练数据。Proteus通过在ImageNet-1K数据集上进行训练,实现了高效的模型压缩,同时保持了强大的泛化能力。该方法通过去除传统知识蒸馏中的设计偏差,并引入三个级别的训练目标(即token、patch和特征级别),最大化知识转移的效率。实验结果表明,Proteus在多个基准测试中与原始大型模型相媲美,甚至在某些情况下超越了它们,为更广泛的研究社区提供了训练基础模型的可访问性。

原理

Proteus的工作原理基于知识蒸馏,这是一种模型压缩技术,通过将大型预训练模型的知识转移到较小的模型中。具体来说,Proteus采用了一种新颖的方法,通过模拟教师模型的行为来转移知识,而不是直接复制其输出。这种方法通过三个级别的训练目标来实现:

  1. Token级别:通过最小化教师和学生模型分类token之间的L2距离,学习高层次的判别特征。
  2. Patch级别:引入掩码图像建模的概念,强制学生模型预测被掩码区域的token化表示,从而揭示基础模型中的隐藏知识。
  3. 特征级别:通过特征级别的知识转移,确保模型在密集预测任务(如语义分割)上的性能。

Proteus通过这些级别的训练目标,有效地模拟了教师模型的行为,同时避免了数据集偏差,从而在有限的ImageNet-1K数据集上实现了高效的模型压缩和泛化能力的保持。

流程

Proteus的工作流程包括以下几个关键步骤:

  1. 数据准备:使用ImageNet-1K数据集作为代理数据集,准备进行模型训练。
  2. 模型初始化:初始化一个随机的小型学生网络和一个预训练的大型教师网络(如DINOv2)。
  3. 知识蒸馏:通过三个级别的训练目标(token、patch和特征级别),将教师模型的知识转移到学生模型中。
  4. 训练过程:在ImageNet-1K上进行训练,优化学生模型的参数,使其能够模拟教师模型的行为。
  5. 评估与验证:在多个基准测试上评估学生模型的性能,包括分类、语义分割和深度估计任务。

通过这一流程,Proteus能够在保持模型性能的同时,显著降低训练成本和数据需求。

应用

Proteus的应用前景广泛,特别是在资源受限的环境中,如移动设备和边缘计算。由于其能够在较小的数据集上实现高效的模型压缩,Proteus为开发更轻量级、高性能的视觉模型提供了可能。此外,该方法还可以应用于其他领域,如自然语言处理和多模态学习,为大型语言模型和多模态模型的压缩和部署提供了新的思路。随着深度学习模型的不断发展,Proteus有望成为模型压缩和部署的重要工具。