Nakamit ng developer ang unang pag-train ng neural network sa Apple Neural Engine sa pamamagitan ng reverse engineering

iconKuCoinFlash
I-share
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconSummary

expand icon
Isinagawa ng isang developer ang unang pag-train ng neural network gamit ang backpropagation sa Apple’s Neural Engine sa M4 chip sa pamamagitan ng reverse engineering. Ang proyekto ay nagbypass sa CoreML, na nag-mapping ng higit sa 40 private classes sa IOKit kernel driver para sa in-memory model compilation. Ang performance ay nakamit ang 1.78 TFLOPS, kasama ang suporta para sa isang single transformer layer. Ang balitang ito sa on-chain ay nagmarka ng network upgrade sa paggamit ng hardware. Ang code ay open-source sa ilalim ng MIT license.

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.


Disclaimer: Ang information sa page na ito ay maaaring nakuha mula sa mga third party at hindi necessary na nagre-reflect sa mga pananaw o opinyon ng KuCoin. Ibinigay ang content na ito para sa mga pangkalahatang informational purpose lang, nang walang anumang representation o warranty ng anumang uri, at hindi rin ito dapat ipakahulugan bilang financial o investment advice. Hindi mananagot ang KuCoin para sa anumang error o omission, o para sa anumang outcome na magreresulta mula sa paggamit ng information na ito. Maaaring maging risky ang mga investment sa mga digital asset. Pakisuri nang maigi ang mga risk ng isang produkto at ang risk tolerance mo batay sa iyong sariling kalagayang pinansyal. Para sa higit pang information, mag-refer sa aming Terms ng Paggamit at Disclosure ng Risk.