PesquisaHardware e Inferência 🇷🇺 11.08.2026 17:01

Dentro do Neural Engine da Apple no M4, Parte 1: Engenharia Reversa

AppleApple
Pesquisadores fizeram engenharia reversa do Neural Engine (ANE) da Apple no chip M4, contornando o Core ML para compilar e rodar programas de rede neural diretamente. Eles descobriram que o desempenho máximo real do ANE é inferior aos 38 TOPS alegados pela Apple, e conseguiram treinar um modelo no chip, que é projetado apenas para inferência.
O artigo detalha como os autores fizeram engenharia reversa do Neural Engine (ANE) da Apple no chip M4, contornando o Core ML para trabalhar diretamente com o hardware. Eles exploraram toda a pilha de software, do Core ML ao driver de kernel IOKit, descobriram como compilar e executar programas no ANE sem o Core ML e desvendaram o formato binário. Eles mediram o pico de desempenho real, descobrindo que os '38 TOPS' anunciados pela Apple são enganosos. Por fim, conseguiram treinar uma rede neural no chip, que se destina apenas a inferência. O ANE não é uma GPU nem uma CPU; é um motor de grafo computacional que executa uma rede neural compilada como uma operação atômica única. Eles usaram swizzling de métodos e análise binária para descobrir mais de 40 classes privadas no AppleNeuralEngine.framework, incluindo _ANEClient, que permite acesso direto ao pipeline de compilar-carregar-executar. Eles também descobriram que a linguagem MIL é usada para descrever modelos, e o formato binário E5 é um arquivo FlatBuffers que parametriza primitivas de hardware fixas em vez de armazenar código de máquina tradicional. Eles encontraram uma maneira de compilar modelos em memória usando _ANEInMemoryModelDescriptor, embora ainda escreva em um diretório temporário. O ANE no M4 tem 16 núcleos, uma profundidade de fila de 127 e escala dinâmica de tensão e frequência (DVFS) independente.
Fonte: Habr — хаб ML — original
Nossos posts anteriores sobre este tópico ↓
Notícias frescas