Page 40 - 《软件学报》2020年第9期
P. 40

张政馗  等:面向实时应用的深度学习研究综述                                                           2661


         技术引入到加速器设计中          [41,42] .同时,为了最小化数据搬移,缓解带宽瓶颈,运算器和存储器正朝着一体化的方
         向发展(忆阻器     [43] ).除此以外,专用神经网络加速器未来还将支持更多的神经网络框架,并采用非冯·诺依曼体系
         架构来大幅度提高整体运算性能、降低功耗.

         2    DNN 任务在实时嵌入式系统中面临的挑战

             嵌入式系统的共性特征是“实时性”,从应用的角度,实时性是指“不仅要保证运算的逻辑正确性,还必须保
         证运算在规定的时间内完成,否则将产生灾难性后果”.DNN 任务(主要是推理过程)在实时嵌入式系统上的成功
         部署与运行,既要在功能层面保证 DNN 推理结果的正确性和精确度,又要在非功能层面确保满足系统的实时
         性、资源和功耗的要求.本节将从 DNN 模型、深度学习框架以及硬件计算平台等方面总结和剖析 DNN 任务
         应用于实时嵌入式系统带来的问题和挑战.首先从 DNN 模型性能层面讨论在资源受限的实时嵌入式系统上部
         署复杂 DNN 任务所面临的问题,第 3 节针对这些问题从网络的性能分析、网络轻量化设计、实时神经网络方
         面做了详细的调研;然后讨论了计算平台(主要是 GPU、SoC、操作系统)保障 DNN 任务的实时性方面所面临
         的挑战,第 4 节针对这些问题从 GPU 时间分析、任务调度、资源管理策略方面做了详细的调研.

         2.1   DNN模型带来的关键问题
             (1)  传统 DNN 在实时嵌入式系统中具有局限性
             当今,嵌入式信息物理融合系统正与深度神经网络领域互相融合,并且未来有朝着增强自主性方向发展的
         趋势.DNN 应用部署在高性能硬件平台(例如 GPU 集群)上,并且具有良好的可扩展性                         [19] .如果把现有的网络模
         型部署在资源受限的实时嵌入式系统中,这将很难满足时序要求                       [21] .其主要原因是受到 DNN 模型复杂度、计算
         和内存资源的巨大需求等约束,DNN 在低功耗的终端设备上运行,无法满足系统的实时性和可预测性.因此,在
         计算资源与时间方面,DNN 任务本身的需求与实际目标硬件平台的能力存在着较大的差异.在硬件层面,由于
         硬件的发展和更新速度明显落后于软件方面,仅仅通过提升硬件性能来解决该问题仍然具有局限性.在软件层
         面,探索轻量化网络的设计和优化也是一种有效的解决方案,即:在 DNN 网络的精度与时间、资源等方面进行权
         衡,综合考虑系统的功能层面要求与非功能层面要求.
             (2)  通用深度学习框架的设计并未考虑嵌入式平台实时性要求
             当前流行的深度学习框架有 TensorFlow,Caffe,CNTK,Theano,Torch 等,这些框架各具特色,基于这些深度学
         习框架可以较为容易地实现各种前沿的深度学习算法.深度学习框架的设计面向高性能计算,是为了提高任务
         吞吐量和系统可扩展性.然而,深度学习框架所实现的数据或任务并行(data or task  parallelism)加速并未充分考
         虑到底层硬件,并未考虑嵌入式平台实时性要求                 [44] (如资源分配时间有上界等).另一方面,不同的深度学习框架
         之间存在着性能差异,并且同一网络在不同框架上实现也存在着明显的性能差异,所以从深度学习框架角度优
         化网络运行时间,对于确保深度学习任务的实时性具有较大的提升空间.Kim 等学者                            [45] 通过实验的手段分析了
         AlexNet 在上述 5 种流行的框架上性能差异,只是通过实验的手段简单地揭示了不同框架之间存在性能差异的
         现象,但却没有从本质上揭露造成性能差异的原因.
             (3) DNN 模型结构更新后不能保证系统的实时性
             深度学习模型是基于设计的网络结构,通过大规模数据进行训练得到的网络参数,且满足样本分类和预测
         的精度.为了保证网络模型的预测精度和系统性能,网络模型往往需要优化,需要对扩充后的样本数据重新训
         练,更新后的网络模型会修改模型参数,甚至会更新网络结构.然而,当网络模型结构发生变化后,任务重新部署
         在资源受限的实时嵌入式系统上,为了满足系统实时性,其网络模型更新过程需要满足一系列的约束                                   [46] .系统更
         新时,既要保证新的网络模型不会干扰现有的系统,又要确保非功能的正确性.换句话说,计算平台要有足够的
         计算资源来运行新应用程序,而不会违反任何时间限制                    [47] .对于实时嵌入式系统的有限资源下,任务模型更新后
         需要重新验证与分析系统的可信性.
   35   36   37   38   39   40   41   42   43   44   45