[Swift] CoreML (1) - CoreML이란?

2025. 6. 23. 19:34

회사에서 이번에 Model을 앱으로 이관한다고 하여 Apple에서 나온 CoreML을 사용하기위해 알아보게 되었다.

Core ML이란 무엇인가?


Apple 공식 문서를 보자

 

Core ML | Apple Developer Documentation

Integrate machine learning models into your app.

developer.apple.com

Core ML은 기기에서 머신 러닝 모델을 실행할 수 있게 해주는 프레임워크
  • 학습된 머신러닝 모델을 Apple 디바이스에서 로컬로 실행할 수 있다.
  • 서버에 요청하지 않고도 빠르고 안전하게 AI 기능을 제공할 수 있는 것이 핵심

Core ML의 주요 구성 요소

1. 모델 파일 (.mlmodel)
• Python, TensorFlow, PyTorch 등에서 학습한 모델을 Core ML이 이해할 수 있는 .mlmodel 파일로 변환해 사용
• 변환에는 coremltools라는 Python 라이브러리를 사용

2. 모델 로딩 및 사용

let model = try YourMLModel(configuration: MLModelConfiguration())
let input = YourMLModelInput(inputData: value)
let output = try model.prediction(input: input)
  • 생성자에서 모델을 로딩하고, prediction(input:) 메서드를 통해 예측 결과를 받아올 수 있다.

모델 사용 흐름

1. Python 등에서 학습한 모델 준비 (.pkl, .h5, .pt, 등)
2. coremltools를 사용해 .mlmodel로 변환
3. Xcode 프로젝트에 .mlmodel 파일 추가 → 자동으로 .mlmodelc로 컴파일됨
4. Swift 코드에서 모델 인스턴스 생성 및 예측 수행
5. 결과 처리 및 UI 반영


왜 Core ML을 써야 할까?

• 온디바이스 실행: 네트워크 없이도 작동
• 속도: GPU 및 뉴럴 엔진을 활용해 빠름
• 보안: 데이터가 디바이스 밖으로 나가지 않음
• 전력 효율: Apple Silicon에 최적화됨


 

다음에서는 PyTorch로 훈련시킨 모델을 CoreML로 변환 시켜보는 것을 포스팅 예정이다.

728x90

BELATED ARTICLES

more