☠️ ANE — 逆向工程解锁 Apple Neural Engine 训练能力
首个绕过 CoreML、在 Apple M4 神经引擎上实现完整反向传播的开源概念验证,证明 ANE 硬件本身具备训练能力,软件封锁才是真正壁垒。
✨ 特点
• 私有 API 直连:通过逆向工程 ANEClient、ANECompiler 等私有接口,完全绕过 CoreML,实现对 ANE 硬件的直接控制,吞吐提升 2–4x。
• 完整前向 + 反向传播:在 ANE 上运行 Transformer 的前向与 dx 梯度计算,权重梯度 dW 由 CPU(Accelerate cblas)并发处理,支持 Adam 优化器与 checkpoint 续训。
• 动态权重管道:将权重打包进空间维度,实现权重更新无需重新编译,突破 ANE 每进程约 119 次编译上限的约束。
• INT8 W8A8 量化:利用 MIL quantize/dequantize 算子在 L2 SRAM 缓存 INT8 激活值,M4 上实测 1.88x 吞吐提升(35.1 TOPS vs 18.6 TOPS)。
• GPU↔ANE 零拷贝流水线:基于 IOSurface 共享内存,GPU 负责 prefill,ANE 负责 decode,Stories110M 总延迟仅 8.8ms。
• 硬件基准体系:系统性揭示 Apple「38 TOPS」宣传存在虚高。ANE 实际将 INT8 反量化为 FP16 后执行,真实峰值为 19 TFLOPS FP16,并提供 SRAM 带宽、TFLOPS 峰值等详细测量数据。
⚙️ 机制
ANE 是一个图执行引擎,接受编译好的 MIL(Model Intermediate Language)计算图后原子执行,本身不暴露可编程的指令集。项目通过运行时 objc_msgSend 解析 AppleNeuralEngine.framework 中 40+ 个私有 Objective-C 类,构建出「MIL 程序生成 → 内存编译 → IOSurface I/O」的完整链路。训练时前向与反向 dx 计算在 ANE 完成,权重梯度 dW 由 CPU cblas 并行执行,Adam 更新在 CPU 完成后权重重新打包回 ANE 空间维度。全程无外部依赖,仅使用系统框架。
主要依赖:Objective-C + Foundation + IOSurface + Accelerate(纯系统框架,零第三方依赖),Python 仅用于训练监控 Dashboard(blessed 库)。
🧑💻 使用场景
• NPU 编译器研究者:希望深入了解 Apple ANE 的 MIL IR 格式、Kernel Fusion 策略和 SRAM 行为,可直接参考 inmembench.m、sramprobe.m、inmempeak.m 等基准工具,无需从零逆向工程。
• 边缘 AI 推理优化工程师:gpuprefillanedecode.m 实现的 GPU prefill + ANE decode 混合流水线(Stories110M 总延迟 8.8ms、功耗 2.8W),可作为低功耗本地部署方案的参考架构。
• Apple 平台 ML 开发者:需要在 CoreML 训练 API 限制之外实现设备端持续学习或个性化微调时,可通过 bridge/ane_bridge.h 提供的 C-callable API 接入 ANE 计算能力。
• 硬件性能研究者:验证 38 TOPS 虚高发现,或研究 Apple Silicon ANE 与 SME(Scalable Matrix Extension)在不同工作负载下的分工边界。
• 开源社区建设者:在本项目基础上构建更完整的运行时,如已涌现的 Orion(完整 ANE 训练 + 推理框架)、hybrid-ane-mlx-bench(Apple Silicon 推理策略系统评测)。
🛣 社区关注方向
• Mega-kernel 层融合:将完整 Transformer 层融合为单一 MIL kernel
• macOS 26 API 适配:Apple 更改了 compile API。Apple 据报将推出「Core AI」替代 CoreML
• 扩展到更大模型:Qwen3-0.6B(596M 参数)GQA 支持已合并,社区在探索 1B+ 参数范围的可行性
• 模型加载支持:目前只能从随机初始化训练,无法加载预训练权重
💭 感想
ANE 项目最有价值的地方,不在于能立即替代 MLX 或 llama.cpp。作者在 README 里写得很清楚,这从来不是目标。它真正做到的是把一个「不可能」命题变成了有据可查的事实:Apple Neural Engine 的硬件本身具备训练能力,6.6 TFLOPS/W 的功效比(约为 A100 的 80 倍)让人想知道,若 Apple 开放训练 API,边缘端持续学习会走向哪里。
技术完成度上,最扎实的是基准测试体系中 38 TOPS 虚高的实验性反驳、SRAM 带宽性能悬崖的量化分析,都是不多见的一手硬件数据。训练实现接近 PoC 状态。5–9% 的 ANE 利用率说明距离高效 NPU 训练还有很长的软件工程路要走。相比 MLX(GPU 路线,开箱即用)和 CoreML(推理受限但稳定),ANE 这条路适合想深入理解 Apple Silicon 底层的系统工程师,不适合期望开箱即用的应用开发者。
项目的另一面是方法论本身:逆向工程、基准分析、训练代码,全程与 Claude Opus 4.6 协作完成。 AI 可用性得到了另一次证明
信息来源:TG频道@NewlearnerChannel
