협업 최적화

Arm ML Tooling에서 유지 관리

이 문서는 배포를 위해 기계 학습 모델을 최적화하기 위해 다양한 기술을 결합하기 위한 실험적 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 예제 노트북을 참조하십시오.