Orion:Apple Neural Engine 的端到端训练系统
本页是 NPU 路线路线 B 的系统化之作(见 端侧训练):Orion [1] 在 maderix/ANE [2] 的逆向刻画之上,做出首个开放的 端到端 ANE 训练系统:直接执行 + 编译管线 + 稳定多步训练与 checkpoint 恢复,全部在一个原生 runtime 内,完全绕过 Core ML。
1. 系统组成
- 绕过 Core ML:经 Apple 私有
_ANEClient/_ANECompiler直接给 ANE 编译 forward + backward 训练图; - 编译器:图 IR 经过 5 个优化 pass 降到 ANE 原生 MIL;
- 运行时:IOSurface 零拷贝张量 I/O、程序缓存、面向权重更新的 delta 编译;
- ANE 限制目录:系统刻画 ANE 的 20 条限制(MIL IR、内存布局、 编译上限、数值行为),其中 14 条为新发现——这是在 maderix 刻画工作 [2] 之上的扩展。
2. 关键问题:权重被烘焙进编译产物
ANE 在编译期把权重烘焙进程序——朴素训练每更新一次权重就要整体 重编译一次,约 4.2 s/步,完全不可用。
Orion 的解法:不走 ANECCompile() 整体重编译,而是
卸载程序 → 打补丁改权重文件 → 重新加载:
| 方案 | 每步重编译 |
|---|---|
| 朴素重编译 | 4200 ms |
| 权重补丁 | 494 ms(8.5×,整体训练提速 3.8×) |
3. 结果(M4 Max)
- GPT-2 124M 推理:170+ tokens/s;
- 110M Transformer 在 TinyStories 上稳定训练 1000 步 / 22 分钟, 全程 零 NaN;
- LoRA adapter-as-input:adapter 作为 IOSurface 输入热插拔, 换 adapter 不需要重编译——这正是端侧个性化最需要的形态。
4. 与路线 A 的对比
| 路线 A(MobiZO) | 路线 B(本项目) | |
|---|---|---|
| backward | 无(forward 差分) | 真正的 forward + backward 图 |
| 梯度 | 近似(噪声大) | 精确 |
| 软件栈 | 公开推理引擎,现在就能跑 | 私有 API + 自研编译器,研究原型 |
| 上限 | 收敛步数受限 | 决定 NPU 训练的长期上限 |
依赖 Apple 私有未文档化 API,无稳定性保证,不能简单等同于 "明天 iOS App 就能这么上线"。但它证明了 NPU 硬件本身并不是不能 训练 Transformer——真正缺的只是 software stack。
参考文献
[1] KUMARESAN R. Orion: characterizing and programming Apple's Neural Engine for LLM training and inference[J/OL]. arXiv preprint arXiv:2603.06728, 2026. https://arxiv.org/abs/2603.06728
[2] maderix. ANE: training neural networks on Apple Neural Engine via reverse-engineered private APIs[EB/OL]. GitHub, 2026. https://github.com/maderix/ANE (commit d91c984)
© 2026 Yang Huan · yanghuan9812@qq.com