開發者逆向工程Apple Neural Engine私有API,首次在ANE上實現神經網絡訓練

avatar
ME News
03-03
ME News 消息,3 月 3 日(UTC+8),開發者 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 星。(來源:ME)

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論