论文标题:ViT-Reg: Regression-Focused Hardware-Aware Fine-Tuning for ViT on tinyML Platforms
作者信息:Md Ragib Shaharear、Arnab Neelim Mazumder 和 Tinoosh Mohsenin,分别来自约翰霍普金斯大学电气与计算机工程系和马里兰大学巴尔的摩分校计算机科学与电气工程系。
论文出处:IEEE DESIGN AND TEST
摘要: 本文介绍了一种名为ViT-Reg的方法,它是一种基于回归的、针对tinyML平台上Vision Transformers(ViTs)的硬件感知微调方法。ViTs在图像分类任务中表现出显著的性能提升,但在资源受限的tinyML平台上部署时面临挑战,因为它们对计算需求高且动态功耗大。ViT-Reg通过多项式回归缩小搜索空间,同时将准确性作为约束条件,有效探索配置空间,显著降低了与架构搜索相关的计算开销。在CIFAR-10和Tiny-ImageNet数据集上的实验表明,ViT-Reg在Nvidia Jetson Nano上的部署相较于基线ViT模型,动态功耗分别减少了55.6%和37.4%,能效提高了65%和60%,并且相对于VGG模型的硬件实现,能效提升了8倍。
引言: 深度学习的最新进展,尤其是使用自注意力机制的ViTs,显著提高了图像识别、分类和语义分割等计算机视觉任务的性能。然而,ViTs架构的设计尚未充分探索,需要在模型准确性和硬件资源消耗之间找到平衡。ViT-Reg提出了一种基于回归的微调技术,通过训练具有不同变量配置的多个模型,使用回归分析准确性和动态功耗,从而发现给定目标和约束的近优解。
相关工作: ViTs通过将图像划分为固定大小的块,将它们转换为平面向量,并使用位置嵌入投影到高维空间中来处理图像。ViTs的自注意力机制使模型能够关注分类的相关块。尽管ViTs在tinyML设备上的部署尚未充分探索,但本文的方法避免了依赖于传统暴力算法的NAS方法,而是基于多项式回归,使搜索过程更加轻量级。
背景与提出的架构: ViTs通过自监督方法基于两个关键变量:补丁数量(n)和嵌入维度(d)进行训练。训练完成后,将ViT配置部署到目标设备上,如Nvidia Jetson Nano,以测量推理期间的动态功耗。ViT-Reg方法通过多项式回归分析不同ViT配置对准确性和动态功耗的影响,从而得到两个不同的性能轮廓,并执行单目标优化以识别近优配置。
软件和硬件实验设置: 实验使用了CIFAR-10和Tiny-ImageNet数据集,分别包含32x32像素和64x64像素的图像。ViTs在小数据集上训练时表现不佳,因此本文采用了自监督权重学习训练过程。评估了ViT的9种不同配置的准确性,并使用PyTorch库进行了100个周期的训练。将软件模型转换为ONNX格式,并在Nvidia Jetson Nano SDK GPU上进一步转换为TensorRT表示,以创建GPU可加速的推理引擎。
基于回归的建模: 为了预测准确性,开发了一个准确性多项式,使用最小二乘误差方法来近似ViT的准确性水平。动态功耗多项式取决于计算、特征图和杂项组件的功耗。通过在TensorRT引擎中运行推理并使用tegrastats实用工具来测量GPU在模型推理期间的平均动态功耗和延迟。
近优解: 近优解涉及开发数学模型,将参数与准确性和动态功耗联系起来。通过设置目标准确性,解决在这些条件下实现目标准确性的d和n的值,并确保在这些条件下最小化功耗,来识别近优配置。
与现有工作的比较: ViT-Reg模型与最近在Jetson Nano上实现的VGG网络和DeiT-small模型相比,显示出显著的效率和性能提升。ViT-Reg在CIFAR-10数据集上消耗的动态功率仅为886毫瓦,比VGG的3900毫瓦低4.4倍。此外,ViT-Reg在延迟和能效方面也有显著改进。
结论: ViT-Reg提供了一种轻量级搜索方法,用于确定适合在tinyML设备上低功耗部署的ViT配置。该方法引入了动态功耗多项式,通过考虑设备趋势,使过程具有硬件感知能力。ViT-Reg方法显著降低了动态功耗,提高了延迟和能效,与最近的VGG实现和DeiT-small模型相比具有优势。未来的工作可以将单一目标优化问题扩展为多目标方法,考虑动态功耗和推理速度等多个指标作为目标,将准确性或峰值内存作为约束条件。