Mobile-3DCNN:一种用于在移动设备上超实时执行大型3D卷积神经网络(3D CNN)的加速框架

《ACM Transactions on Architecture and Code Optimization》:Mobile-3DCNN: An Acceleration Framework for Ultra-Real-Time Execution of Large 3D CNNs on Mobile Devices

【字体: 时间:2025年11月07日 来源:ACM Transactions on Architecture and Code Optimization

编辑推荐:

  针对移动设备执行3D CNN的挑战,提出Mobile-3DCNN框架,结合细粒度结构化剪枝(Vanilla和3D-KG方案)与自适应编译器优化(权重重排、紧凑存储、循环调度),并通过动态选择剪枝与3D Winograd算法,实现实时推理。实验表明在C3D、R(2+1)D等模型上速度提升达34倍,精度损失小于5%。

  ### 3D CNN在移动设备上的加速:Mobile-3DCNN框架解读

近年来,3D卷积神经网络(3D CNN)在视频分析和动作识别等领域得到了广泛应用。然而,将3D CNN部署到移动设备上,尤其是在需要实时执行和高推理精度的情况下,面临诸多挑战。这是因为3D CNN的模型尺寸和结构通常比2D CNN更为庞大,导致其对计算和内存资源的需求显著增加。在移动平台上,这种高需求可能限制了模型的执行效率,使其难以满足实时处理的需求。

为了应对这一挑战,本文提出了一种名为Mobile-3DCNN的端到端3D CNN加速框架,该框架通过结合权重剪枝和编译器优化,实现了对3D CNN的高效执行。具体而言,Mobile-3DCNN包括两个主要部分:一种新的细粒度结构化剪枝方法,该方法在剪枝时考虑了后续编译器优化,并且支持高剪枝精度;以及一套基于剪枝的编译器优化和代码生成技术,能够将剪枝带来的性能提升转化为实际的执行效率。

#### 3D CNN执行的挑战

3D CNN引入了时间维度,这使得其在执行过程中面临两个主要挑战。首先,模型的总数据量、输入、中间结果和输出的大小显著增加,导致较大的内存占用,通常超出移动设备的片上缓存容量。其次,计算量也显著增加,使得3D卷积的推理延迟远高于2D卷积。这种延迟使得3D CNN在移动平台上难以实时执行,尤其是在涉及视频流处理时。

以C3D为例,这是一种主流的3D CNN模型,其在移动CPU(如Qualcomm Snapdragon Kryo 585)上完成一次推理需要约3秒,显然无法满足实时处理的要求。这表明,现有的3D CNN执行方案在移动设备上的性能仍有待提升。

#### 剪枝与编译器优化的结合

为了克服上述挑战,Mobile-3DCNN提出了两种结构化剪枝方案:Vanilla结构化剪枝和3D-KG结构化剪枝。这两种方案都考虑了后续编译器优化,使得剪枝后的权重能够在移动硬件上以更高效的方式执行。其中,Vanilla结构化剪枝是一种较为直接的剪枝方式,将多个连续的卷积核按照相同的输入进行剪枝。而3D-KG结构化剪枝则更加灵活,能够在保持模型精度的同时,实现更高的剪枝率。

此外,本文还提出了两种剪枝算法:正则化剪枝和重加权正则化剪枝。这些算法能够在训练过程中动态调整剪枝的强度,从而在保证模型精度的前提下,实现更高效的剪枝。与传统的固定正则化剪枝相比,重加权正则化剪枝能够更有效地减少剪枝带来的精度损失,同时实现更高的剪枝率。

#### 3D-KG结构化剪枝的优势

3D-KG结构化剪枝的一个重要优势在于,它能够充分利用移动设备的SIMD(单指令多数据)并行计算能力。SIMD并行计算是现代嵌入式处理器(如CPU和GPU)的重要特性,能够显著提升计算效率。通过将多个卷积核按照相同的输入位置进行剪枝,3D-KG能够确保计算过程的规律性,从而更好地匹配SIMD并行计算的特性。

