Разработчик под псевдонимом Maderix опубликовал на Substack статью о reverse engineering Apple Neural Engine (ANE), а затем её перевод появился на Habr. В ходе работы выяснилось, что класс _ANEInMemoryModel, который считался «святым граалем» для запуска моделей без записи на диск, на самом деле не существует как in-memory путь. Maderix, используя Rust и декомпиляцию, доказал это и предложил альтернативное решение.

История началась с того, что Maderix, вдохновившись статьёй, написанной в паре с нейросетью Claude Opus 4.6, решил проверить код. Нейросеть нашла в AppleNeuralEngine.framework 40+ приватных классов, включая _ANEInMemoryModel, и назвала это «The In-Memory Path: The Holy Grail». Однако автор заметил несостыковки: в «in-memory» пути появлялись файловые пути, и после ~119 компиляций всё падало. Это натолкнуло его на мысль, что класс — лишь обёртка.

Maderix решил не использовать Objective-C, а написать прототип на Rust с привязками objc2. Он загрузил приватный фреймворк, подгрузил MIL-файл и отправил классам сообщения compile/load. Тест прошёл, но после 127 итераций компиляция перестала работать. Используя LLDB и Instruments, он выяснил, что стек вызовов ведёт к _ANEInMemoryModel, который вызывает saveModelFiles и localModelPath, а затем compileModel. Это подтвердило, что in-memory путь — фикция.

Используя Rust и objc2, он создал прототип, который загружает приватный фреймворк AppleNeuralEngine и компилирует MIL-файлы.

Разобравшись, Maderix переписал код напрямую на _ANEModel и _ANEClient, вручную создавая файлы. Он также выяснил, что _ANEInMemoryModel передаёт опции @{@"kANEFModelType":@"kANEFModelMIL"}. После этого код заработал без ограничений: компиляция шла бесконечно, пока он сам не остановил цикл. Это показывает, что даже в закрытых системах можно добиться стабильной работы, если правильно понять внутренности.

Статья поднимает важную тему о роли нейросетей в разработке. Maderix отмечает, что нейросети — инструмент, который нужно контролировать. Ошибки, заложенные в код, могут тиражироваться, если не проверять результат. Его опыт — пример того, как критическое мышление и знание ассемблера позволяют обойти ограничения, которые кажутся непреодолимыми.