Apple M4 뉴럴 엔진 역공학 분석: 38 TOPS 수치 뒤에 숨겨진 진실

M4 뉴럴 엔진의 베일을 벗기다

연구팀이 Apple M4 뉴럴 엔진(ANE, codename H16G)을 역공학으로 분석한 결과를 공개했습니다. Hacker News에서 스코어 330점을 기록하며 AI 하드웨어 연구자들의 큰 관심을 받고 있습니다.

핵심 발견: 그래프 실행 엔진

가장 중요한 발견은 M4 ANE가 기존의 GPU나 CPU와 근본적으로 다른 '그래프 실행 엔진'이라는 점입니다. 개별 명령어를 처리하는 대신, 사전 컴파일된 신경망 그래프를 받아 원자적으로 실행합니다. 이 구조는 16개 코어, 127개의 동시 평가 요청을 지원하는 큐 깊이, 독립적인 동적 전압/주파수 스케일링을 갖추고 있으며, 유휴 상태에서는 전력 소모가 0으로 떨어지는 파워 게이팅을 특징으로 합니다.

CoreML을 우회하는 숨겨진 API 발견

중요한 발견 중 하나는 CoreML이 ANE에 접근하는 유일한 경로가 아니라는 것입니다. 연구팀은 AppleNeuralEngine.framework의 비공개 _ANEClient 클래스를 통해 직접 컴파일, 로딩, 평가가 가능함을 밝혔습니다. 40개 이상의 미문서화된 비공개 클래스도 식별했으며, MIL(Machine Learning Intermediate Language) 텍스트를 파일 시스템 없이 직접 처리하는 인메모리 컴파일도 구현했습니다.

38 TOPS 수치의 오해

Apple이 발표한 38 TOPS 수치는 오해를 불러일으키는 것으로 밝혀졌습니다. 연구팀은 행렬 곱셈을 1x1 합성곱으로 표현하면 네이티브 matmul 연산보다 훨씬 높은 처리량을 달성할 수 있음을 실증했습니다. 이는 합성곱(convolution)이 ANE의 기본 연산 단위임을 시사합니다. 또한 컴파일된 E5 바이너리 형식은 전통적인 머신코드가 아니라 매개변수화된 컴퓨트 프리미티브 설정을 기술하는 방식임이 확인됐습니다.

미개척 영역

발견된 클래스들은 아직 탐구되지 않은 기능들을 암시합니다. 다중 모델 체이닝, GPU-ANE 동기화 프리미티브, 하드웨어 성능 카운터 등이 향후 연구 대상으로 남아 있습니다.