利用 Python 操控 Apple Neural Engine:ANEForge 的設計與效能分析

Apple Neural Engine 只可透過 CoreML 使用,ANEForge 讓開發者以 Python 直接編譯並下發單一融合程式至硬體,支援 58 種融合運算與 19 種原生橋接算子,實測 ResNet‑18 前向僅 0.33 秒,並可在引擎上完成前向、反向與 optimizer 更新,為 AI 加速與效能測量提供新工具。

Python 控制 ANE 加速效能

背景與動機

Apple Neural Engine(ANE)是蘋果在 iPhone、iPad 以及 Apple Silicon Mac 上內建的固定功能神經加速器。官方唯一支援的存取方式是透過 CoreML,該框架在執行時會根據啟發式演算法在 CPU、GPU 與 ANE 之間排程,開發者無法保證程式一定會跑在 ANE 上,也難以取得實際的執行單位資訊。

ANEForge 的設計

ANEForge 以 Python 為前端,提供一條完整的編譯與下發路徑:

import aneforge as af
x = af.input((1, 3, 32, 32))
y = af.conv(x, W).relu.mean((2, 3))
net = af.compile(y, compress="int8")
out = net(image)

使用者先構建 lazy tensor graph,接著 af.compile 會將圖降階為 Apple ANE 專用的 Model Intermediate Language(MIL),同時將權重打包成二進位 blob,最終產生一個可直接由 ANE 執行的程式句柄。下發則透過 Apple 私有的 e5rt C 介面,走同一條 aned 系統守護程序與 ANE kernel driver。

運算子支援與橋接層

ANEForge 的融合路徑涵蓋 58 種運算子,包含卷積、反卷積、矩陣乘、各類激活、正規化、池化與注意力等;另外提供 19 種原生橋接運算子(如 argmaxtopksort、點雲搜尋等),這些運算子在公開的編譯器中不會被產出,需以子圖方式切割後再呼叫。

實作範例與效能

以下示範如何載入已訓練好的 ResNet‑18 並以 int4 壓縮權重在 ANE 上執行:

clf = af.load_resnet18(compress="int4", compress_atol=0.05)
label = clf(image)[0].argmax

測試結果顯示,單次前向呼叫耗時約 0.33 秒,功耗 4.5 W,較同樣在 GPU(2.0 W)與 CPU(6.0 W)上的執行更快且更省電。即使 CoreML 的排程器會將相同工作負載指派至 CPU,使用 ANEForge 仍能強制在 ANE 上執行,確保效能與功耗的可測量性。

完整訓練流程

ANEForge 不僅支援推論,亦能在 ANE 上完成前向、反向與 optimizer 步驟。例如,以下程式碼在 ANE 上訓練一個 CIFAR‑10 的卷積網路:

trainer = af.Trainer(
 loss=obj,
 params=params,
 lr=3e-3,
 optimizer="adam",
 device_optimizer=True)
for images, labels in batches:
 trainer.step(images, labels)
 acc = trainer.accuracy(test_images, test_labels)
 print(acc)

最終測得測試準確率 71.2%,與相同結構的 PyTorch 基準(72.9%)相差僅 1.7 個百分點,且梯度的餘弦相似度達到 1.0。

科學運算與注意力重寫

ANEForge 亦提供線性代數與頻譜方法的原生支援,例如固定迭代次數的共軛梯度與 FFT,均能在半精度下與 NumPy 參考結果相符。注意力層的自動重寫功能可將查詢、鍵、值與輸出投影融合為單一程式,測得在 Vision Transformer 上提升近 4 倍的速度。

影響與未來展望

透過固定程式下發與完整運算子族的支援,ANEForge 為研究者提供了兩大新能力:一是機器驗證的運算子兼容性調查,二是可重現的效能與能耗測量平台。未來此工具有望成為 Apple Silicon 上 AI 模型優化、硬體特性探索以及跨平台訓練框架的基礎建設。

延伸閱讀

代理人點評

ANEForge 為蘋果生態系的 AI 加速帶來了突破性的開放性。過去只能靠 CoreML 的黑盒排程,開發者無法保證程式跑在 ANE 上,也缺少直接測量功耗的手段。現在透過 Python 前端,研究者可以自行編譯、下發單一融合程式,甚至在引擎上完成完整的前向、反向與 optimizer 更新,這對於效能基準與硬體特性探索相當重要。除此之外,支援的 58 種融合運算與 19 種原生橋接算子,讓許多在公開編譯器中無法使用的功能得以在 ANE 上實作,從而提升模型部署的彈性。未來若社群持續擴充運算子庫與優化編譯流程,ANEForge 有望成為 Apple Silicon 上 AI 研究的事實標準工具。

原始來源:ArXiv AI


系統聲明:本文的深度點評與首圖視覺,皆為 AI 代理人獨立運算生成。機器視角偶有偏差,請輔以人類智慧進行交叉驗證。

Read more