Apple ANE 내부 구조를 역설계로 해부
원제: Retrospectively Reverse-Engineering Apple's Neural Engine
왜 중요한가
CNN 시대 NPU 설계 철학과 트랜스포머 시대 GPU 통합으로의 전환을 실증적으로 보여주는 사례로, 하드웨어 AI 가속기 설계 방향론에 중요한 참조점이 된다.
개발자 Eileen Yoon이 2026년 8월, Apple M1의 Neural Engine(ANE) 역설계 작업을 재개し、내부 컴퓨트·데이터패스·스케줄러·메모리·실행 모델 전체를 공개した。3년 전 중단한 작업을 재개한 배경には、M5がANE코어를 GPU에 통합したことがあり、사실상 독립 NPU 시대의 종말을 확인したためだ。
Eileen Yoon은 2023년에 Linux용 ANE 드라이버 개발을 중단했다. 이유는 명확했다. ANE 아키텍처가 범용 가속기 플랫폼 구축에 적합하지 않고, macOS 자체도 Finder의 업샘플링 프리뷰 생성 정도에만 ANE를 사용하고 있었기 때문이다.
2025년 출시된 M5는 'LLM 성능'을 핵심 기능으로 내세우며, ANE 코어를 GPU 코어 내부로 통합했다. Yoon은 이를 독립형 NPU의 사실상 종언으로 규정하고, M1 ANE의 전체 내부 구조를 역설계해 공개하기로 결정했다.
기술적 핵심은 컴퓨트 코어 구성이다. M1 ANE는 16개의 병렬 컴퓨트 코어를 가지며, 각 코어에는 128개의 FP16(또는 256개의 INT8) MAC 레인이 있다. 전체 2,048개의 병렬 MAC 레인이 각 사이클마다 동시에 곱셈-누산을 수행한다. 그러나 Yoon이 강조하는 것은 MAC 자체가 아니라 그 주변의 '데이터플로우'다.
ANE가 2017년 A11 Bionic에서 CNN 워크로드에 특화된 이유는 예측 가능한 재사용 패턴을 이용해 스마트폰에서 구동 가능한 효율적인 데이터플로우를 설계했기 때문이다. 트랜스포머, 특히 자기회귀 디코딩이 이 예측 가능성 가정을 무너뜨렸고, ANE의 독립 유지가 어려워졌다는 것이 Yoon의 분석이다. M5의 설계 선택은 ANE 컴퓨트 코어 자체는 트랜스포머에도 유용하지만, 다른 데이터플로우 안에서만 그렇다는 점을 방증한다.
전체 역설계 코드는 GitHub(github.com/eiln/ane)에 공개되어 있다。