通过动态精度选择提升 LSTM 性能
信号处理
2019-11-12 v1 机器学习
摘要
使用低数值精度是现代深度神经网络(DNN)加速器中的一项基本优化。数值表示的位数被设定为基于离线分析能够保持精度的最小精度,并在 DNN 推理中保持恒定。本工作中,我们探索在 DNN 推理期间使用动态精度选择。我们聚焦于长短期记忆(LSTM)网络,其代表了机器翻译与语音识别等应用的最先进网络。与传统 DNN 不同,LSTM 网络通过将数据存储于 LSTM 单元状态中来记忆先前评估的信息。我们的关键观察是:单元状态决定了所需精度量——单元状态显著变化的时间步需要更高精度,而单元状态稳定的时间步可用更低精度计算且不损失任何精度。基于该观察,我们实现了一种新颖硬件方案,其跟踪 LSTM 单元状态中元素的演化,并在每个时间步动态选择适当精度。对于一组流行 LSTM 网络,我们的方案在超过 66% 的时间内选择最低精度,优于静态固定精度的系统。我们在高度优化用于 LSTM 计算的现代加速器上评估我们的方案,并展示其提供平均 1.56 倍加速与 23% 能耗节省且无任何精度损失。用于确定适当精度的额外硬件仅带来 8.8% 的微小面积开销。
引用
@article{arxiv.1911.04244,
title = {Boosting LSTM Performance Through Dynamic Precision Selection},
author = {Franyell Silfa and Jose-Maria Arnau and Antonio Gonzàlez},
journal= {arXiv preprint arXiv:1911.04244},
year = {2019}
}