Apple silicon용 AI 모델 실행 및 최적화 프레임워크 Core AI

Apple이 Apple silicon에서 AI 모델을 실행, 최적화, 배포하기 위한 새 프레임워크인 Core AI를 공개했다. 이 프레임워크는 CPU, GPU, Neural Engine을 모두 활용하며, Swift API를 통해 .aimodel 추론을 앱에 통합한다. 지원 범위는 iOS 27.0+ Beta를 포함해 iPadOS, macOS, tvOS, visionOS, watchOS의 모든 주요 OS Beta 버전으로 확대된다. 사용자 데이터를 기기 외부로 전송하지 않고 내부에서 처리하는 온디바이스 AI 구조를 채택했다.

SAM 3(세그멘테이션 모델)와 Qwen(언어 모델) 등 널리 쓰이는 모델을 위한 고수준 추상화 API를 제공한다. SAM 3는 CoreAIImageSegmenter를 통해 개발자가 raw tensor shape를 직접 조작하지 않고 Swift API만으로 마스크를 추출할 수 있으며, Qwen은 CoreAILanguageModel을 통해 로드한다. 에셋 로딩, 엔진 생성, 토크나이저 설정 등의 복잡한 과정을 추상화해 모델 통합 단계를 단순화했다.

기기별 최적화와 정밀도 진단 메커니즘

Core AI 모델은 모든 Apple 기기에서 실행 가능한 소스 표현 형태로 제공되지만, 구동 전 해당 기기와 OS 버전에 맞춘 specialization(특수화) 과정을 거친다. 시스템은 모델 로드 시 캐시에 생성된 결과가 있는지 확인하고, 없을 경우에만 하드웨어 특성에 맞는 실행 artifact(결과물)를 생성해 기기별 하드웨어 차이를 해결한다.

모델 규모가 커질 때 발생하는 초기 실행 지연은 Background Assets를 통해 미리 생성된 결과물을 다운로드하거나 `coreai-build` 명령어로 개발 머신에서 사전 컴파일을 수행해 제어한다. 가중치 압축은 Core AI Optimization을 통해 INT4, INT8, FP4, FP8 등 다양한 정밀도로 수행한다. 변환 과정의 정확도 손실은 Core AI Debugger가 원본 PyTorch 모델의 내부 값과 직접 비교해 진단하며, 특히 PSNR(최대 신호 대 잡음비) 기준으로 차이가 큰 연산을 특정해 해당 계층의 양자화를 제외하는 방식으로 정밀도를 유지한다.

PyTorch 모델의 변환 및 배포 워크플로

개발자는 `torch.export`를 사용하여 PyTorch 모델을 exported program 형태로 변환한 뒤, Core AI PyTorch Extensions의 TorchConverter를 통해 `.aimodel` 파일을 생성한다. 이후 Core AI Optimization을 적용해 Apple silicon 아키텍처에 맞춘 압축을 수행하고, Swift 앱 내 Core AI Framework API를 통해 모델을 로드하고 추론을 실행한다. 기존 PyTorch 워크플로를 Apple silicon 배포 흐름으로 직접 연결해 변환과 배포 공수를 줄였다.

Transformer 모델에서 입력 시퀀스가 길어질 때 발생하는 추론 속도 저하를 막기 위해 key/value 캐싱 구조를 지원한다. 이전 단계에서 계산된 key/value를 캐시에 저장함으로써 입력 시퀀스의 길이가 늘어나도 추론 속도를 일정하게 유지한다. Swift 구현 단계에서는 `InferenceFunction.run` 메서드의 `states` 인자로 mutable view(변경 가능한 뷰) 컬렉션을 전달하여 해당 기능을 활성화한다.

iOS 앱에서 PyTorch 모델을 직접 구동하며 겪던 최적화와 배포의 병목은 .aimodel 변환과 기기별 specialization 공정으로 대체된다. 개발자는 모델 크기에 따라 번들 방식과 Background Assets를 선택해 초기 실행 지연 시간을 제어할 수 있다.