Skip to main content
QUICK REVIEW

[论文解读] Efficient Memory Management for Deep Neural Net Inference

Yury Pisarchyk, Ju Hyun Lee|arXiv (Cornell University)|Jan 10, 2020
Advanced Neural Network Applications参考文献 14被引用 5
一句话总结

本文提出了五种新颖的内存管理策略,通过在中间张量之间智能重用内存缓冲区,以最小化深度神经网络在移动和嵌入式设备上的运行时内存占用。通过建模张量的使用区间,并应用基于大小和广度感知的贪心分配策略,结合条带打包启发式方法,该方法相比最先进方法将内存使用量减少了高达11%,并在大多数模型上达到了接近理论下限的内存占用。

ABSTRACT

While deep neural net inference was considered a task for servers only, latest advances in technology allow the task of inference to be moved to mobile and embedded devices, desired for various reasons ranging from latency to privacy. These devices are not only limited by their compute power and battery, but also by their inferior physical memory and cache, and thus, an efficient memory manager becomes a crucial component for deep neural net inference at the edge. We explore various strategies to smartly share memory buffers among intermediate tensors in deep neural nets. Employing these can result in up to 11% smaller memory footprint than the state of the art.

研究动机与目标

  • 解决移动和嵌入式设备在深度神经网络推理中物理内存和缓存受限的挑战。
  • 在不损害推理正确性或性能的前提下,减少深度神经网络中中间张量的内存占用。
  • 通过在使用区间不重叠的张量之间重用内存缓冲区,优化推理引擎的内存分配。
  • 通过高效的内存布局和缓冲区共享,提升缓存命中率并加快推理速度。
  • 提供适用于资源受限系统上运行时探索的实用且计算快速的策略。

提出的方法

  • 使用张量使用记录建模中间张量:{first_op, last_op, size},这些记录源自计算图的拓扑顺序。
  • 将张量使用区间定义为[first_op, last_op],以识别可共享内存的非重叠张量。
  • 基于张量大小(优先最大)和重叠区间数量(广度)应用贪心策略,以优先考虑缓冲区重用。
  • 使用条带打包启发式方法(如Bestfit)解决内存分配问题的二维装箱变体。
  • 提出两种不同的分配方法:Shared Objects(用于GPU纹理)和Offset Calculation(用于CPU内存池)。
  • 在运行时评估策略以选择最优配置,大多数模型的开销低于1毫秒。

实验结果

研究问题

  • RQ1如何高效重用中间张量的内存缓冲区,以最小化深度神经网络的总内存占用?
  • RQ2当张量大小和使用区间已知时,哪些启发式方法在分配共享内存缓冲区方面最为有效?
  • RQ3与朴素分配和先前工作相比,内存重用策略在多大程度上能减少内存消耗?
  • RQ4不同分配策略(如按大小贪心、条带打包)在内存效率和运行时性能方面如何比较?
  • RQ5所提出的策略能否在多种神经网络架构上实现接近理论下限的内存使用?

主要发现

  • 在所有评估的模型中,Greedy by Size Improved策略相比先前最先进方法,内存消耗最高降低11%。
  • 对于Shared Objects方法,Greedy by Size Improved在MobileNet v1、PoseNet和BlazeFace上达到了理论下限。
  • 对于Offset Calculation方法,Greedy by Size在除DeepLab v3外的所有模型上达到了理论下限,而在DeepLab v3上仅相差8%。
  • 所提出的策略相比朴素分配将内存使用量减少了高达10.5倍,相比Strip Packing Bestfit减少7.7%。
  • 内存重用带来了更高的缓存命中率,某些情况下使推理速度提升高达10%。
  • 这些策略足够快,可进行运行时探索(数毫秒内),适用于设备端部署。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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