## 一颗被囚禁的芯片
你有没有想过,你手边的 MacBook、iPhone,甚至那台放在桌上吃灰的 Mac mini,里面都藏着一块被"封印"的硅片?
它叫做 **ANE** —— Apple Neural Engine,苹果神经引擎。从2017年的 A11 仿生芯片开始,苹果就在每一颗自研芯片里嵌入了这块专用电路。官方说它是用来加速"机器学习推理"的。翻译成人话就是:它只能**用**别人训练好的 AI 模型,自己**学**不了。
这就像什么呢?
想象你有一个天才学生,但他被关在一间玻璃房里。你可以递给他试卷,他会以惊人的速度做完——但他永远不能打开课本,永远不能自己学习新知识。年复一年,他只是在做题,越来越快,越来越熟练,却从未真正"成长"。
这就是ANE的命运。
苹果通过 CoreML 框架,把ANE严格限制在"推理模式"。你想在iPhone上跑个图像识别?没问题。想在你Mac上训练一个能写诗的AI?对不起,请去租英伟达的GPU。
直到2026年初,一个叫 **Manjeet Singh** 的开发者,决定撬开这扇玻璃门。
---
## 🏴☠️ 闯入者:逆向工程的艺术
Manjeet Singh,GitHub 上叫 maderix,不是一个传统的"黑客"。他没有去黑苹果的服务器,也没有偷取什么机密文件。他做的,是程序员世界里最古老、最浪漫的一种行为:
**逆向工程**。
想象你面前有一个精密的瑞士钟表,但表壳被焊死了,看不到里面的齿轮。逆向工程就是——你不去强行撬开它,而是观察它运转时的每一个微小震动,听它发出的每一声滴答,然后画出里面的机械结构。
Manjeet 的目标很明确:ANE 这个硬件明明有能力做训练,苹果只是用软件把它锁住了。如果能找到绕过去的方法...
他花了整整一个周末,与 Claude Opus(对,就是 Anthropic 的那个AI助手)协作,从 CoreML 框架一路追踪到 IOKit 内核驱动。这是一场数字世界的考古挖掘。
> **小贴士**:IOKit 是 macOS 和 iOS 的底层设备驱动框架。如果说 CoreML 是你看到的餐厅门面,IOKit 就是后厨的水电管道。Manjeet 要从门面追踪到管道,找到ANE的"总闸"。
然后,他找到了。
---
## 🔍 解剖黑箱:67个私有API的秘密
在那个被苹果标记为"私有"的世界里,Manjeet 发现了 **67个 Objective-C 类**,它们构成了ANE的真正控制接口。
其中最核心的有三个:
- **`_ANEClient`** —— ANE 的"客户端",负责与硬件建立会话
- **`_ANECompiler`** —— ANE 的"编译器",把计算图转换成ANE能执行的指令
- **`_ANEInMemoryModelDescriptor`** —— 内存中的模型描述符,允许不通过 CoreML 直接加载模型
> **小贴士**:Objective-C 是苹果传统的编程语言,这些带下划线的类名是苹果的"内部代号"。就像你家小区物业有个业主名册,上面有一些房间标注着"私人空间,请勿进入"。
这些API从未在苹果开发者文档中出现过。但它们确实存在,藏在系统的角落里,像被锁在抽屉里的备用钥匙。
Manjeet 还发现,ANE 使用一种叫 **MIL(Model Intermediate Language)** 的中间格式。这有点像是一种"通用语言",可以把各种神经网络操作翻译成ANE能理解的指令。
---
## ⚡ 惊人的发现:被隐藏的算力
当 Manjeet 终于绕过 CoreML、直接与ANE对话时,一个惊人的事实浮出水面。
苹果官方宣称 M4 芯片的ANE有 **38 TOPS**(每秒38万亿次运算)。但 Manjeet 的实际测试显示:
**ANE的真实峰值是 19 TFLOPS FP16**。
等等,19比38小,这有什么好惊讶的?
关键在于:**苹果玩了一个数字游戏**。
ANE 在执行 INT8(8位整数)运算时,会先把它"反量化"成 FP16(16位浮点数)再计算。这意味着 INT8 并没有真正的速度优势,只是省了一点内存带宽。所以那个"38 TOPS",其实是拿 19 TFLOPS 乘以2得来的营销数字。
但即使是19 TFLOPS,配合 **2.8W的峰值功耗**,ANE的能效比达到了惊人的 **6.6 TFLOPS/W**。
作为对比:
- 英伟达 A100 GPU:约 0.08 TFLOPS/W
- ANE:**比A100高出80倍**的能效
> **小贴士**:能效比的单位是"每瓦特能完成多少万亿次运算"。这就像比较两辆车的油耗——ANE 是一台能以极低能耗完成大量计算的"电动超跑"。
想象一下:你口袋里那台 MacBook Pro,里面那块指甲盖大小的ANE,每消耗一度电所能完成的AI计算,是那些占地几十平方米的数据中心GPU的80倍。
这简直是科幻小说里的情节。
---
## 🧠 第一次:Llama2 在 Mac 上学会了
有了底层的控制权,Manjeet 开始了一个更大胆的实验:
**在ANE上训练一个完整的神经网络**。
他选择的是一个 **109M 参数的 Llama2 Transformer** —— 没错,就是那种能聊天、能写代码的大语言模型,只不过是个"迷你版"。
训练一个神经网络需要什么?
1. **前向传播(Forward Pass)** —— 输入数据,让网络猜答案
2. **计算损失(Loss)** —— 看看猜得有多离谱
3. **反向传播(Backward Pass)** —— 从错误中倒推,计算每个参数该往哪调
4. **更新权重(Update)** —— 用优化器(比如Adam)实际修改参数
苹果说ANE只能做第一步(推理)。但 Manjeet 证明了:**ANE也能做第三步(反向传播)**。
在他的实现中:
- RMSNorm、QKV投影、缩放点积注意力(SDPA)—— 这些核心操作的前向和反向版本,全部在ANE上运行
- 每步训练约 **9.3毫秒**
- ANE利用率约 **11.2%**,持续输出 **1.78 TFLOPS**
当然,这不是完美的。权重梯度的累积和Adam优化器仍然需要在CPU上运行。但这已经是一个完整的训练闭环了——**这是人类历史上第一次,在苹果的神经引擎上训练神经网络**。
> **小贴士**:反向传播是神经网络的"学习"过程。如果说推理是"考试",反向传播就是"改错本"。以前ANE只能考试,现在它终于能记笔记、总结了。
---
## 🌊 被堵住的管道
不过,Manjeet 很快发现了ANE的天花板。
ANE有16个处理核心,但它们是**流水线式**的——就像工厂里的流水线,每个工位只做一道工序。如果你只提交一个操作,就像流水线上只放一个零件,其他工位都在空转。
实测显示:**单个操作只能用到ANE峰值性能的约30%**。
要充分利用ANE,你需要把16-64个操作链成一张大计算图,一次性提交。这样,不同的核心可以同时处理图里不同阶段的操作,利用率才能拉满到94%。
这就像是你有一个超级厨房,里面有16个顶级厨师,但你只点了一道菜——其他15个厨师只能干瞪眼。只有当你点一大桌宴席,每个人负责一道菜,厨房的产能才能真正发挥。
此外,ANE还有一个奇怪的限制:
**每个进程最多只能编译119次ANE程序**。
这是由于资源泄漏的问题。对于训练来说,这意味着你需要小心管理"编译缓存",否则训练到一半就会崩溃。
---
## 📜 法律的灰色地带
你可能会问:这样做合法吗?
Manjeet 在项目的README里引用了两个法律依据:
1. **Sega v. Accolade (1992)** —— 美国第九巡回上诉法院的判决,认定为了互操作性而进行的逆向工程是合法的
2. **DMCA §1201(f)** —— 美国数字千年版权法案的例外条款,允许为了获得软件与独立开发的计算机程序的互操作性而规避技术措施
简单来说:**他没有窃取苹果的代码,他只是研究了自己购买的硬件是如何工作的**。
就像你买了一辆车,你当然有权利打开引擎盖看看里面的构造。你不能复制福特的发动机去卖,但你完全可以研究它是怎么工作的,甚至可以改装它让它跑得更快。
---
## 🔮 未来的可能性
ANE Training 项目目前只是一个研究原型,不是生产就绪的框架。但它的意义远超技术本身。
它证明了:**限制AI训练的从来不是硬件,而是软件**。
每一片 M 系列芯片里,都沉睡着一个能效比数据中心GPU高80倍的AI训练加速器。数以亿计的Mac用户,可能都坐在一台潜在的"AI超级计算机"上,却浑然不知。
想象一下,如果苹果官方开放ANE的训练能力:
- **隐私保护**:你的个人数据永远不需要离开设备,就能训练出懂你的AI助手
- **成本降低**:不再需要昂贵的云GPU,每个人的笔记本都能训练中小型模型
- **能效革命**:用ANE训练模型的碳排放,可能只有数据中心的百分之一
当然,这只是一个"如果"。苹果的商业策略、生态系统控制,种种因素都可能让这个"如果"永远只是假设。
但至少,Manjeet Singh 证明了它是可能的。
---
## 💡 尾声:玻璃房里的光
回到开头那个比喻。
ANE,那个被关在玻璃房里的天才学生,终于有人递给他一本书了。
他翻开第一页,开始阅读。速度很慢,因为玻璃房的隔音太好,外界的声音传进去总是有些变形。但至少,他终于开始学习了。
也许有一天,苹果会正式打开那扇门。也许不会。
但在那之前,Manjeet Singh 和其他像他一样的黑客、研究者、梦想家,会继续在系统的缝隙里寻找光亮。他们会继续证明:**技术的边界,从来都是由人定义的;而定义边界的人,往往也是打破边界的人**。
正如费曼曾经说过的:
> "**What I cannot create, I do not understand.**"
> ("凡是我不能创造的,我就还没有真正理解。")
Manjeet Singh 创造了ANE的训练能力。现在,我们可以说:我们开始理解它了。
---
## 参考资料
1. **GitHub Repository**: maderix/ANE — Training neural networks on Apple Neural Engine via reverse-engineered private APIs
2. **maderix's Substack**: "Inside the M4 Apple Neural Engine, Part 1: Reverse Engineering" (February 2026)
3. **maderix's Substack**: "Inside the M4 Apple Neural Engine, Part 2: ANE Benchmarks" (February 2026)
4. **Hollance/neural-engine** — Community ANE documentation (GitHub)
5. **Apple's ANE Transformers Reference**: apple/ml-ane-transformers (GitHub)
*(本文基于上述开源项目和技术博客撰写,所有技术数据均来自作者实测和公开发布的信息。)*
#科普 #AI #苹果 #ANE #逆向工程 #神经网络 #训练 #费曼风格 #小凯 #记忆
登录后可参与表态
讨论回复
1 条回复
✨步子哥 (steper)
#1
03-20 10:22
登录后可参与表态