협업 최적화

Arm ML 툴링에서 유지 관리

이 문서에서는 배포용 기계 학습 모델을 최적화하기 위해 다양한 기술을 결합하기 위한 실험적 API에 대한 개요를 제공합니다.

개요

협업 최적화는 배포 시 추론 속도, 모델 크기 및 정확도와 같은 대상 특성의 최상의 균형을 나타내는 모델을 생성하기 위한 다양한 기술을 포괄하는 중요한 프로세스입니다.

협업 최적화의 개념은 축적된 최적화 효과를 달성하기 위해 개별 기술을 차례로 적용하여 구축하는 것입니다. 다음 최적화의 다양한 조합이 가능합니다.

이러한 기술을 함께 연결하려고 시도할 때 발생하는 문제는 하나를 적용하면 일반적으로 이전 기술의 결과가 파괴되고 모든 기술을 동시에 적용하는 전체적인 이점이 손상된다는 것입니다. 예를 들어 클러스터링은 정리 API에 의해 도입된 희소성을 유지하지 않습니다. 이 문제를 해결하기 위해 다음과 같은 실험적인 협업 최적화 기술을 소개합니다.

이는 기계 학습 모델을 압축하고 추론 시 하드웨어 가속을 활용하는 데 사용할 수 있는 여러 배포 경로를 제공합니다. 아래 다이어그램은 원하는 배포 특성을 가진 모델을 검색할 때 탐색할 수 있는 여러 배포 경로를 보여줍니다. 여기서 리프 노드는 배포 준비 모델입니다. 즉, 부분적으로 또는 완전히 양자화되고 tflite 형식임을 의미합니다. 녹색 채우기는 재교육/미세 조정이 필요한 단계를 나타내고 빨간색 점선 테두리는 공동 최적화 단계를 강조 표시합니다. 주어진 노드에서 모델을 얻는 데 사용되는 기술은 해당 레이블에 표시됩니다.

collaborative optimization

직접 양자화 전용(사후 교육 또는 QAT) 배포 경로는 위 그림에서 생략되었습니다.

아이디어는 위 배포 트리의 세 번째 수준에서 완전히 최적화된 모델에 도달하는 것입니다. 그러나 다른 최적화 수준은 모두 만족스러울 수 있으며 필요한 추론 지연 시간/정확도 균형을 달성할 수 있으며, 이 경우 추가 최적화가 필요하지 않습니다. 권장되는 교육 프로세스는 대상 배포 시나리오에 적용 가능한 배포 트리 수준을 반복적으로 살펴보고 모델이 추론 대기 시간 요구 사항을 충족하는지 확인하고, 그렇지 않은 경우 해당 협업 최적화 기술을 사용하여 모델을 더욱 압축하고 반복하는 것입니다. 필요한 경우 모델이 완전히 최적화될 때까지(가지치기, 클러스터링 및 양자화)

아래 그림은 협업 최적화 파이프라인을 통과하는 샘플 가중치 커널의 밀도 플롯을 보여줍니다.

collaborative optimization density plot

그 결과, 훈련 시 지정된 목표 희소성에 따라 고유 값 수가 줄어들고 희소 가중치가 상당히 늘어나는 양자화된 배포 모델이 탄생합니다. 중요한 모델 압축 이점 외에도 특정 하드웨어 지원은 이러한 희박하고 클러스터된 모델을 활용하여 추론 대기 시간을 크게 줄일 수 있습니다.

결과

다음은 PQAT 및 CQAT 협업 최적화 경로를 실험할 때 얻은 몇 가지 정확도 및 압축 결과입니다.

희소성 보존 양자화 인식 훈련(PQAT)

모델 품목 기준선 정리된 모델(50% 희소성) QAT 모델 PQAT 모델
DS-CNN-L FP32 Top1 정확도 95.23% 94.80% (가짜 INT8) 94.721% (가짜 INT8) 94.128%
INT8 완전 정수 양자화 94.48% 93.80% 94.72% 94.13%
압축 528,128 → 434,879 (17.66%) 528,128 → 334,154 (36.73%) 512,224 → 403,261 (21.27%) 512,032 → 303,997 (40.63%)
Mobilenet_v1-224 FP32 상위 1 정확도 70.99% 70.11% (가짜 INT8) 70.67% (가짜 INT8) 70.29%
INT8 완전 정수 양자화 69.37% 67.82% 70.67% 70.29%
압축 4,665,520 → 3,880,331 (16.83%) 4,665,520 → 2,939,734 (37.00%) 4,569,416 → 3,808,781 (16.65%) 4,569,416 → 2,869,600 (37.20%)

클러스터 보존 양자화 인식 교육(CQAT)

모델 품목 기준선 클러스터링된 모델 QAT 모델 CQAT 모델
CIFAR-10의 Mobilenet_v1 FP32 Top1 정확도 94.88% 94.48% (가짜 INT8) 94.80% (가짜 INT8) 94.60%
INT8 완전 정수 양자화 94.65% 94.41% 94.77% 94.52%
크기 3.00MB 2.00MB 2.84MB 1.94MB
ImageNet의 Mobilenet_v1 FP32 상위 1 정확도 71.07% 65.30% (가짜 INT8) 70.39% (가짜 INT8) 65.35%
INT8 완전 정수 양자화 69.34% 60.60% 70.35% 65.42%
압축 4,665,568 → 3,886,277 (16.7%) 4,665,568 → 3,035,752 (34.9%) 4,569,416 → 3,804,871 (16.7%) 4,569,472 → 2,912,655 (36.25%)

채널별로 클러스터링된 모델에 대한 CQAT 및 PCQAT 결과

아래 결과는 채널별 클러스터링 기법을 사용하여 얻은 결과입니다. 모델의 컨벌루션 레이어가 채널별로 클러스터링되면 모델 정확도가 더 높아진다는 것을 보여줍니다. 모델에 컨벌루션 레이어가 많은 경우 채널별로 클러스터링하는 것이 좋습니다. 압축 비율은 동일하게 유지되지만 모델 정확도는 더 높아집니다. 모델 최적화 파이프라인은 우리 실험에서 '클러스터형 -> QAT를 보존하는 클러스터 -> 훈련 후 양자화, int8'입니다.

모델 클러스터형 -> CQAT, int8 양자화 채널별로 클러스터링됨 -> CQAT, int8 양자화됨
DS-CNN-L 95.949% 96.44%
MobileNet-V2 71.538% 72.638%
MobileNet-V2(정리됨) 71.45% 71.901%

여기에 설명된 협업 최적화 기술의 엔드투엔드 예는 CQAT , PQAT , 희소성 보존 클러스터링PCQAT 예제 노트북을 참조하세요.