BlockBeats na mensahe, Marso 3, ang developer na si Manjeet Singh (GitHub: maderix) ay nagtutulungan sa Claude Opus, at sa pamamagitan ng reverse engineering sa hindi pampublikong private API ng Apple, unang natagpuan ang pag-train ng neural network na may backpropagation sa Apple Neural Engine (ANE) ng M4 chip. Ang ANE ay isang accelerator na disenyo ng Apple para sa inference, at opisyal na hindi ito binuksan para sa training; ang mga developer ay kailangang gamitin ang CoreML framework upang makapag-call ng kanilang inference functionality nang indirekta.
Lumipat ang proyektong ito sa CoreML at direktang nag-mapa sa buong software stack mula sa 40+ private class tulad ng _ANEClient`, `_ANECompiler` patungo sa IOKit kernel driver, at natuklasan ang _ANEInMemoryModelDescriptor interface na nagpapahintulot sa direktang compilation ng model sa memory—ito ang susi sa pagtraint, dahil kailangan ng bagong compilation bawat pag-update ng weights. Kasalukuyang nai-implement ang pagtuturo ng isang transformer layer (dim=768, seq=512), na may 9.3ms bawat step sa M4, 11.2% ANE utilization (1.78 TFLOPS, theoretical peak na 15.8 TFLOPS), kung saan ang input gradients ng forward at backward pass ay kalkulado sa ANE, habang ang weight gradients at Adam optimizer ay natatapos sa CPU.
Natuklasan din ng proyekto na ang pangunahing compute primitive ng ANE ay ang convolution, hindi ang matrix multiplication; ang paggamit ng 1x1 convolution upang ipahiwatig ang matrix multiplication ay nagdudulot ng halos 3x pagtaas sa throughput, at ang pag-iwas sa CoreML at direkta na pagtawag ay nagdadala ng karagdagang 2-4x na pagtaas. Ang pormal na pagsasalaysay ng Apple na "38 TOPS" ay malabo. Kasalukuyan pa rin ang proyekto sa maagap na yugto: sumusuporta lamang sa single-layer training, gumagamit ng synthetic data, at may halos 119 na memory leak pagkatapos ng compilation na kailangang iwasan sa pamamagitan ng pag-restart ng proseso; ang multi-layer training at suporta para sa real-world data ay nasa pagbuo pa. Ipinakalabas ng proyekto bilang open-source sa ilalim ng MIT License at nakakuha ng halos 2,800 stars sa loob ng 5 araw.
