深神经网络(DNN)已成为许多应用程序域(包括基于Web的服务)的重要组成部分。这些服务需要高吞吐量和(接近)实时功能,例如,对用户的请求做出反应或反应,或者按时处理传入数据流。但是,DNN设计的趋势是朝着具有许多层和参数的较大模型,以实现更准确的结果。尽管这些模型通常是预先训练的,但是在如此大的模型中,计算复杂性仍然相对显着,从而阻碍了低推断潜伏期。实施缓存机制是用于加速服务响应时间的典型系统工程解决方案。但是,传统的缓存通常不适合基于DNN的服务。在本文中,我们提出了一种端到端自动化解决方案,以根据其计算复杂性和推理延迟来提高基于DNN的服务的性能。我们的缓存方法采用了DNN模型和早期出口的自我介绍的思想。提出的解决方案是一种自动化的在线层缓存机制,如果提前出口之一中的高速缓存模型足够有信心,则可以在推理时间提早退出大型模型。本文的主要贡献之一是,我们将该想法实施为在线缓存,这意味着缓存模型不需要访问培训数据,并且仅根据运行时的传入数据执行,使其适用于应用程序使用预训练的模型。我们的实验在两个下游任务(面部和对象分类)上结果表明,平均而言,缓存可以将这些服务的计算复杂性降低到58 \%(就FLOPS计数而言),并将其推断潜伏期提高到46 \%精度低至零至零。
translated by 谷歌翻译