연구하드웨어 및 추론 🇷🇺 11.08.2026 17:01

Apple M4 신경 엔진 내부 분석, 1부: 리버스 엔지니어링

AppleApple
연구진이 M4 칩에 탑재된 Apple의 신경 엔진(ANE)을 리버스 엔지니어링하여 Core ML을 우회하고 신경망 프로그램을 직접 컴파일하고 실행하는 데 성공했습니다. 그들은 ANE의 실제 최고 성능이 Apple이 주장하는 38 TOPS보다 낮다는 것을 발견했으며, 추론 전용으로 설계된 칩에서 모델을 성공적으로 학습시켰습니다.
이 기사는 저자들이 M4 칩에 탑재된 Apple의 Neural Engine(ANE)을 리버스 엔지니어링하여 Core ML을 우회하고 하드웨어를 직접 다루는 방법을 자세히 설명합니다. 그들은 Core ML에서 IOKit 커널 드라이버에 이르는 전체 소프트웨어 스택을 탐구하고, Core ML 없이 ANE에서 프로그램을 컴파일하고 실행하는 방법을 발견했으며, 바이너리 형식을 밝혀냈습니다. 그들은 실제 최고 성능을 측정했고, Apple이 광고하는 '38 TOPS'는 오해의 소지가 있음을 발견했습니다. 궁극적으로 그들은 추론 전용으로 설계된 칩에서 신경망을 훈련시키는 데 성공했습니다. ANE는 GPU나 CPU가 아니라 컴파일된 신경망을 단일 원자 연산으로 실행하는 계산 그래프 엔진입니다. 그들은 메서드 스위즐링(method swizzling)과 바이너리 분석을 사용하여 AppleNeuralEngine.framework에서 40개 이상의 프라이빗 클래스를 발견했으며, 여기에는 컴파일-로드-실행 파이프라인에 직접 액세스할 수 있는 _ANEClient가 포함됩니다. 또한 모델을 설명하는 데 MIL 언어가 사용되고, 바이너리 형식 E5는 전통적인 기계 코드를 저장하는 대신 고정 하드웨어 프리미티브를 파라미터화하는 FlatBuffers 파일임을 발견했습니다. 그들은 _ANEInMemoryModelDescriptor를 사용하여 메모리에서 모델을 컴파일하는 방법을 찾았지만, 여전히 임시 디렉토리에 기록합니다. M4의 ANE는 16개의 코어, 큐 깊이 127, 독립적인 동적 전압 및 주파수 스케일링(DVFS)을 갖추고 있습니다.
출처: Habr — хаб ML — 원문
관련 게시물 ↓
새로운 뉴스