另一个关键优势在于,3D-KG结构化剪枝能够实现更高的灵活性。这意味着,它可以在不同的剪枝率下保持较高的模型精度,从而在不同应用场景中提供更广泛的支持。例如,在某些层中,需要采用较低的剪枝率以确保模型精度,而3D-KG能够在这种情况下仍然保持较高的执行效率。

#### 自适应剪枝与Winograd算法选择

为了进一步提升执行效率,Mobile-3DCNN引入了一种自适应剪枝与Winograd算法选择机制。该机制通过离线分析,确定每个层的最佳剪枝率,从而在剪枝和Winograd算法之间进行选择。Winograd算法是一种高效的卷积计算方法,能够在减少计算量的同时,保持较高的精度。然而,如果剪枝率过低,Winograd算法可能无法带来足够的性能提升。因此,自适应剪枝与Winograd算法选择机制能够在保证模型精度的前提下,实现更高的执行效率。

#### 编译器优化与代码生成

Mobile-3DCNN的另一个重要组成部分是编译器优化和代码生成技术。这些技术能够将剪枝后的模型转换为更高效的执行代码。例如,通过数据布局选择、权重重新排序、紧凑权重存储、循环调度等技术,编译器优化能够显著减少内存访问的开销,并提升计算效率。

在代码生成过程中,Mobile-3DCNN采用了多种优化策略,包括循环合并、循环重排、循环展开等。这些策略能够提升代码的执行效率,使得剪枝后的模型在移动设备上能够以更高的速度运行。此外,通过自动调优技术,Mobile-3DCNN能够找到最优的执行配置,从而进一步提升性能。

#### 实验结果与分析

本文对Mobile-3DCNN进行了广泛的实验验证,测试了其在多种3D CNN模型(如C3D、R(2+1)D和S3D)上的执行效率。实验结果表明,Mobile-3DCNN在移动CPU和GPU上均能够实现显著的性能提升。例如,在移动GPU上,Mobile-3DCNN能够将16帧的推理时间缩短至109毫秒,即每帧仅需6.8毫秒,这已经接近实时执行的标准。

此外,Mobile-3DCNN在保持模型精度的同时,实现了较高的剪枝率。例如,在C3D模型上,剪枝率为3.5倍时,模型精度仅下降了约1.5%。而在R(2+1)D模型上,剪枝率为3.1倍时,模型精度下降了约1.2%。这些结果表明,Mobile-3DCNN能够在不显著牺牲精度的情况下,实现较高的执行效率。

#### 与其他框架的比较

Mobile-3DCNN与现有的两个端到端CNN加速框架(Alibaba Mobile Neural Networks和PyTorch-Mobile)进行了比较。实验结果表明,Mobile-3DCNN在移动CPU和GPU上的执行效率均优于这两个框架。例如,在移动CPU上,Mobile-3DCNN能够实现3倍到4倍的加速,而在移动GPU上,加速率可达8倍到13倍。这些结果表明,Mobile-3DCNN在移动设备上的执行效率具有显著优势。

#### 未来展望

本文提出的Mobile-3DCNN框架为3D CNN在移动设备上的高效执行提供了一种新的解决方案。通过结合结构化剪枝和编译器优化,Mobile-3DCNN能够在保持模型精度的同时,实现显著的性能提升。此外,自适应剪枝与Winograd算法选择机制进一步提升了执行效率,使得Mobile-3DCNN能够支持更高精度的3D CNN模型在移动设备上的实时执行。

未来,Mobile-3DCNN可以进一步扩展,以支持更多的3D CNN模型和不同的应用场景。例如,可以探索如何将Mobile-3DCNN应用于其他类型的神经网络,如图卷积网络(GCN)或Transformer模型。此外,还可以进一步优化编译器技术,以提升代码生成的效率,从而实现更高的执行速度。

总之,Mobile-3DCNN为3D CNN在移动设备上的高效执行提供了一种可行的解决方案,其通过结构化剪枝和编译器优化的结合,显著提升了执行效率,同时保持了较高的模型精度。这为未来在移动设备上部署大型3D CNN模型提供了新的思路和方法。
相关新闻
生物通微信公众号
微信
新浪微博
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号