[论文解读] RTMobile: Beyond Real-Time Mobile Acceleration of RNNs for Speech Recognition
RTMobile 是首个通过结合基于块的结构化剪枝(BSP)与编译器优化,在移动设备上实现 RNN 实时推理的框架。它在不损失准确率的情况下实现超过 10× 的模型压缩,并在移动 GPU 上实现比以往基于 FPGA 的方法高 40× 的能效,其在准确率、速度和能效方面均优于当前最先进方法。
Recurrent neural networks (RNNs) based automatic speech recognition has nowadays become prevalent on mobile devices such as smart phones. However, previous RNN compression techniques either suffer from hardware performance overhead due to irregularity or significant accuracy loss due to the preserved regularity for hardware friendliness. In this work, we propose RTMobile that leverages both a novel block-based pruning approach and compiler optimizations to accelerate RNN inference on mobile devices. Our proposed RTMobile is the first work that can achieve real-time RNN inference on mobile platforms. Experimental results demonstrate that RTMobile can significantly outperform existing RNN hardware acceleration methods in terms of inference accuracy and time. Compared with prior work on FPGA, RTMobile using Adreno 640 embedded GPU on GRU can improve the energy-efficiency by about 40$ imes$ while maintaining the same inference time.
研究动机与目标
- 为解决由于高计算复杂度和高内存消耗,导致在移动设备上实现 RNN 实时推理的挑战。
- 克服现有 RNN 加速技术中模型压缩、推理准确率与硬件效率之间的权衡。
- 开发一个端到端框架,实现在移动平台上的 RNN 高准确率与高计算效率。
- 消除现有 DNN 加速框架(如 TVM)不支持 RNN 的局限性。
- 在保持高能效和模型准确率的前提下,实现在移动 GPU 和 CPU 上的实时性能。
提出的方法
- 提出一种新颖的基于块的结构化剪枝(BSP)算法,实现细粒度剪枝的同时保持模型规则性,以提升硬件效率。
- 引入编译器辅助优化,包括矩阵重排、冗余加载消除以及为剪枝模型设计的紧凑数据格式(BSPC)。
- 采用基于块的剪枝策略,在滤波器和通道间保持结构规则性,从而在移动 GPU 上实现高效内存访问与并行化。
- 使用 PyTorch-Kaldi 工具包训练和微调 GRU 模型,以确保剪枝后仍保持高准确率。
- 在编译时优化代码生成与数据布局,以最大化 GPU 利用率并最小化内存停顿。
- 基于移动 GPU(Adreno 640)和 CPU 平台进行评估,与基于 FPGA 的 ESE 及其他 SOTA 方法进行性能对比。
实验结果
研究问题
- RQ1是否可通过剪枝策略在不降低移动设备上 RNN 推理准确率的前提下实现高倍率压缩?
- RQ2编译器级别的优化是否能显著提升剪枝 RNN 在移动 GPU 上的推理速度与能效?
- RQ3是否仅通过 GPU 加速即可实现在移动平台上的 RNN 实时推理,而无需依赖 FPGA 等专用硬件?
- RQ4细粒度结构化剪枝与代码生成的结合,如何影响模型大小、准确率与计算效率之间的权衡?
- RQ5在保持移动 GPU 上实时性能的前提下,实现最小准确率损失的最高压缩率上限是多少?
主要发现
- RTMobile 实现超过 10× 的模型压缩且无准确率下降,在压缩率与推理准确率方面均优于 ESE 和 C-LSTM。
- 在 245× 压缩率下,RTMobile 将模型参数从 3.25M 减少至 0.04M,同时保持电话错误率(PER)为 24.20%,与基线 C-LSTM 模型的准确率(24.15%)相当。
- 在 Adreno 640 移动 GPU 上,RTMobile 的能效比 ESE 高 40×,尽管 ESE 使用的是高功耗 FPGA 平台(41W)。
- RTMobile 在 FPGA 上的推理时间与 ESE 相同(82.7 μs),但由于优化了内存访问与并行化,实现了显著更高的能效。
- 当压缩率超过 250× 时,推理加速效果趋于稳定,表明 BSP 与编译器优化已有效缓解计算与内存瓶颈。
- BSPC 紧凑格式与编译器优化降低了内存访问不规则性,提升了 GPU 利用率,即使在极高压缩率下也能实现高 GOP/s 性能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。