Retrospectively Reverse-Engineering Apple's Neural Engine
236 points • 2 days agoArticle Link

Apple Neural Engine(ANE)最初被设计为针对密集卷积神经网络(CNN)的专用加速器,这类网络依赖于可预测的数据重用。通过大规模并行的乘加(MAC)单元阵列和优化的数据流路径,硬件能高效处理这些模型。但随着行业工作负载转向 Transformer,ANE 对固定数据移动和专用本地内存结构的依赖成为瓶颈——解码的自回归特性打破了其设计所依赖的可预测重用假设。

在计算核心层面,ANE 采用 16 个核心,每个核心配备 128 条 FP16 或 256 条 INT8 的 MAC 通道,总计 2048 条并行通道。每条通道随时间执行标量归约,并通过反馈路径将部分和保存在本地内存中。对于 CNN 用例,这种设计非常高效,因为它减少了与主内存的频繁往返。非线性激活(如 tanh 或 ReLU)由集成的后 MAC 处理模块负责,该模块使用 33 项的分段线性查找表。通过在编译阶段将常量缩放和偏置合并到卷积中,硬件把这些层的开销降到了最低。

调度机制高度静态,更像固定功能引擎而非可编程处理器。驱动软件不会下发单独的神经算子,而是将模型编译成一串任务描述符(TD),通过 doorbell 提交。任务描述符相当于序列化的寄存器文件转储,用于配置某次运算的数据通路。由于没有通用指令集,ANE 只能采用 Apple 暴露的数据通路配置,因此实际上需要定制编译器来精细编排张量的移动与变换。

从 roofline 模型看,内存吞吐量仍然是 ANE 的主要瓶颈。尽管 M1 上的 ANE 峰值算力颇具竞争力,但它受限于内存层次结构,数据必须从主 DRAM 流入本地 L2 和内核内存(KMem)银行。用于内核权重和输入切片的 DMA 引擎似乎以串行方式工作,无法饱和系统的总内存带宽,因此在像 Transformer token 解码这类高度依赖大量、快速数据移动的负载上难以与 GPU 抗衡。

总的来说,ANE 的专用化设计反映了对特定机器学习时代的硅片效率追求。随着诸如 M5 的新芯片逐渐将 ANE 功能直接并入 GPU 核心,作为独立且强烈有偏好的 NPU 的时代正逐步衰退。虽然通过巧妙的编译时调度该硬件在技术上仍能运行现代 Transformer,但其架构僵化和 DRAM 吞吐限制表明,未来的性能提升更可能来自更广泛、更统一的计算平台,而非这些高度优化却僵化的 CNN 时代孤岛。

33 comments • Comments Link

• M4 Neural Engine (ANE) 引入了对快速路径 INT8 权重和激活的专门支持,后续的芯片(如 M5 Ultra 和 M6)则通过采用双 ANE 模块来扩展性能。

• ANE 的架构不同于新型 GPU 中的 Neural Accelerator (NAX) 核心,后者更接近类似 NVIDIA tensor cores 的传统矩阵乘法单元。

• Apple 早在 2017 年就将 Neural Engine 集成进产品,证明了其在硬件加速机器学习方面的长期战略投入,这早于当前生成式 AI 流行的浪潮。

• 硬件未来的验证本身就很困难,因为芯片设计周期明显长于软件演进,这使得提前数年预测像 Transformers 这样的主流架构变得极具挑战性。

• ANE 的最初设计对 Convolutional Neural Networks (CNNs) 进行了深度优化,这很可能源于早期对自动驾驶技术的研究,当时计算机视觉是主要需求。

• 与 ANE 配合的开发者不得不创造性地将现代基于 Transformer 的工作负载映射到其以 CNN 为中心的硬件流水线上,通常的做法是将 4D tensors 当作图像数据,并用 1x1 convolutions 替代 matmuls 。

• 由 Apple 控制的生态系统在本地运行高性能 AI 模型时代具有天然优势,因为它允许用户在本地硬件上运行私有且参数量大的模型,而不必完全依赖昂贵的云端订阅。

• 尽管有人认为 ANE 没有被充分利用,但多年来它一直在为关键后台任务提供算力支持,包括 Face ID 、 crash detection 、 voice isolation 以及 Photos app 中的本地图像分析。

• 即将推出的 Core AI 框架旨在弥补旧版 Core ML 的不足,使应用能更好地协调使用 CPU 、 GPU 和 Neural Engine 来运行当代模型架构。

• AI 快速发展的步伐对传统科技巨头构成潜在颠覆:随着硬件和软件门槛降低,创新可能在既有参与者之外更广泛地爆发。

这些讨论反映出硬件加速机器学习的长期愿景与 AI 软件架构快速且不可预测演进之间的张力。 ANE 最初为定义过去十年计算机视觉与 CNN 任务而优化,但其向支持现代 Transformer 工作负载的转变也凸显出要把固定硬件与不断变化的软件范式匹配起来有多难。尽管有人批评其影响力不够显眼,ANE 多年来却默默支撑着 Apple 生态中的核心功能。展望未来,行业可能会被本地、高效的推理所重塑,在这种模式下,能够弥合旧有设计与现代需求差距的专用硬件将成为重要的竞争差异点。