ANEMLL
본 서비스가 제공하는 내용 및 자료가 사실임을 보증하지 않습니다. 시스템은 언제나 실수를 할 수 있습니다. 중요한 의사결정 및 법리적 해석, 금전적 의사결정에 사용하지 마십시오.
ANEMLL(Artificial Neural Engine Machine Learning Library, 애니멀)은 애플 실리콘의 뉴럴 엔진(Apple Neural Engine, ANE)을 활용하여 대규모 언어 모델(LLM)을 온디바이스(On-device) 환경에서 실행할 수 있도록 지원하는 오픈 소스 라이브러리이자 파이프라인이다. 허깅페이스(HuggingFace)의 모델 가중치를 ANE 텐서 처리에 최적화된 CoreML 형식으로 변환하며, iOS, macOS, visionOS 기기에서 저전력으로 개인정보를 보호하며 AI 추론을 수행하는 것을 목적으로 한다.
개요
ANEMLL은 애플 기기에 탑재된 하드웨어 가속기인 뉴럴 엔진(ANE)을 최대한 활용하여 인공지능 모델의 추론 성능을 극대화하는 도구이다. 클라우드 서버에 의존하지 않고 기기 자체에서 모델을 실행하는 온디바이스 AI 구현을 돕는다. 이를 통해 데이터 유출 위험을 줄이고 인터넷 연결 없이도 빠른 AI 서비스를 제공할 수 있다. 2025년 1월 GitHub에 처음 공개된 이후 지속적으로 업데이트되고 있으며, 2026년 5월 기준 1,500개 이상의 스타(Star)를 보유하고 있다.
주요 기능
ANEMLL은 모델 변환부터 실행까지의 전 과정을 지원하는 파이프라인을 제공한다.
- 모델 변환: 허깅페이스의 모델 가중치를 ANE 텐서 처리에 최적화된 CoreML 형식으로 직접 변환한다. 단일 명령으로 변환이 가능한 파이프라인을 갖추고 있다.
- 추론 엔진: Swift와 Python 기반의 추론 코드를 포함한다. Swift CLI 도구는 배치 프리필(prefill)과 KV-캐시(KV-cache)를 지원하여 고성능 추론이 가능하다.
- 참조 앱: SwiftUI 기반의 채팅 인터페이스를 갖춘 iOS, macOS, visionOS용 샘플 앱을 제공한다. 음성 입력, 에어드롭(AirDrop)을 통한 모델 공유, 로컬 모델 가져오기 기능을 포함한다.
- 최적화: 저전력 구동과 완전한 개인정보 보호를 지향하는 온디바이스 AI 환경에 맞추어 설계되었다.
기술적 특징
애플 기기의 하드웨어 제약을 극복하고 ANE의 성능을 끌어내기 위해 다음과 같은 기술을 적용한다.
- 모델 분할(Model Splitting): 기기별 메모리 제한에 맞춰 모델을 나눈다. iOS는 약 1GB, macOS는 약 2GB 단위로 최적화하여 분할하며, 최신 버전에서는 단일 파일 배포가 가능한 모놀리식(Monolithic) 모델 변환도 지원한다.
- ANE 전용 연산 최적화: RMS Normalization과 같은 연산을 ANE에서 효율적으로 처리하기 위해 독자적인 최적화 기법을 사용한다. 슬라이딩 윈도우 어텐션(Sliding-window attention)과 글로벌 어텐션 등을 지원한다.
- 안정성 개선: IOSurface 기반 버퍼와 직렬 예측 큐를 사용하여 iOS 환경에서 발생할 수 있는 ANE 레이스 컨디션(Race condition) 문제를 해결하였다.
- 저전력 설계: CPU나 GPU 대신 ANE를 주력으로 사용하여 배터리 소모를 최소화한다.
지원 모델
다양한 최신 대규모 언어 모델을 지원하며, 허깅페이스의 anemll 조직을 통해 사전 변환된 모델을 제공한다.
| 모델군 | 세부 모델 및 규모 |
|---|---|
| Gemma 3 | 270M, 1B, 4B (QAT 지원) |
| LLaMA 3.1 / 3.2 | 1B ~ 8B |
| Qwen 3 / 2.5 | 0.6B ~ 1.7B |
| DeepSeek R1 | Distill 버전 |
| DeepHermes | Distill 버전 |
시스템 요구 사항
ANEMLL을 구동하기 위해서는 다음과 같은 소프트웨어 및 하드웨어 환경이 필요하다.
- 운영체제: macOS 15 (Sonoma) 이상, iOS 18 이상
- 하드웨어: Apple Silicon Mac (M1, M2, M3, M4 등), A12 Bionic 이상이 탑재된 iPhone (iPhone 12 이상 권장)
- 개발 도구: Xcode 15.0 이상, Swift 6.0, Python 환경