
CoreML은 빠른가? PyTorch Mobile과 추론 시간 비교
요약
iOS 환경에서 CoreML과 PyTorch Mobile의 추론 성능을 YOLOv5 모델로 비교 분석했습니다. CoreML이 Neural Engine 활용으로 훨씬 빠른 속도를 보였으나, 초기화 시간과 모델 변환 편의성 측면에서는 PyTorch Mobile이 대안이 될 수 있음을 시사합니다.
핵심 포인트
- CoreML이 PyTorch Mobile보다 약 4배 빠른 추론 속도를 기록함
- CoreML은 Neural Engine 최적화로 성능이 우수하지만 초기화 시간이 소요됨
- PyTorch Mobile은 모델 변환이 어려운 연산 처리에 유리함
- 실시간성이 덜 중요한 경우 PyTorch Mobile 사용을 고려할 수 있음
#비교해봤습니다

#CoreML로 변환할 수 없는 모델도 iOS에서 실행하고 싶다
PyTorch로 작성된 모델 중에는 CoreMLTool이 지원하지 않는 연산(operation) 때문에 CoreML로 변환하기 어려운 것도 있을 것입니다.
그럴 때 TorchScript를 iOS에서 실행함으로써, iOS에서 모델을 구동할 수 있습니다.
CoreML은 Neural Engine을 사용할 수 있고 기기에 최적화되어 있는 것 같지만, 실제 실행 속도는 얼마나 다를까요?
#Yolov5로 비교
PyTorch Mobile에서는 이것을 사용합니다.
CoreML에서는 이것을 사용합니다.
이미지는 기사 첫 번째 이미지입니다.
입력 이미지 리사이즈부터 NMS 처리까지의 시간을 측정했습니다.
#결과
torch:
0.91초
coreml:
0.23초
역시 빠른 CoreML이네요.
다만, CoreML은 초기화에 몇 초가 걸리지만, torchScript는 거의 걸리지 않습니다.
또한, torch도 1초 이하로 추론을 할 수 있습니다.
처리 속도가 민감하게 요구되지 않는 케이스에서는, CoreML 변환이 어려운 모델을 torchMobile로 실행하는 것도 선택지가 될 수 있지 않을까요?
🐣
프리랜서 엔지니어입니다.
업무 상담은 여기로
rockyshikoku@gmail.com
Core ML이나 ARKit을 사용한 앱을 만들고 있습니다.
기계 학습/AR 관련 정보를 발신하고 있습니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn ML의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기