Apple Core AI 프레임워크

5 hours ago 4
  • Core AI는 Apple silicon에서 AI 모델을 앱 안에서 실행·최적화·배포하기 위한 새 프레임워크
  • CPU, GPU, Neural Engine을 활용하고 Swift API로 .aimodel 추론을 앱에 통합 가능
  • PyTorch 모델을 Core AI 모델로 변환하고, 압축·디버깅·사전 컴파일까지 도구 체인으로 제공
  • 큰 모델은 실행 전 specialization이 필요해 다운로드, 캐시, 첫 실행 흐름 설계가 중요
  • SAM 3, Qwen, Transformer 예제로 온디바이스 비전·언어·상태 캐싱 최적화 흐름 도 소개

Core AI의 역할

  • Core AI는 Apple 플랫폼 전반에서 온디바이스 AI 실행을 위한 새 기술 묶음
    • iOS 27.0+ Beta, iPadOS 27.0+ Beta, macOS 27.0+ Beta, tvOS 27.0+ Beta, visionOS 27.0+ Beta, watchOS 27.0+ Beta 지원
    • 앱 안에서 고성능 AI 추론을 실행하고, 사용자 데이터를 기기 밖으로 보내지 않는 구조 제공
  • Core AI는 단순 실행 API가 아니라 모델 준비부터 앱 통합까지 포함
    • 모델 최적화, PyTorch 변환, .aimodel 생성, 디버깅, Xcode 프로파일링, 사전 컴파일 제공
    • 신경망 외 decision tree나 tabular feature engineering 모델은 Core ML 사용 대상

개발 흐름: PyTorch에서 Swift 앱까지

  • Core AI는 기존 PyTorch 워크플로를 Apple silicon 배포 흐름으로 연결
    • torch.export로 PyTorch 모델을 exported program으로 변환
    • Core AI PyTorch Extensions의 TorchConverter로 .aimodel 생성
    • Core AI Optimization으로 Apple silicon에 맞춘 압축과 최적화 적용
  • Swift 앱에서는 새 Core AI Framework API로 모델 로드와 추론 실행
    • AIModel은 .aimodel 파일을 로드하고 추론 함수를 검사
    • InferenceFunction은 실행 가능한 단일 계산 그래프
    • NDArray는 다차원 입력·출력 데이터를 담는 타입
    • run 호출로 NDArray 입력을 넣고 추론 결과를 받는 구조
  • Xcode에서 .aimodel 파일을 직접 확인 가능
    • 모델 크기, 연산 분포, 메타데이터, 함수 시그니처 확인
    • 동적 shape 차원은 ?로 표시

성능 최적화: state, cache, memory layout

  • Transformer 모델처럼 입력 시퀀스가 길어지는 구조에서는 추론 시간이 점점 늘어날 수 있음
    • Snake 예제에서 두 Snake를 모두 AI 모델로 실행하자 시간이 지날수록 게임이 느려짐
    • Core AI Instruments에서 추론 구간이 점점 길어지는 현상 확인
  • Core AI는 state를 사용해 key/value cache 같은 구조를 구현 가능
    • 상태는 모델 입력이면서 추론 중 읽히고 제자리에서 업데이트됨
    • 이전 단계의 key/value를 다시 계산하지 않고 캐시에 저장
    • 전체 게임 이력을 매번 입력으로 넣지 않아도 되는 구조
  • Swift 쪽에서는 InferenceFunction.run의 states 인자로 mutable view 컬렉션 전달
    • 업데이트된 모델은 시간이 지나도 일정한 속도를 유지
    • Instruments에서도 추론 지연 시간 증가가 훨씬 느려짐
  • Core AI는 추론 루프 오버헤드를 줄이는 메모리 제어 기능도 제공
    • NDArray의 최적 메모리 레이아웃을 확인하고 해당 구조로 할당 가능
    • 출력 값을 미리 할당해 추론 중 새 출력 할당 방지 가능
    • 비동기 값을 사용해 여러 추론 함수를 파이프라인화 가능

