카카오톡 AI 에이전트용 3B 미만 Kanana 모델을 iPhone에서 직접 돌리려는 목표에서 출발한다. 서버용으로 양자화된 모델을 온디바이스로 옮기는 변환 비용 문제를 MLX·Core ML 비교와 자체 tensor 조립 파이프라인으로 풀어가는 과정을 따라간다.
핵심 포인트- 개인 데이터를 네트워크로 보내지 않고 연결 상태에 의존하지 않으려 온디바이스 실행을 택하되, 배터리·발열·공유 메모리 제약과 학습/실행 환경 차이를 양자화 전략으로 대응
- llama.cpp·ExecuTorch·MLX를 비교해 Apple Silicon에 최적화된 MLX를 선택하고 Swift Transformers·MLX-LM으로 초기 경로를 단순화했지만, 서버용 최신 양자화 조합 실험엔 별도 변환 계층이 필요
- 기존 GPTQ→MLX 변환이 계산한 scale·zero point를 버리고 FP로 되돌린 뒤 재양자화하던 문제를, SafeTensors header·binary를 직접 읽고 framework별 tensor 이름·transpose·zero point 표현을 변환해 재양자화 없이 layer별 mixed precision까지 실험
- Core ML·ANEMLL로 Apple Neural Engine에서 실행하고 ML State로 KV cache 앱 왕복을 줄였지만 약 1B 모델 생성 속도는 MLX GPU가 약 2배 빨라, 단발·저지연은 MLX, CPU·GPU를 비워야 하는 지속 반복은 Core ML로 선택
왜 읽나LLM을 iOS 온디바이스로 올리려는 ML 엔지니어에게 프레임워크 선택 기준, 재양자화를 없앤 tensor 변환, ANE의 KV cache 병목까지 구체적 수치와 함께 정리한 실전 최적화기.