Pembangun Berjaya Melatih Rangkaian Saraf Pertama pada Apple Neural Engine melalui Rekabentuk Balik

iconKuCoinFlash
Kongsi
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconRingkasan

expand icon
Seorang pembangun telah menjalankan latihan rangkaian saraf pertama dengan backpropagation pada Neural Engine Apple pada cip M4 melalui reverse engineering. Projek ini melangkau CoreML, memetakan lebih daripada 40 kelas persendirian kepada pemandu kernel IOKit untuk kompilasi model dalam ingatan. Prestasi mencapai 1.78 TFLOPS, dengan sokongan untuk satu lapisan transformer. Berita ini menandakan peningkatan rangkaian dalam pemanfaatan peranti keras. Kod ini bersifat sumber terbuka di bawah lesen MIT.

Mesej BlockBeats, 3 Mac, pengembang Manjeet Singh (GitHub: maderix) bekerjasama dengan Claude Opus, berjaya melaksanakan latihan rangkaian saraf dengan backpropagation pertama kali di Apple Neural Engine (ANE) berasaskan cip M4 melalui reka kebalik API sulit Apple. ANE ialah akselerator yang dicipta khas oleh Apple untuk inferens, dan secara rasmi tidak pernah membuka kemampuan latihan; pengembang hanya boleh memanggil fungsi inferensnya secara tidak langsung melalui kerangka CoreML.


Projek ini melepaskan CoreML, secara langsung memetakan lebih dari 40 kelas peribadi seperti _ANEClient` dan `_ANECompiler` ke dalam pemandu kernel IOKit, serta mengenal pasti antaramuka _ANEInMemoryModelDescriptor yang membolehkan kompilasi model secara langsung dalam memori—ini merupakan kunci untuk pelatihan, kerana setiap kemas kini berat memerlukan kompilasi semula. Kini, pelatihan untuk satu lapisan transformer (dim=768, seq=512) telah dilaksanakan, dengan masa 9.3ms setiap langkah di M4, penggunaan ANE sebanyak 11.2% (1.78 TFLOPS, puncak teori 15.8 TFLOPS), gradien input untuk penyebaran maju dan mundur dikira di ANE, manakala gradien berat dan pengoptimum Adam diselesaikan di CPU.


Projek ini juga menemukan bahwa primitif komputasi utama ANE adalah konvolusi, bukan pendaraban matriks; menggunakan konvolusi 1x1 untuk mewakili pendaraban matriks memberikan peningkatan throughput sekitar 3 kali ganda, sementara memanggil secara langsung tanpa melalui CoreML memberikan tambahan peningkatan 2-4 kali ganda, menjadikan klaim rasmi Apple mengenai "38 TOPS" menyesatkan. Projek ini masih berada dalam peringkat awal: hanya menyokong latihan satu lapisan, menggunakan data sintetik, dan terdapat kebocoran sumber daya sebanyak 119 kali selepas kompilasi yang perlu dielakkan dengan me-restart proses; sokongan untuk latihan pelbagai lapisan dan data sebenar masih dalam pembangunan. Projek ini telah dibuka sumber di bawah lesen MIT dan memperoleh sekitar 2,800 bintang dalam masa lima hari.


Penafian: Maklumat yang terdapat pada halaman ini mungkin telah diperoleh daripada pihak ketiga dan tidak semestinya menggambarkan pandangan atau pendapat KuCoin. Kandungan ini adalah disediakan bagi tujuan maklumat umum sahaja, tanpa sebarang perwakilan atau waranti dalam apa jua bentuk, dan juga tidak boleh ditafsirkan sebagai nasihat kewangan atau pelaburan. KuCoin tidak akan bertanggungjawab untuk sebarang kesilapan atau pengabaian, atau untuk sebarang akibat yang terhasil daripada penggunaan maklumat ini. Pelaburan dalam aset digital boleh membawa risiko. Sila menilai risiko produk dan toleransi risiko anda dengan teliti berdasarkan keadaan kewangan anda sendiri. Untuk maklumat lanjut, sila rujuk kepada Terma Penggunaan dan Pendedahan Risiko kami.