专用硬件神经网络优化技术
随着神经网络规模不断扩大,在设备上部署神经网络越来越需要能够并行化通用操作的专用硬件。但为了达到最高效率,仅优化硬件适应网络是不够的,网络也应该为硬件进行优化。
神经网络架构搜索的挑战
标准的神经网络优化方法是通过神经网络架构搜索(NAS),目标是同时最小化网络规模和浮点运算次数(FLOPS)。但这种方法在神经芯片上效果不佳,因为神经芯片通常能够更快速地执行易于并行化但FLOPS较高的任务,而不是难以并行化但FLOPS较低的任务。
最小化延迟是比最小化FLOPS更复杂的优化目标。为此,某中心设备硬件团队开发了多种策略,将NAS适配到为某中心新神经引擎加速器系列优化网络架构的问题上。这些策略涉及策划架构搜索空间,例如减少陷入局部最优的可能性。
神经网络架构搜索算法类别
NAS需要三个要素:搜索空间定义、成本模型和优化算法。我们使用性能估计器来测量延迟和内存占用,但为了测量准确性,必须训练网络。这是一个主要瓶颈,因为训练单个网络可能需要数天时间。
NAS算法分为三类,需要不同次数的网络训练:
- 多轮方法:每轮采样一组架构,每个网络都经过训练并评估准确性和性能
- 单轮方法:从称为超网的大型网络开始,具有多个可能的子图
- 零轮方法:像多轮方法一样工作,但网络从不训练
搜索空间策划
NAS成本函数可以可视化为一个景观,每个点代表一个潜在架构。基于FLOPS的成本函数随大小或通道等因素单调变化。然而,包含加速器感知约束会通过引入更多渐近线来破坏函数。
为了解决这个问题,我们减少了搜索空间中的选项数量。我们探索卷积架构,意味着输入被分解为几个不同的组件,每个组件都有自己的网络通道。我们限制了通道大小的选项,仅考虑对神经引擎并行性因子有利的特定值。
专家参与的NAS产品化
策划搜索空间提高了收敛速度、稳定性和可靠性,但向新用例的转移并不简单。在这些情况下,我们发现结合NAS结果和人类专业知识是最快的方法。
当我们对不同数据集执行NAS时,看到了常见模式,例如将卷积层与先前的卷积层融合,减少通道数量,并使它们与硬件并行性因子对齐。特别是,融合倒置瓶颈块中的卷积层对提高效率贡献最大。
结果和产品影响
我们将此技术应用于某中心设备组合中的多个产品:
1. 在Echo Show上减少检测延迟一半
Echo Show运行模型来检测人员存在并在房间中定位检测到的人。原始模型使用IBN块。我们使用加速器感知NAS将此模型的延迟减少了53%。
2. 模型适应Blink Floodlight Camera的严格内存预算
Blink相机使用分类模型进行安全辅助。我们的目标是将模型参数和峰值激活内存适应严格的内存预算。在这种情况下,我们结合NAS技术和专家参与进行微调。
3. 机器人快速语义分割
在机器人领域,语义分割用于理解机器人正在交互的对象和场景。对于此模型,我们的目标是将延迟减少一半。我们的起点是优化在CPU上运行的语义分割模型。
4. 通过设备上推理保护用户隐私
某中心神经引擎支持设备上的大模型推理,因此我们可以处理麦克风和视频馈送,而无需将数据发送到云端。设备上处理还提供了更好的用户体验,因为推理管道不受间歇性连接问题的影响。
使边缘AI可持续
我们提到,具有完整训练的多轮NAS可能需要多达2,000个GPU天。然而,通过本文描述的一些技术,我们能够在 substantially 更短的时间内创建高效架构,使NAS更具可扩展性和可持续性。
由于其并行性和混合精度特性,神经引擎比通用CPU更节能。对于百万普通用户,差异约为每年数百万千瓦时,相当于200辆汽油动力乘用车每年或100个美国家庭的平均能源消耗。
未来工作
我们已经确定策划需要深入了解硬件设计的专家。这可能无法扩展到未来更复杂硬件的世代。我们还确定在时间紧张的情况下,让专家参与循环仍然比从头运行NAS更快。因此,我们继续研究具有加速器感知的NAS算法如何处理大搜索空间。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码
公众号二维码