SonySemiconductorSolutions/mct-model-optimization
Model Compression Toolkit (MCT) is an open source project for neural network model optimization under efficient, constrained hardware. This project provides researchers, developers, and engineers advanced quantization and compression tools for deploying state-of-the-art neural networks.
해결하는 문제
MCT (Model Compression Toolkit)는 개발자가 학습된 AI 모델을 축소하여 스마트폰, 카메라, 임베디드 하드웨어와 같은 엣지 디바이스에서 더 빠르고 적은 메모리로 실행할 수 있도록 돕습니다. 대규모 신경망을 정확도 손실 없이 더 작고 양자화된 버전으로 변환함으로써, 컴퓨팅 및 저장 공간이 제한된 디바이스에 모델을 배포하는 문제를 해결합니다.
작동 방식
이미 학습된 부동 소수점 모델(PyTorch 또는 Keras)로 시작합니다. MCT는 복잡도와 품질 간의 균형이 다른 세 가지 주요 양자화 흐름을 제공합니다.
- Post-Training Quantization (PTQ): 낮은 복잡도, CPU로 약 1-10분 소요, 재학습 불필요.
- Gradient-based Post-Training Quantization (GPTQ): 중간 복잡도, 그래디언트를 사용하여 파라미터를 미세 조정, GPU로 약 1-3시간 소요.
- Quantization-Aware Training (QAT): 높은 복잡도, 정확도를 유지하기 위해 GPU로 12-36시간 동안 모델 재학습.
MCT에는 각 레이어에 최적의 비트 폭을 선택하는 혼합 정밀도 탐색, 그래프 최적화, 양자화 임계값 조정(MSE, no-clipping, MAE) 및 shift-negative correction, outlier filtering, clustering과 같은 고급 알고리즘이 포함되어 있습니다. 하드웨어 인식 기능이 있어 TPC (Target Platform Capabilities) 기능을 통해 특정 하드웨어의 제약 조건을 설명할 수 있습니다. 대표 데이터셋이 없는 경우, MCT는 batch-normalization 레이어에 저장된 통계 정보를 기반으로 합성 이미지를 생성할 수 있습니다. 모델 크기 축소를 위해 중복 채널을 제거하는 구조적 가지치기를 제공합니다. 디버깅 및 시각화는 네트워크 에디터, TensorBoard 리포트, 그리고 레이어별 오류를 표시하고 수정 사항을 제안하는 XQuant 설명 가능한 양자화 도구를 통해 지원됩니다.
대상 사용자
리소스가 제한된 디바이스에 학습된 신경망을 배포해야 하는 엣지 AI 애플리케이션 개발자 및 연구원. 또한 PyTorch나 Keras 환경에서 작업하면서 정확도를 높게 유지하며 모델 크기나 지연 시간을 줄이고자 하는 모든 사용자에게 유용합니다.
주요 특징
- 세 가지 양자화 워크플로우 지원: PTQ, GPTQ, QAT.
- Target Platform Capabilities (TPC)를 통한 하드웨어 인식 최적화.
- 레이어별 최적 비트 폭을 할당하는 혼합 정밀도 탐색.
- batch-norm 통계 정보를 활용한 합성 데이터 생성으로 데이터 없는 양자화 지원.
- 모델 크기를 줄이기 위해 중복 채널을 제거하는 구조적 가지치기.
- 디버깅 도구: 네트워크 에디터, TensorBoard 시각화, XQuant 설명 가능한 리포트.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트