实时深度学习

实时深度学习研究综述


任务需求:对于深度神经网络而言,主要是推理过程,需要满足功能上的正确性(是否具有可解释性);非功能上的实时性(实时嵌入式系统中,DNN推理任务的运行时间不能超过该任务所指定的时限);

  1. 程序的性能分析:GPU 作为主要的硬件加速设备已经被广泛的应用于深度学习领域,DNN 任务在 GPU 上运行时会遇到各种性能障碍,例如,低效的 DNN 算法,低精度的结果,并行的开销,负载的不均衡,内存、缓存和带宽的低效使用,计算延迟超出响应时间要求等;
    ① 不同的深度学习框架实现机制与 CUDA 驱动的融合程度不同,不同的深度学习框架会导致较大的性能差异;
    ② 卷积层运算涉及到大量的密集型计算,是开销的主体部分;
    ③ DNN 模型包含大量的神经元,具有数千万的训练参数,计算量大,存在两个潜在的性能瓶颈:计算瓶颈和通信瓶颈(分布式训练?);

  2. 轻量级神经网络:
    ① 人工优化:
    模型压缩(模型量化、模型剪枝、矩阵低秩分解);
    轻量化网络(小卷积核替换、减少输入特征通道数量、延迟下采样,获得更大特征图)
    ② 自动优化:
    自动化机器学习AutoML 是模型选择、特征抽取和超参数调优等一系列自动化方法,可以实现自动训练有价值的模型;
    神经架构搜索NAS 采用神经网络设计神经网络,基于多目标优化约束自动化设计网络;

  3. 实时神经网络:网络推理时间具有可预测性,且网络推理时间须在实时任务时间阈值内,同时保证网络的推理精度在可接受的范围内;必要时,牺牲精度换取推理时间。

  4. 提高硬件和软件的计算并行度;考虑数据搬运和传输过程;考虑任务分割,子任务的调配和实时管理;GPU资源管理策略,降低资源访问冲突;

  5. 深度神经网络与网络加速器的协同设计:
    ① 以网络为固定标的,优化加速器的架构;
    ② 以加速器为固定标的,优化网络的结构;

你可能感兴趣的:(深度学习)