реальную пиковую производительность и обнаружили, что заявленные Apple «38 TOPS» (триллионов операций в секунду) вводят в заблуждение. В итоге им удалось обучить нейронную сеть на этом чипе, хотя он предназначен исключительно для инференса (выполнения уже обученных моделей). ANE — это не GPU (графический процессор) и не CPU (центральный процессор); это движок вычислительного графа, который выполняет скомпилированную нейронную сеть как единую атомарную операцию. С помощью метода swizzling (подмены методов) и бинарного анализа исследователи обнаружили более 40 приватных классов во фреймворке AppleNeuralEngine.framework, включая _ANEClient, который открывает прямой доступ к конвейеру «компиляция — загрузка — выполнение». Они также выяснили, что для описания моделей используется язык MIL, а бинарный формат E5 представляет собой файл FlatBuffers, который параметризует фиксированные аппаратные примитивы, а не хранит традиционный машинный код. Авторы нашли способ компилировать модели прямо в памяти с помощью _ANEInMemoryModelDescriptor, хотя процесс всё равно сопровождается записью во временный каталог. ANE в чипе M4 имеет 16 ядер, глубину очереди 127 и независимое динамическое масштабирование напряжения и частоты (DVFS, dynamic voltage and frequency scaling).