Повідомлення BlockBeats, 3 березня: розробник Manjeet Singh (GitHub: maderix) у співпраці з Claude Opus вперше здійснив навчання нейромережі з зворотним поширенням на Apple Neural Engine (ANE) чіпа M4 шляхом зворотного інжинірингу невідомих приватних API Apple. ANE — це прискорювач, розроблений Apple виключно для висновків; офіційно функції навчання не розблоковані, і розробники можуть використовувати його можливості висновку лише через фреймворк CoreML.
Цей проект обходить CoreML, безпосередньо зіставляючи понад 40 приватних класів, таких як _ANEClient` та `_ANECompiler, з ядром IOKit, і виявив інтерфейс _ANEInMemoryModelDescriptor, який дозволяє компілювати моделі безпосередньо в пам’яті — це ключовий етап для реалізації навчання, оскільки кожне оновлення вагів вимагає повторної компіляції. Наразі реалізовано навчання одного шару transformer (dim=768, seq=512): на M4 кожен крок триває 9,3 мс, використання 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 зірок.
