
摘要
深度神经网络(DNNs)因其在各种任务中的卓越表现而受到关注。然而,由于其庞大的规模,将完整的DNNs部署在资源受限的设备(如边缘设备、移动设备、物联网设备)上存在困难。为了解决这一问题,人们考虑了多种方法,例如将部分计算任务卸载到云端进行最终推理(分层计算),或者在中间层进行推理而不通过所有层(提前退出)。在这项工作中,我们提出了一种结合这两种方法的方案,即在分层计算中使用提前退出。我们的方法决定在设备上执行DNNs计算的深度(分割层),以及样本是否可以从该层提前退出或需要被卸载到云端。这些决策基于准确率、计算成本和通信成本的加权组合。我们开发了一种名为SplitEE的算法来学习最优策略。由于预训练的DNNs通常会被部署到新的领域,在这些领域中可能无法获得真实标签,且样本以流的形式到达,因此SplitEE适用于在线和无监督环境。我们在五个不同的数据集上进行了广泛的实验。结果表明,与所有样本都在最终层进行推理的情况相比,SplitEE实现了显著的成本降低(超过50%),同时准确率略有下降(小于2%)。匿名源代码可在以下网址获取:\url{https://anonymous.4open.science/r/SplitEE_M-B989/README.md}。
代码仓库
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| natural-language-inference-on-scitail | SplitEE-S | Accuracy: 78.9 |
| natural-language-inference-on-snli | SplitEE-S | Accuracy: 79.0 |
| paraphrase-identification-on-imdb | SplitEE-S | Accuracy: 82.2 |
| paraphrase-identification-on-quora-question | SplitEE-S | Accuarcy: 71.1 |
| paraphrase-identification-on-yelp | SplitEE-S | Accuracy: 76.7 |