[论文解读] Jointly Optimizing Preprocessing and Inference for DNN-based Visual Analytics
本文提出 Smol,一种通过利用低分辨率输入数据和硬件感知的流水线运行时引擎,联合优化基于深度神经网络(DNN)的视觉分析中的预处理与推理的系统。通过将预处理重新构想为可调优的优化曲面,Smol 在保持固定准确率的前提下,实现了相较于以往工作最高达 5.9× 的端到端吞吐量提升。
While deep neural networks (DNNs) are an increasingly popular way to query large corpora of data, their significant runtime remains an active area of research. As a result, researchers have proposed systems and optimizations to reduce these costs by allowing users to trade off accuracy and speed. In this work, we examine end-to-end DNN execution in visual analytics systems on modern accelerators. Through a novel measurement study, we show that the preprocessing of data (e.g., decoding, resizing) can be the bottleneck in many visual analytics systems on modern hardware. To address the bottleneck of preprocessing, we introduce two optimizations for end-to-end visual analytics systems. First, we introduce novel methods of achieving accuracy and throughput trade-offs by using natively present, low-resolution visual data. Second, we develop a runtime engine for efficient visual DNN inference. This runtime engine a) efficiently pipelines preprocessing and DNN execution for inference, b) places preprocessing operations on the CPU or GPU in a hardware- and input-aware manner, and c) efficiently manages memory and threading for high throughput execution. We implement these optimizations in a novel system, Smol, and evaluate Smol on eight visual datasets. We show that its optimizations can achieve up to 5.9x end-to-end throughput improvements at a fixed accuracy over recent work in visual analytics.
研究动机与目标
- 为解决现代加速器(如 NVIDIA T4)上端到端 DNN 推理中预处理带来的日益严重的瓶颈问题。
- 挑战长期以来认为 DNN 执行主导推理成本的假设,表明实际上预处理往往才是主要瓶颈。
- 通过将输入分辨率和预处理位置视为首要优化参数,实现新的准确率-吞吐量权衡。
- 设计一个考虑预处理开销的成本模型,以改进视觉分析系统中的查询计划选择。
- 构建一个运行时引擎,高效地在 CPU 和 GPU 之间流水线化预处理与 DNN 执行,优化内存和线程使用。
提出的方法
- 提出一种预处理感知的成本模型,通过综合考虑预处理和 DNN 执行时间,估算端到端推理成本。
- 建议使用原生可用的低分辨率视觉数据(如缩略图、部分解码数据),以降低预处理成本,同时通过增强 DNN 训练保持准确率。
- 设计一种运行时引擎,根据硬件特性和输入数据动态决定在 CPU 或 GPU 上执行预处理操作。
- 采用流水线执行模型,重叠预处理与 DNN 推理,隐藏延迟并提升吞吐量。
- 通过高效的内存管理和线程调度,最大化现代 CPU 和 GPU 资源的利用率。
- 实现一个系统 Smol,将这些优化整合为一个统一的、端到端的推理引擎,用于视觉分析。
实验结果
研究问题
- RQ1在现代推理优化加速器(如 T4)上,端到端 DNN 推理中,是否预处理而非 DNN 执行成为主要瓶颈?
- RQ2使用低分辨率或部分解码的输入数据,是否能显著提升吞吐量而不损失准确率?
- RQ3如何通过硬件感知的任务分配和流水线化,联合优化预处理与 DNN 执行?
- RQ4与传统的仅基于 DNN 的成本模型相比,预处理感知的成本模型能否更有效地改进视觉分析系统中的查询计划选择?
- RQ5在真实世界的视觉分析工作负载中,对预处理与推理进行联合优化,能在多大程度上减少端到端延迟并提升吞吐量?
主要发现
- 在配备 T4 GPU 的推理优化型 g4dn.xlarge AWS 实例上,ResNet-50 的预处理成本是 DNN 执行成本的 9 倍,成为主要瓶颈。
- 在同一实例上,预处理消耗的功耗约为 DNN 执行的 2.3 倍,成本高出 11 倍,凸显了忽略预处理开销带来的能效与成本低效问题。
- 在八个视觉数据集上,Smol 在保持固定准确率的前提下,实现了相较于近期视觉分析系统最高达 5.9× 的端到端吞吐量提升。
- 结合使用低分辨率数据与增强 DNN 训练,可在降低预处理成本的同时恢复准确率,从而实现新的准确率-吞吐量权衡。
- 所提出的预处理感知成本模型比以往模型更准确,后者错误地假设 DNN 执行主导了推理时间。
- 运行时引擎通过动态的 CPU/GPU 任务分配和流水线化,高效管理异构硬件上的内存与线程,实现了高吞吐量。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。