모델 배포: 다운로드, specialization, 사전 컴파일

  • Core AI 모델은 모든 Apple 기기에서 실행될 수 있는 소스 표현이며, 실제 실행 전 기기별 specialization 필요
    • 모델 로드 시 이미 캐시에 specialization된 결과가 있는지 확인
    • 없으면 해당 기기와 OS 버전에 맞는 실행 artifact 생성
  • 큰 모델은 specialization에 시간이 걸릴 수 있어 사용자 상호작용 중간에 넣지 않는 것이 중요
    • SAM 3 예제에서는 첫 실행 시 model load와 큰 specialization 이벤트로 spinner가 오래 표시됨
    • 기능 소개 화면에서 사용자가 시도할 때만 Background Assets로 모델을 다운로드하는 흐름 제시
  • coreai-build 명령으로 개발 머신에서 일부 컴파일을 미리 수행 가능
    • 특정 기기 아키텍처를 대상으로 compiled model 생성
    • 사용자 기기에서도 specialization은 필요하지만 남은 작업이 줄어 준비 시간이 짧아짐
  • AIModelCache로 모델 캐시를 프로그래밍 방식으로 제어 가능
    • 필요 없는 항목 삭제
    • 항목 유지 정책 제어
    • 같은 app group의 여러 앱 간 캐시 공유

모델 최적화와 디버깅

  • Core AI Optimization은 모델 압축과 양자화 기능 제공
    • INT4, INT8, FP4, FP8 가중치 압축 지원
    • calibration 데이터 또는 quantization aware training을 사용하는 양자화 API 제공
  • SAM 3 예제에서는 32비트 baseline asset이 3GB 이상이었고, 4비트 압축 후 약 430MB가 됨
    • 모든 계층에 공격적으로 압축을 적용하자 가려진 꽃 하나가 검출되지 않음
    • 출력만으로는 어떤 계층이 문제인지 찾기 어려움
  • Core AI Debugger는 변환된 모델과 원래 PyTorch 모델의 내부 값을 비교
    • 모델 구조를 그래프로 시각화
    • 중간 텐서 값을 확인
    • Python 소스 코드의 특정 줄까지 추적
    • PSNR 기준으로 차이가 큰 연산을 표시
  • SAM 3 비교에서는 낮은 PSNR sync point 대부분이 detector decoder에서 발생
    • detector block은 전체 파라미터의 4%에 불과해 압축 이득이 작음
    • detector를 양자화 대상에서 제외하자 모든 꽃이 다시 검출되고 baseline 품질 회복

Core AI Models와 고수준 API

  • Core AI Models 저장소는 앱에 맞게 변환하고 최적화할 수 있는 인기 모델과 export recipe 제공
    • SAM 3와 Qwen 계열 모델을 찾고 Core AI 모델로 변환 가능
    • Swift 패키지는 모델별 전처리·후처리를 추상화
  • SAM 3 같은 segmentation 모델은 CoreAIImageSegmenter로 사용할 수 있음
    • 텍스트 프롬프트로 객체를 분할
    • raw tensor shape를 직접 다루지 않고 Swift API로 mask 추출 가능
  • Qwen 같은 언어 모델은 CoreAILanguageModel로 로드 가능
    • asset loading, engine creation, tokenizer setup 추상화
    • FoundationModels의 LanguageModelSession과 연결해 사용 가능
    • 스트리밍 응답과 @Generable 기반 구조화 출력 사용 가능

개발자가 주목할 지점

  • Core AI는 “모델을 앱에서 실행하는 API”보다 넓은 범위의 온디바이스 AI 배포 체계
    • PyTorch 모델을 Apple silicon용 .aimodel로 바꾸는 흐름
    • Swift 앱에서 모델을 안전하고 효율적으로 실행하는 API
    • Xcode, Instruments, Debugger를 통한 성능·정확도 진단
  • 앱 설계에서는 모델 자체보다 준비 과정이 사용자 경험에 큰 영향을 줌
    • 모델을 앱에 번들할지, Background Assets로 받을지 결정 필요
    • 첫 실행에서 다운로드와 specialization을 어떻게 보여줄지 설계 필요
    • 캐시 정책과 사전 컴파일 전략이 큰 모델 사용성에 직접 연결
  • Core AI는 Apple 플랫폼에서 비전 모델, 언어 모델, Transformer 기반 모델을 온디바이스로 다루는 개발 흐름을 제시
    • SAM 3 예제로 segmentation 모델의 압축·분리·디버깅 흐름 제시
    • Qwen 예제로 커스텀 언어 모델과 Foundation Models API 연결 제시
    • Snake Transformer 예제로 state 기반 key/value cache 최적화 제시

참고 링크

Read Entire Article