嵌入式深度学习系统的片外内存访问优化
1. 引言
1.1 概述
在物联网和大数据时代,每天数字设备都会产生大量数据,人工智能(AI)被视为处理和分析这些连续数据流的重要解决方案。分析这些数据并推断有用信息,有助于提高用户的生产力和生活质量。过去十年,AI 尤其是机器学习(ML)的研究和发展呈指数级增长,广泛应用于各个领域。ML 包含多种算法,近年来最具影响力的是受大脑启发的 ML 算法,如人工神经网络(ANNs)和脉冲神经网络(SNNs)。其中,ANNs 通过深度学习(DL)或深度神经网络(DNN)算法取得了最先进的性能和准确率,甚至超越了人类。如今,DL 已成为解决许多基于 ML 应用的事实标准算法,涵盖计算机视觉、金融和商业、医疗保健以及自动驾驶系统等领域。
不过,DL 算法在训练和推理阶段都具有内存和计算密集型的特点,会消耗大量的内存和计算能力/能量。训练阶段,DNN 会经历前向传播和反向传播;而推理阶段,仅需前向传播。因此,训练阶段的内存访问成本和计算量远高于推理阶段。
近年来,许多 DL 应用正朝着移动/嵌入式平台发展,如物联网边缘和智能网络物理系统(CPS)设备,主要是出于隐私和安全考虑。这些嵌入式平台通常使用在云端训练好的 DNN 模型在边缘进行推理。然而,嵌入式平台资源和功率受限,执行推理具有挑战性。例如,ResNet - 50 处理单个图像输入需要超过 95MB 的权重内存和超过 38 亿次运算,嵌入式平台难以实时完成如此高的处理量。所以,需要专门的硬件加速器来高效执行 DL 推理,以满足嵌入式 DL 系统中不同类型 DNN 模型的内存和计算需求。
1.2 嵌入式 DL 系统的设计约束
嵌入式应
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



