拥有Mac(Apple Silicon芯片)的同学都知道,苹果芯片里有一个极其强悍的硬件——ANE(Apple Neural Engine,苹果神经网络引擎)。在M4芯片上,它能提供高达 15.8 TFLOPS 的算力。
然而,长期以来苹果对 ANE 做了极其严格的物理限制:它通过 CoreML 框架,只允许进行模型推理(Inference),绝对不允许进行模型训练(Training)。大家都默认:在Mac上练模型,只能靠GPU,ANE 只能看看。
直到最近,GitHub 上一个名为 ANE(maderix/ANE) 的极客研究项目彻底打破了这一“铁律”。作者通过硬核的逆向工程,绕过了苹果的官方限制,成功实现了在 ANE 上进行神经网络的完整训练(反向传播)!
今天,我们就来深度拆解这个让开源技术社区和苹果开发者们直呼“疯狂”的神仙项目,看看它究竟有哪些独一无二的硬核特色?

ANE 网站截图
一、项目核心亮点:打破Apple官方限制
长期以来,Apple将ANE主要定位为推理加速器,训练功能被严格限制在CoreML框架内。ANE项目直接调用逆向的_ANEClient和_ANECompiler私有API,以及MIL(Model Intermediate Language)格式,实现了自定义计算图在ANE上的完整训练流程。
这不是简单的推理优化,而是端到端的Transformer训练:
- 支持前向传播 + 反向传播(dx在ANE上计算,dW梯度在CPU用Accelerate cblas完成)
- 支持动态权重内核(无需每次权重更新都重新编译)
- 支持Grouped-Query Attention(GQA)等现代架构
目前已成功训练Stories110M(109M参数)和Qwen3-0.6B(596M参数)等模型,在M4上达到91ms/step和412ms/step的训练速度,堪称Apple Silicon上的突破性探索。
二、技术创新与优化
1. 动态Pipeline设计 采用共享ANE内核,将权重打包进空间维度,实现“权重动态变化但无需重新编译”。这极大提升了训练效率,避免了传统静态编译的瓶颈。
2. INT8量化加速 支持W8A8量化,通过MIL的quantize/dequantize操作和constexpr_affine_dequantize,在M4上实现1.88x吞吐提升(FP16 18.6 TOPS → INT8 35.1 TOPS)。有效利用L2 SRAM带宽,展现了ANE在低精度下的强悍性能。
3. 高效混合计算架构
- ANE负责大部分重计算(卷积模拟线性层、SDPA等)
- CPU处理RMSNorm、残差、Loss、优化器等
- GPU↔ANE零拷贝通过共享IOSurface实现(支持GPU预填充 + ANE解码 pipeline)
- 多种优化:通道优先布局、vDSP向量化、GCD异步重叠、exec()重启绕过编译限制等
4. 完整基准与探索 项目包含大量benchmark脚本,深入探测ANE的峰值性能、SRAM行为、调度延迟等,为后续研究提供了宝贵数据。
三、使用与上手
项目使用Objective-C + MIL实现,仅支持macOS 15+的Apple Silicon设备(M4实测最佳),无外部依赖。
快速上手(动态Pipeline推荐):
- 克隆仓库
- cd training/training_dynamic
- make MODEL=stories110m(或qwen3_06b)
- ./train –scratch 从零训练,或–resume继续
还提供C可调用Bridge库,方便与其他项目集成。同时附带实时训练Dashboard(Python TUI)。
注意:这是一个研究项目,非生产框架。当前利用率仍有提升空间(约5-9%峰值),许多操作仍会fallback到CPU,适合有Apple Silicon并对底层ML runtime感兴趣的开发者、研究者。
四、项目意义与未来
ANE项目证明了:硬件能力从来不是瓶颈,软件支持才是关键。它为边缘AI、on-device训练打开了一扇新窗,也为探索其他NPU的训练潜力提供了参考路径。MIT协议,欢迎fork和扩展。
相关导航

笔灵AI小说

LiblibAI
DeepSeek

karakeep

Ludo.ai
AmbientCG





