BlockBeats 消息,3 月 3 日,開發者 Manjeet Singh(GitHub: maderix)與 Claude Opus 協作,透過逆向工程 Apple 未公開的私有 API,首次在 M4 芯片的 Apple Neural Engine(ANE)上實現了包含反向傳播的神經網路訓練。ANE 是 Apple 專為推理設計的加速器,官方從未開放訓練能力,開發者只能透過 CoreML 框架間接調用其推理功能。
該項目繞過 CoreML,直接映射了從 _ANEClient、_ANECompiler 等 40 個以上私有類到 IOKit 內核驅動的完整軟體棧,並發現了可在記憶體中直接編譯模型的 _ANEInMemoryModelDescriptor 介面——這是實現訓練的關鍵,因為每次權重更新都需要重新編譯。目前已實現單個 transformer 層(dim=768, seq=512)的訓練,M4 上每步耗時 9.3ms,ANE 利用率 11.2%(1.78 TFLOPS,理論峰值 15.8 TFLOPS),前向和反向傳播的輸入梯度在 ANE 上計算,權重梯度和 Adam 優化器在 CPU 上完成。
項目還發現 ANE 的核心計算原語是卷積而非矩陣乘法,使用 1x1 卷積來表達矩陣乘法可獲得約 3 倍吞吐量提升,繞過 CoreML 直接調用則可額外獲得 2-4 倍增益,Apple 官方宣傳的「38 TOPS」具有誤導性。目前項目仍處於早期階段:僅支援單層訓練、使用合成數據,且存在約 119 次編譯後的資源洩漏,需重啟進程來避開;多層訓練和真實數據支援仍在開發中。項目以 MIT 協議開源,上線 5 天已獲得約 2800 顆星。
