Skip to main content
QUICK REVIEW

[论文解读] HG-Caffe: Mobile and Embedded Neural Network GPU (OpenCL) Inference Engine with FP16 Supporting

Zhuoran Ji|arXiv (Cornell University)|Jan 3, 2019
Advanced Neural Network Applications参考文献 13被引用 4
一句话总结

HG-Caffe 是一种针对移动和嵌入式设备的 GPU 加速、基于 OpenCL 的深度学习推理引擎,支持半精度(FP16)计算。其在 CPU 推理上实现了最高达 20 倍的加速,并将峰值内存使用量降低至原始 Caffe 的 80%,从而实现了在搭载 Mali 和 Adreno GPU 的边缘 AI 平台上的高效、低功耗深度神经网络部署。

ABSTRACT

Breakthroughs in the fields of deep learning and mobile system-on-chips are radically changing the way we use our smartphones. However, deep neural networks inference is still a challenging task for edge AI devices due to the computational overhead on mobile CPUs and a severe drain on the batteries. In this paper, we present a deep neural network inference engine named HG-Caffe, which supports GPUs with half precision. HG-Caffe provides up to 20 times speedup with GPUs compared to the original implementations. In addition to the speedup, the peak memory usage is also reduced to about 80%. With HG-Caffe, more innovative and fascinating mobile applications will be turned into reality.

研究动机与目标

  • 为解决移动和嵌入式设备上基于 CPU 的深度神经网络推理带来的高计算开销和电池消耗问题。
  • 通过广泛支持的 OpenCL,在移动 GPU 上实现高效、通用的深度学习推理,适用于多种移动 SoC 架构。
  • 在所有神经网络层中支持半精度(FP16)算术运算,以进一步提升吞吐量并减少内存占用。
  • 通过保留相同的权重文件格式和层定义,与现有的 BVLC Caffe 模型保持兼容。
  • 通过移除第三方库,减少软件膨胀和依赖,提升边缘部署的可移植性和可维护性。

提出的方法

  • HG-Caffe 作为 BVLC Caffe 的分支构建,移除了第三方库依赖,以提升可维护性和可移植性。
  • 利用 OpenCL 实现跨多种移动 GPU 架构(包括 Mali 和 Adreno)的 GPU 执行,确保广泛的硬件兼容性。
  • 框架在所有层中实现了完整的 FP16 支持,降低内存带宽压力和算术成本,同时保持模型精度。
  • 仅运行前向传播模式,与完整训练框架相比,显著降低了峰值内存使用量和软件占用空间。
  • 包含一个 Caffe 权重文件转换器,可直接使用来自 BVLC Caffe 的预训练模型,无需重新训练。
  • 对内核启动和内存访问模式应用优化,以最大化移动 GPU 上的利用率和吞吐量。

实验结果

研究问题

  • RQ1通用深度学习推理引擎在移动 GPU 上相比纯 CPU 执行能否实现显著加速?
  • RQ2在移动 GPU 上,FP16 算术在多大程度上提升了推理吞吐量并减少了内存使用?
  • RQ3在不同移动 SoC(如 Snapdragon 845 和 Kirin 970)上,GPU 推理性能在不同批处理大小下的表现如何?
  • RQ4GPU 加速且支持 FP16 的推理引擎能否与现有 BVLC Caffe 模型和权重格式保持兼容?
  • RQ5在移动设备中,内存限制对 GPU 性能有何影响,特别是在使用大型模型时?

主要发现

  • 在 Snapdragon 845 SoC 上,GPU(FP32)推理相比 CPU(FP32)最高可实现 20 倍加速,而 FP16 进一步将吞吐量提升 2 倍。
  • GPU(FP32)的峰值内存使用量降低至 CPU(FP32)的 29.1%,而 GPU(FP16)进一步降低至 CPU(FP32)的 20.8%。
  • 在批处理大小为 1 时,Style Transfer Net 中 GPU(FP32)的推理速度慢于 CPU(FP32),但随着批处理大小增加,性能显著提升。
  • 在 Kirin 970 SoC 上,GPU 性能受限于 100 MB 的 GPU 内存上限,导致深层网络频繁发生内存交换,性能表现较差。
  • 该框架将峰值内存使用量降低至原始 BVLC Caffe 的 80%,显著提升了在内存受限的边缘设备上的效率。
  • HG-Caffe 与 BVLC Caffe 的模型格式保持完全兼容,可直接部署预训练模型而无需重新训练。

更好的研究,从现在开始

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

无需绑定信用卡

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