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

本文深入探讨了针对专用硬件优化神经网络架构的创新方法,通过精心设计搜索空间和结合专家经验,在多个实际应用中实现了高达55%的延迟降低,同时显著提升了能效和隐私保护能力。

专用硬件神经网络优化

随着神经网络规模不断扩大,在设备上部署网络越来越需要能够并行化常见操作的专用硬件。但要实现最高效率,仅优化硬件以适应网络是不够的;网络也应该针对硬件进行优化。

神经网络架构搜索的挑战

标准神经网络优化方法是通过神经网络架构搜索(NAS),目标是同时最小化网络规模和浮点运算次数(FLOPS)。但这种方法在神经芯片上效果不佳,因为神经芯片通常能够更快速地执行易于并行化但FLOPS较高的任务,而不是难以并行化但FLOPS较低的任务。

最小化延迟是比最小化FLOPS更复杂的优化目标。为此,开发了多种策略来使NAS适应优化某中心新神经引擎加速器系列的网络架构问题。这些策略涉及精心设计架构搜索空间,例如减少陷入局部最优的可能性。

神经网络架构搜索方法分类

NAS需要三个要素:定义搜索空间、成本函数和优化算法。使用性能估计器来测量延迟和内存占用,但要测量准确性,必须训练网络。这是一个主要瓶颈,因为训练单个网络可能需要数天时间。

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

  • 多轮方法:每次迭代采样一组架构,每个网络都经过训练并评估准确性和性能
  • 单轮方法:从称为超网的大型网络开始,具有多个可能的子图
  • 零轮方法:与多轮方法类似,关键区别是网络从不训练

搜索空间优化

包含加速器感知约束会破坏成本函数的单调性,导致更复杂的地形。为解决这个问题,减少了搜索空间中的选项数量。

在卷积架构中,不再以一为增量探索通道大小,而是只考虑少数几个通道大小。将通道大小的选项限制为对神经引擎并行因子有利的特定值。在某些情况下,甚至向搜索空间添加了可用于在整个模型中缩放通道数的"深度乘数"比率。

专家参与的NAS产品化

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

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

应用成果

1. 在智能显示设备上减少一半检测延迟

运行模型来检测人员存在并定位检测到的人员。原始模型使用倒置瓶颈块。使用加速器感知NAS将该模型的延迟降低了53%。

2. 在安防摄像头中适应严格内存预算

使用分类模型进行安全辅助。目标是将模型参数和峰值激活内存适应严格的内存预算。在这种情况下,将NAS技术与专家参与相结合以提供微调。

3. 机器人快速语义分割

在机器人技术中,语义分割用于理解机器人正在交互的对象和场景。起始点是优化在CPU上运行的语义分割模型。最佳候选模型能够将延迟减少一半。

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

神经引擎支持设备端的大模型推理,因此可以在不将数据发送到云的情况下处理麦克风和视频源。设备端处理还提供了更好的用户体验,因为推理管道不受间歇性连接问题的影响。

边缘AI的可持续性

多轮NAS完整训练可能需要多达2,000个GPU天。然而,通过本文描述的一些技术,能够在明显更短的时间内创建高效的架构,使NAS更具可扩展性和可持续性。

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

未来工作

已经确定优化需要深入了解硬件设计的专家。这可能无法扩展到未来更复杂的硬件。还发现在时间紧张的情况下,有专家参与仍然比从头开始运行NAS更快。因此,继续研究具有加速器感知的NAS算法如何处理大搜索空间。还通过探索如何组合三类算法来提高搜索算法的效率和有效性。还计划通过剪枝和聚类引入稀疏性来探索模型优化。

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