Low Latency RNN Inference with Cellular Batching
单元批处理形成低延迟RNN推断(预测)
摘要
- 对预先训练好的神经网络模型进行性能推断必须要求能够有低延迟,但是这往往与高吞吐量相矛盾
- 现有的深度学习系统通过使用批处理来提升吞吐量,但是在动态流图的循环神经网络中性能较差
- 我们提出单元批量处理技术,在RNN推论中对延迟和吞吐量都能提升
- 不像已经存在的系统用来批处理一组固定的流图,单元批处理划分批是根据RNN的单元和动态组装批处理单元(在请求连接和离开系统时)
- 我们实现我们的算法并提出该系统为BatchMaker
- 实验表明,该系统相比已有的系统拥有更低的延迟和更高的吞吐量
关键字
循环神经网络,批处理,推断,流图
介绍
- 最近,深度学习算法从实验研究到现实部署,已经发展成熟。
- 典型的DNN部署周期包括两个阶段
- 训练阶段:迭代计算参数权重
- 推断阶段:根据计算的权重和使用预测模型去执行动态应用执行请求
- 推断阶段,计算资源消耗最多,性能优化最高
- 典型的DNN部署周期包括两个阶段
- 与训练相比,DNN推断重点强调低延迟和高吞吐
- DNN遇到的挑战:RNN
- RNN的流图不是固定的,随着输入变化而变化。所以与用批处理来计算提升其性能是相违背的,所以是一种挑战
- 当前已有的系统主要是提升训练的输入,并且是固定的批处理
- 图批处理的坏处:
- 运行时间慢
- 合并图困难
- 批处理情况下,可能因为在高负载的情况下,批处理不足,导致吞吐量减少
- 提出一种新的机制,单元批处理,使用神经元为单位(不同