CoreML에서 Model compression하는 방법 자세히 알려줘 한글로
Generated on 8/12/2024
1 search
CoreML에서 모델 압축을 수행하는 방법에 대해 설명드리겠습니다. Apple의 WWDC 2024에서 소개된 내용을 바탕으로, CoreML에서 모델 압축을 위한 다양한 기법과 워크플로우가 소개되었습니다.
모델 압축 기법
-
팔레타이제이션 (Palletization): 이 기법은 유사한 값의 가중치를 클러스터링하여 클러스터 중심값으로 표현하는 방법입니다. 클러스터 중심값은 조회 테이블에 저장되며, 압축된 가중치는 이 테이블에 대한 인덱스로 표현됩니다.
-
양자화 (Quantization): 부동 소수점 가중치를 정수 범위로 선형 매핑하여 저장하는 방법입니다. 정수 가중치는 스케일과 바이어스 쌍과 함께 저장되며, 이는 나중에 정수를 부동 소수점으로 다시 매핑하는 데 사용됩니다.
-
프루닝 (Pruning): 가중치 행렬에서 가장 작은 값을 0으로 설정하여 희소 표현으로 모델 가중치를 효율적으로 패킹하는 방법입니다. 비트마스크와 비영 값만 저장하면 됩니다.
모델 압축 워크플로우
-
데이터 없는 사후 훈련 압축: 사전 훈련된 CoreML 모델을 데이터 없이 압축하는 방법으로, 편리하지만 높은 압축 비율에서는 정확도가 급격히 떨어질 수 있습니다.
-
캘리브레이션 데이터와 함께하는 사후 훈련 압축: 제한된 양의 데이터를 사용하여 모델을 캘리브레이션하는 방법으로, 데이터 없는 방법과 미세 조정 방법의 중간에 위치한 절충안을 제공합니다. 이 방법은 설정이 간단하고 시간이 덜 소요됩니다.
이러한 기법과 워크플로우를 통해 CoreML 모델을 효과적으로 압축하여 Apple 기기에서 효율적으로 실행할 수 있습니다. 더 자세한 내용은 Bring your machine learning and AI models to Apple silicon 세션을 참고하시기 바랍니다.
Bring your machine learning and AI models to Apple silicon
Learn how to optimize your machine learning and AI models to leverage the power of Apple silicon. Review model conversion workflows to prepare your models for on-device deployment. Understand model compression techniques that are compatible with Apple silicon, and at what stages in your model deployment workflow you can apply them. We’ll also explore the tradeoffs between storage size, latency, power usage and accuracy.
Explore machine learning on Apple platforms
Get started with an overview of machine learning frameworks on Apple platforms. Whether you’re implementing your first ML model, or an ML expert, we’ll offer guidance to help you select the right framework for your app’s needs.