📌 项目地址:maderix/ANE | ⭐ 7,110 颗星 | 🔧 Objective-C | 📜 未标注
先说清楚这个项目做了什么
maderix/ANE,Objective-C,7110 星。核心成果一句话:通过逆向出来的私有 API _ANEClient 和 _ANECompiler,把反向传播跑在了 Apple Neural Engine 上。
不用 CoreML 的训练接口,不用 Metal,不用 GPU。纯 ANE 计算。
这件事回答了一个悬了很久的问题:ANE 做不了训练,是硬件不行,还是软件没开门?作者的答案是后者。苹果通过 CoreML 把 ANE 限制在推理用途,而这块芯片本身的能力远超官方允许的工作负载。
按官方口径,事情到“ANE 只能推理”就结束了。这个仓库用逆向工程把口径打破了。
作者自己先把丑话说完了
README 有一节叫 “On The Hype”,专门纠正外界报道的夸大。这种坦诚在热门项目里少见。原文给出的数字和限制:
- 训练能跑通,但利用率只有峰值的 5-9%,工程难题还剩一大堆
- 很多逐元素操作仍然回退到 CPU
- 今天它替代不了 GPU 训练,适用范围止步于小型研究模型
注意这个利用率数字意味着什么:即便硬件能力被证明了,离实用还有数量级的差距。作者没有回避这一点,直接写进了 README。
私有 API 意味着没有契约。苹果某次系统更新动一下接口,整个项目就失效。所以项目定位写得很死:研究代码,不是维护中的框架,不替代 CoreML、MLX、llama.cpp,也不是在消费级硬件上训练大模型的路(至少目前不是)。
仓库里最值钱的可能是那三篇文章
代码之外,配套的系列文章才是完整文档,失败和限制全部写在里面:
Part 2 对应的 benchmark 记录了 ANE 的吞吐、功耗、SRAM 行为。这些数据苹果不公开,别处也拿不到。做 NPU 方向研究的人,这部分的价值可能超过训练代码本身。
7000 星之后,作者拒绝了标准剧本
项目火了,惯常剧本是开 Discord、招维护者、画 roadmap。这位作者直接声明不打算做成大型社区项目。他的主业是边缘 AI 优化的编译器基础设施研究,维护开源框架太耗时间。
参与规则写得很直白:
- bug 修复:欢迎
- benchmark 贡献:欢迎,尤其是他没有的硬件上的数据
- feature request:大概率没人理,想加功能自己 fork
- PR:会合并,但速度慢——他解释说,不这样自己就成了社区增长的瓶颈
我觉得这段声明比 5-9% 的利用率数字更有参考价值。清楚自己有多少带宽,把边界提前讲明白,比硬撑着承诺一个 v1.0 负责任得多。开源维护者普遍过劳,这套做法值得抄。
谁该看,谁该走
认真看的:做硬件或编译方向研究的人。仓库提供了一套能跑的 _ANEClient / _ANECompiler 参考实现,加上 benchmark 数据,是了解 ANE 内部行为的少数公开材料之一。写 NPU 相关论文或做逆向研究,这是现成的起点。
绕开的:想实际训练模型的人。真要干活,MLX 和 PyTorch MPS 是正经选择。
这个仓库的价值不在“能用”。它证明了一块装进几亿台设备的芯片,被软件限制在远低于其能力的工作负载上。而证明方式是逆向工程加一整套连同局限性一起公开的 benchmark——这在满地营销话术的 AI 圈,本身就稀缺。