为边缘AI自动化模型设计
我们构建了一个自动化模型设计系统的基础,结合神经架构搜索、DeepGate编译器以及通过开发平台获得的真实硬件测量,能够自动为特定微控制器定制模型。在MLPerf Tiny基准测试中,生成的模型运行速度提升高达45倍,内存使用减少高达11倍,同时保持高精度。
为微控制器构建模型在很大程度上仍然是一个手动过程。团队要么从头设计模型,要么调整现有架构,迭代修改以适应目标硬件。在资源受限的设备上,他们常常面临模型要么太大或运行太慢,要么适合设备但错误过多的权衡。
我们构建了自动化模型设计系统的基础。通过结合神经架构搜索、DeepGate编译器以及通过开发平台获得的真实硬件测量,我们可以自动搜索针对目标微控制器定制的模型。在MLPerf Tiny的四个标准基准任务中——从检测音频中的口语单词到识别图像中的人物——生成的模型运行速度比参考模型快高达45倍,内存使用减少高达11倍。例如,在ADI MAX32655上运行的MLPerf Tiny关键字识别基准上,我们的搜索将推理延迟从104.3毫秒降低到2.3毫秒,RAM使用从23.7 KB降至2.1 KB,同时保持超过90%的分类准确率。
这样的提升可以使机器学习模型运行在更便宜的硬件上,延长电池寿命,并释放内存和计算资源用于其他任务。通过推动效率边界,我们将更先进的AI工作负载带入微控制器的可达范围,为数十亿设备带来日益强大的智能。
我们在MLPerf Tiny v1.4上评估了我们的搜索系统,这是微控制器机器学习标准基准套件。该基准涵盖四个代表性的边缘工作负载:关键字识别、视觉唤醒词、CIFAR-10图像分类和异常检测。每个任务都有预定义的质量目标,例如关键字识别要求90%的top-1准确率,异常检测要求0.85的AUC。对于每个工作负载,目标是在满足目标的同时产生尽可能小和快速的模型,输入维度固定以确保与参考模型的公平比较。
在所评估的开发板上,我们的搜索系统和编译器实现了高达45倍的推理加速和高达11倍的内存降低。由于内存通常是微控制器的主要限制,这些内存减少尤为重要:在某些情况下,在供应商工具链下超出内存限制的模型在经过搜索和编译后能够成功部署。
我们同时运行了两种搜索系统,并针对特定任务选择性能最佳的一个。在MLPerf Tiny工作负载上,四个最终模型中有三个来自我们的神经架构搜索系统,而异常检测模型来自我们的代理搜索。代理架构搜索使用一个LLM代理,每次提出一个更改——要么是架构要么是训练策略——训练结果模型,在真实硬件上基准测试,并在目标指标提升时保留更改。这种方法可以探索任何预定义搜索空间之外的想法,但贪婪地运行,一次改进一个模型。超网络NAS建立并扩展了Once-for-All和MCUNet方法,适用于微控制器部署,使用int8量化感知训练,同时保持输入分辨率固定以与参考模型公平比较。一个超网络可以特化为许多具有不同大小、速度和精度权衡的模型。
两种方法具有互补优势:代理搜索可以更改代码中的任何内容——架构和训练策略,输出一个逐步改进的模型,最适合问题开放或设计空间理解不足的情况。超网络NAS在预定义的架构空间内更改(深度、内核大小、扩展比率),输出跨越不同大小、速度和精度权衡的模型族,最适合设计空间理解良好且需要为多个硬件目标优化模型的情况。
我们的长期目标是自动化高效模型的设计,从定义任务到在边缘设备上部署优化模型。为此,我们正在探索如何将NAS和代理搜索方法结合为一个统一的优化循环,融合两种方法的优势。同时,我们正在扩展搜索系统可用的神经网络层集,包括设计用于更少内存和更快运行的新型DeepGate层。将这些层纳入搜索空间将在资源受限设备上解锁更大的效率,使曾经被认为超出微控制器能力的AI工作负载成为可能,最终为数十亿设备带来日益强大的智能。