专用硬件神经网络优化技术解析

本文探讨了针对专用神经处理器的神经网络架构优化方法,通过改进神经架构搜索空间设计和结合专家经验,在多个实际应用中实现高达55%的延迟降低,同时提升能效和内存使用效率。

优化神经网络以适应专用硬件

随着神经网络规模不断扩大,在设备端部署网络越来越需要能够并行化通用操作的专用硬件。但要实现最高效率,仅针对网络优化硬件是不够的,还需要针对硬件优化网络结构。

神经架构搜索的优化方法

标准的神经网络优化方法是通过神经架构搜索(NAS),其目标是同时最小化网络规模和浮点运算次数(FLOPS)。但这种方法对神经芯片效果有限,因为这类芯片执行易于并行的高FLOPS任务往往比难以并行的低FLOPS任务更快。

延迟最小化是比FLOPS最小化更复杂的优化目标。为此开发了多种策略来使NAS适应新型神经加速器的网络架构优化问题。这些策略包括精心设计架构搜索空间以降低陷入局部最优的风险。同时发现,将少量人类直觉与特定任务的NAS结果相结合,有助于更可靠、高效地泛化到新任务。

在多个机器学习任务的实验中,这些NAS策略可降低高达55%的延迟。

神经架构搜索的三种类型

NAS需要三个要素:定义搜索空间(指定构建网络的可用模块)、成本模型(基于网络精度、延迟和内存的函数)以及优化算法。使用性能估计器测量延迟和内存占用,但测量精度必须训练网络,这是主要瓶颈。

NAS算法分为三类,需要不同次数的网络训练:

  • 多轮方法:每轮采样一组架构,训练并评估每个网络的精度和性能
  • 单轮方法:从包含多个可能子图的大型超网开始训练
  • 零轮方法:使用网络可训练性分数作为精度代理,无需实际训练

搜索空间优化设计

包含加速器感知约束会通过引入更多渐近点破坏成本函数的单调性,导致搜索空间变得复杂。为解决这个问题,减少了搜索空间中的选项数量。

在卷积架构中,限制了通道大小的选项,仅考虑符合神经引擎并行因子的特定值。并行因子是可并行执行的操作(如点积)数量。在某些情况下,还向搜索空间添加了可用于缩放整个模型通道数的"深度乘数"比率。

这些改进可视为在更平滑的地形上采取更少、更大的步骤,而不是在包含加速器感知性能的成本函数产生的崎岖地形中导航。

性能估计器的关键作用

使用基于不同算子或子图测量的机器学习回归模型来估计性能,而不是在真实硬件或模拟器上部署架构。在推理时,估计器将查询的架构分解为子图,并使用回归模型估计每个子图的性能,然后累积这些估计值以给出模型级性能。这种基于回归器的设计简化了NAS框架,不再需要编译、推理或硬件支持。

专家参与的NAS产品化

虽然优化搜索空间提高了收敛速度、稳定性和可靠性,但向新用例的迁移并不简单。在这些情况下,发现将NAS结果与人类专业知识相结合是最快的方法。

在不同数据集上执行NAS时,观察到常见模式,例如将卷积层与先前卷积层融合,减少通道数量并与硬件并行因子对齐。特别是融合倒置瓶颈(IBN)块中的卷积层对提高效率贡献最大。

仅通过这些修改,就观察到延迟降低高达50%,而完全收敛的NAS模型将产生略好的53%降低。

实际应用成果

1. Echo Show检测延迟减半

在Echo Show上运行检测人体存在并定位的模型。原始模型使用IBN块,通过加速器感知NAS将该模型的延迟降低了53%。

2. Blink摄像机内存优化

Blink摄像机使用分类模型进行安全辅助。目标是将模型参数和峰值激活内存控制在严格的内存预算内。结合NAS技术和专家参与进行精细调整,将模型大小和中间内存使用量减少了47%。

3. 机器人快速语义分割

在机器人技术中,语义分割用于理解机器人交互的对象和场景。通过搜索不同的通道大小、融合以及输入输出维度,将延迟降低了一半。

4. 设备端推理保护用户隐私

神经引擎支持设备端的大模型推理,可以处理麦克风和视频馈送而无需将数据发送到云端。在NAS工作中发现,即使更大、更精确的模型现在也可以适配到设备端而不会影响延迟。

推动边缘AI可持续发展

多轮NAS完整训练可能需要多达2000个GPU天。但通过上述技术,能够在更短时间内创建高效架构,使NAS更具可扩展性和可持续性。

由于神经引擎的并行性和混合精度特性,其能效比通用CPU更高。对于百万用户,每年的差异达到数百万千瓦时,相当于200辆汽油动力乘用车或一百个美国家庭的能源消耗。

通过NAS优化模型,提高了设备同时运行更多神经网络模型的能力,从而可以使用更小的应用处理器,进一步减少设备的碳足迹。

未来工作方向

目前发现优化设计需要深入了解硬件设计的专家,这可能无法扩展到未来更复杂的硬件。正在继续研究具有加速器感知的NAS算法如何处理大搜索空间,并通过探索三种算法的组合来提高搜索算法的效率和有效性。还计划通过剪枝和聚类引入稀疏性来探索模型优化。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计