开发者 Manjeet Singh 与 Claude Opus 协作,通过逆向工程 Apple 未公开的私有 API,首次在 M4 芯片的 Apple Neural Engine 上实现了包含反向传播的神经网络训练。ANE 是苹果专为推理设计的加速器,官方从未开放其训练能力。
关键技术突破
- 绕过官方框架:项目直接映射了从
_ANEClient、_ANECompiler等 40 余个私有类到 IOKit 内核驱动的完整软件栈。 - 发现关键接口:找到了可在内存中直接编译模型的
_ANEInMemoryModelDescriptor接口,这是实现训练(需频繁重新编译模型)的关键。 - 性能表现:当前实现了单个 transformer 层的训练,在 M4 芯片上每步耗时 9.3ms,ANE 利用率达 11.2%(1.78 TFLOPS)。
重要发现与局限
- 计算原语:发现 ANE 的核心计算原语是卷积而非矩阵乘法,使用 1x1 卷积表达矩阵乘法可获得约 3 倍吞吐提升。
- 性能增益:绕过 CoreML 直接调用 ANE,可获得 2-4 倍的额外性能增益。
- 当前局限:项目仍处早期,仅支持单层训练、使用合成数据,存在资源泄漏问题。多层训练和真实数据支持尚在开发中。
该项目以 MIT 协议开源,发布后获得了广泛关注。