Skip to main content
QUICK REVIEW

[论文解读] MEC: Memory-efficient Convolution for Deep Neural Network

Minsik Cho, Daniël Brand|arXiv (Cornell University)|Jun 21, 2017
Advanced Neural Network Applications参考文献 24被引用 49
一句话总结

MEC(内存高效卷积)是一种新颖的卷积算法,通过将输入张量紧凑地压缩为高度压缩的格式,降低内存开销,从而利用优化的BLAS例程实现更快的矩阵乘法。与传统方法相比,MEC在移动设备上实现了高达3.4倍的内存使用降低和90%的推理速度提升,在各类DNN工作负载下,CPU和GPU平台均表现出显著的性能提升。

ABSTRACT

Convolution is a critical component in modern deep neural networks, thus several algorithms for convolution have been developed. Direct convolution is simple but suffers from poor performance. As an alternative, multiple indirect methods have been proposed including im2col-based convolution, FFT-based convolution, or Winograd-based algorithm. However, all these indirect methods have high memory-overhead, which creates performance degradation and offers a poor trade-off between performance and memory consumption. In this work, we propose a memory-efficient convolution or MEC with compact lowering, which reduces memory-overhead substantially and accelerates convolution process. MEC lowers the input matrix in a simple yet efficient/compact way (i.e., much less memory-overhead), and then executes multiple small matrix multiplications in parallel to get convolution completed. Additionally, the reduced memory footprint improves memory sub-system efficiency, improving performance. Our experimental results show that MEC reduces memory consumption significantly with good speedup on both mobile and server platforms, compared with other indirect convolution algorithms.

研究动机与目标

  • 解决im2col、FFT和Winograd等间接卷积方法带来的高内存开销问题,这些方法在内存受限设备上会降低性能。
  • 开发一种内存高效的卷积算法,在不牺牲准确率的前提下保持高性能计算能力。
  • 减少内存占用以提升缓存局部性和内存子系统效率,尤其针对内存受限的移动和服务器平台。
  • 构建一个通用的、与平台无关的卷积引擎,适用于包括移动设备、GPU和CPU系统在内的多种硬件部署。
  • 最小化内存访问流量和SRAM使用量,以降低边缘和移动AI应用中的能耗并提升响应速度。

提出的方法

  • 提出一种紧凑的下拉技术,将输入特征图转换为内存占用显著低于传统im2col或Winograd方法的压缩张量格式(L)。
  • 利用高度优化的BLAS例程并行执行多个小型矩阵乘法,充分发挥快速GEMM操作的优势。
  • 在保持与标准卷积相同功能输出的同时,由于高效的数据布局,内存占用大幅降低。
  • 采用行主序张量索引和子矩阵操作,实现与现有BLAS库的直接集成,无需数据移动。
  • 优化内存访问模式以提升缓存局部性,尤其有利于服务器CPU中的复杂缓存层次结构。
  • 支持CPU和GPU部署,无内核配置限制,可实现所有内核和通道的完全并行化。

实验结果

研究问题

  • RQ1一种新型的矩阵下拉方案是否能在不损害计算效率的前提下减少卷积中的内存开销?
  • RQ2在移动和服务器平台上,MEC与im2col、FFT和Winograd在内存消耗和运行时间方面相比如何?
  • RQ3减少的内存占用在多大程度上提升了缓存效率和卷积操作的整体性能?
  • RQ4MEC是否能在无需内核特定调优或配置限制的前提下,在多样化的硬件平台(CPU、GPU、移动设备)上实现高性能?
  • RQ5MEC的内存效率是否能转化为对真实DNN(如ResNet-101)在能效和推理速度方面的可测量提升?

主要发现

  • 在移动平台上,MEC相较于基于im2col的卷积,内存消耗最高可降低3.4倍,平均降低3.2倍。
  • 在移动设备上,MEC.cpu在特定层(如cv6)的推理速度比Conv.cpu快90%,整体快20%。
  • 在服务器CPU上,MEC.cpu的运行时间比Conv.cpu降低8.8倍,并在7个基准测试中的5个上优于Wino.cpu。
  • 在服务器GPU上,MEC.gpu在所有测试方法中表现出最低的内存开销,其矩阵写入操作比Conv.gpu快85%,得益于更少的数据移动。
  • 在移动设备上运行ResNet-101时,MEC将总内存使用量降低3倍,运行时间提升20%。
  • 在默认缓存系统下,MEC.cpu的末级缓存未命中率仅为0.3%(而Conv.cpu为4%),证明其具有卓越的缓存效率。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。