SeqPoint:识别基于序列的神经网络中具有代表性的迭代
摘要
深度神经网络(DNNs)的普遍性持续上升,使其成为硬件优化中至关重要的一类应用。然而,由于这些应用通常在真实硬件上运行数小时至数天,对 DNN 训练进行详细的分析与表征仍然困难。先前的工作利用 DNN 的迭代特性来分析少量训练迭代。虽然这种策略对于卷积神经网络(CNNs)等计算性质基本与输入无关的网络是合理的,但我们在本工作中观察到,该方法对于基于序列的神经网络(SQNNs,如循环神经网络 RNNs)是次优的。SQNNs 中计算的数量与性质可随每个输入而变化,导致各迭代之间存在异质性。因此,任意选取少数迭代不足以准确概括整个训练运行的行为。为应对这一挑战,我们仔细研究了影响 SQNN 训练迭代的因素,并确定输入序列长度是导致迭代间差异的关键决定因素。随后我们利用这一观察对所有 SQNN 训练运行的迭代进行表征(无需对应用进行性能分析或仿真),并选出具有代表性的迭代,我们称之为 SeqPoints。我们分析了两个最先进的 SQNN:DeepSpeech2 和谷歌的神经机器翻译(GNMT),结果表明 SeqPoints 能准确代表它们的整个训练运行,在推算总体运行时间时几何平均误差分别仅为 0.11% 和 0.53%,在推算由架构变更带来的加速比时分别为 0.13% 和 1.50%。与完整训练运行相比,该方法对两个网络的性能分析时间分别减少了 345 倍和 214 倍,从而实现了如此高的精度。因此,SeqPoint 能将 SQNN 训练运行的分析缩短至区区数分钟,而非数小时或数天。
引用
@article{arxiv.2007.10459,
title = {SeqPoint: Identifying Representative Iterations of Sequence-based Neural Networks},
author = {Suchita Pati and Shaizeen Aga and Matthew D. Sinclair and Nuwan Jayasena},
journal= {arXiv preprint arXiv:2007.10459},
year = {2020}
}
备注
To appear in IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS 2020)