Apple Neural Engine은 LLM 추론에 실제로 쓰이나 — ANE의 역할과 한계

맥북 스펙표에 “38 TOPS Neural Engine”이라고 적혀 있으면, 자연스럽게 이런 생각이 든다. 저 칩이 LLM 추론을 가속해주는 거 아닐까. 그런데 실제로 Ollama를 돌려보면 ANE 사용률은 거의 0에 가깝다.

ANE(Apple Neural Engine)는 Apple이 A11 Bionic부터 도입한 전용 추론 가속기다. M4 칩 기준으로 38 TOPS(Tera Operations Per Second)의 연산 처리 능력을 갖추고 있고, 설계 철학은 명확하다. 전력을 최대한 적게 쓰면서 특정 연산 패턴을 극도로 빠르게 처리하는 것이다. 이미지 분류, 얼굴 인식, 음성 키워드 감지, CoreML로 변환된 고정 형상 모델들이 ANE의 주 무대다. 아이폰이 하루 종일 “Hey Siri”를 기다리면서도 배터리를 크게 쓰지 않는 건 바로 이 칩 덕분이다.

그런데 LLM 추론은 이 설계 철학과 여러 지점에서 충돌한다.

첫 번째 문제는 연산 정밀도다. ANE는 정수 연산(INT8, INT4)과 고정소수점 연산에 최적화되어 있다. 반면 LLM의 가중치 연산은 FP16이나 BF16(bfloat16) 형식을 주로 사용한다. 양자화된 모델조차 디코딩 과정에서 부동소수점 연산이 필요한 경우가 많다. ANE가 이 연산을 아예 못 하는 건 아니지만, 정밀도가 높아질수록 ANE보다 GPU가 훨씬 효율적으로 처리한다.

두 번째 문제는 입력 형상(shape)의 고정성이다. ANE는 모델 컴파일 시점에 입력 크기가 정해져 있어야 제대로 작동한다. CoreML로 변환할 때 입력 텐서의 차원을 명시하는 이유다. 그런데 트랜스포머 기반 LLM의 어텐션 연산은 시퀀스 길이가 매번 달라진다. 짧은 프롬프트도 있고, 수천 토큰짜리 긴 컨텍스트도 있다. 이 가변성을 ANE가 구조적으로 다루기 어렵다.

세 번째는 KV 캐시 문제다. 오토레그레시브 생성 방식을 쓰는 LLM은 이전에 처리한 키-값(Key-Value) 쌍을 메모리에 저장해두고 다음 토큰 생성 시 재사용한다. 이 동적 메모리 구조가 ANE의 정적 실행 모델과 맞지 않는다. 매 토큰을 생성할 때마다 캐시 크기가 달라지는데, ANE는 이 변화에 유연하게 대응하도록 설계되지 않았다.

결국 Ollama, llama.cpp, MLX 같은 로컬 LLM 런타임들은 모두 Metal GPU와 CPU 경로만 사용한다. 활성화 함수 계산, 어텐션 연산, 행렬 곱셈 — 이 모든 것이 GPU 셰이더로 처리된다. 맥북에서 Ollama를 쓰는 동안 GPU 사용률이 치솟는 이유가 여기 있다. ANE 사용률 그래프는 거의 평탄하다.

AI 처리와 신경망 가속기

이미지 출처: Unsplash

그렇다면 ANE는 LLM과 완전히 무관한가 하면, 그렇지도 않다. Apple Intelligence가 흥미로운 예외다. Apple이 온디바이스로 구동하는 자체 소형 언어 모델은 CoreML을 통해 ANE를 활용하는 것으로 알려져 있다. 이게 가능한 이유는 Apple이 모델 설계 단계부터 ANE의 제약을 감안했기 때문이다. 입력 형상을 가능한 한 고정하고, 모델 크기를 극도로 줄이고, CoreML 최적화 파이프라인을 직접 통제한다. 일반 오픈소스 모델과 범용 런타임이 할 수 없는 수직 통합의 영역이다.

비슷한 접근으로, CoreML로 변환된 소형 모델(대략 1~3B 파라미터 수준의 분류·임베딩 특화 모델)도 ANE 가속을 받을 수 있다. 그러나 이 경우도 일반적인 텍스트 생성 LLM이 아니라, 특정 작업에 맞게 형상을 고정한 모델이다.

흔히 “M4의 38 TOPS Neural Engine이 있어서 LLM이 빠른 것”이라는 설명을 접하는데, 이건 정확하지 않다. 맥북에서 로컬 LLM이 빠른 이유는 통합 메모리(Unified Memory)로 인한 낮은 메모리 대역폭 지연과 Metal GPU의 병렬 처리 능력 때문이다. ANE는 이 속도에 거의 기여하지 않는다. 스펙표의 TOPS 숫자는 이미지·음성 처리 벤치마크를 염두에 둔 수치다.

한편으로는 이 상황이 바뀔 가능성도 열려 있다. 연구 단계에서 트랜스포머 모델을 ANE에서 더 효율적으로 실행하기 위한 시도가 이어지고 있고, Apple도 CoreML의 동적 형상 지원을 조금씩 넓혀가고 있다. MLX 프레임워크 팀도 ANE 활용 경로를 탐구하고 있다는 언급이 간간이 나온다. 지금 당장은 범용 LLM 추론에서 ANE가 실질적 역할을 하지 못하지만, 소형 모델의 특정 레이어를 ANE에 오프로드하는 하이브리드 방식이 실용화된다면 전력 효율 측면에서 의미 있는 변화가 생길 수 있다. 맥북의 긴 배터리 수명을 유지하면서 로컬 LLM을 돌리고 싶다면, 그 가능성은 결국 ANE를 얼마나 잘 끌어쓰느냐에 달려 있다.


출처

댓글 남기기