同样是做乘法,厨房的效率却取决于食材怎么送、成品放在哪。对 AI 芯片也一样。这项逆向工程试图摸清 Apple Neural Engine(ANE)——苹果芯片里负责机器学习计算、但细节很少公开的专用模块,为理解苹果的本地推理硬件提供一个少见入口。
作者重新研究 M1 的 ANE,发现它有 16 个计算核心;每个核心可并行执行 128 路 FP16 或 256 路 INT8 的乘加运算。乘加就是“相乘后累加”,是神经网络的基础计算。但作者认为,真正暴露设计取向的不是这些计算单元,而是周围的数据流:输入何时进入、在哪里停留、怎样复用。M1 ANE 针对 CNN——常用于图像处理的卷积神经网络——可预测的数据复用而设计;Transformer 尤其是逐字生成时,复用规律发生了变化。作者也因此判断,ANE 不适合作为通用加速平台,即使编写 Linux 驱动,也无法扩大它能处理的任务范围。以上架构细节来自作者的逆向分析,尚非苹果官方说明。