Path: blob/master/site/ko/model_optimization/guide/combine/pcqat_example.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
양자화 인식 훈련을 보존하는 희소성 및 클러스터(PCQAT) Keras 예시
개요
이것은 TensorFlow 모델 최적화 툴킷의 공동 작업 최적화 파이프라인의 일부인 양자화 인식 훈련을 보존하는 희소성 및 클러스터(PCQAT) API의 사용을 보여주는 엔드 투 엔드 예시입니다.
다른 페이지
파이프라인 및 기타 가능한 기술에 대한 지침의 경우, 공동 협력 최적화 개요 페이지를 참조합니다.
내용
이 튜토리얼에서는 다음을 수행합니다.
MNIST 데이터세트를 위한
tf.keras
모델을 처음부터 훈련합니다.잘라내기로 모델을 미세 조정하고 정확성을 확인하며 해당 모델이 성공적으로 잘라내기 되었는지 관찰합니다.
잘라내기 된 모델에 클러스터링을 유지하는 희소성을 적용하고 이전에 적용된 희소성이 유지되었는지 관찰합니다.
QAT를 적용하고 희소성 및 클러스터 손실을 관찰합니다.
PCQAT를 적용하고 이전에 적용된 희소성과 클러스터링이 모두 유지되었는지 관찰합니다.
Generate a TFLite 모델을 생성하고 이에 PCQAT를 적용한 효과를 관찰합니다.
여러 모델의 규모를 비교하여 희소성 적용의 압축 이점에 이어 클러스터링 및 PCQAT를 보존하는 희소성의 공동 협력 최적화 기술을 관찰합니다.
최적화되지 않은 기준 모델 정확성으로 완전히 최적화된 모델의 정확성을 비교합니다.
설정
이 Jupyter 노트북은 로컬 virtualenv 또는 colab에서 실행할 수 있습니다. 종속성 설정에 대한 자세한 내용은 설치 가이드를 참조하세요.
잘라내기 되고 클러스터링 될 MNIST용 tf.keras 모델 훈련하기
기준 모델을 평가하고 나중에 사용할 수 있도록 저장하기
50%의 희소성으로 모델 잘라내기 및 미세 조정하기
prune_low_magnitude()
API를 적용하여 다음 단계에 클러스트 될 잘라내기 된 모델을 구축합니다. 잘라내기 API에 대한 더욱 자세한 정보는 잘라내기 종합 가이드를 참조합니다.
모델 정의 및 희소성 API 적용하기
사전 훈련된 모델이 사용된 점을 참조하십시오.
모델을 미세 조정하고, 희소성을 확인하고, 기준 대비 정확성 평가하기
3번의 epochs 동안 잘라내기로 모델을 미세 조정합니다.
도우미 함수를 정의하여 모델의 희소성 및 클러스트를 계산하고 프린트합니다.
잘라내기 래퍼를 우선 분해한 다음 모델 커널이 올바르게 잘라내기 되었는지 확인합니다.
클러스터링을 유지하는 희소성을 적용하고 두 사례에서 모델 희소성에 대한 효과 확인하기
다음으로, 잘라내기 된 모델에 클러스터링을 유지하는 희소성을 적용하고 클러스터의 수를 관찰하고 희소성이 유지되었는지 관찰합니다.
클러스터링 래퍼를 우선 분해한 다음 모델이 올바르게 잘라내기 되고 클러스터링 되었는지 확인합니다.
QAT 및 PCQAT를 적용하고 모델 클러스터 및 희소성에 대한 효과 확인하기
다음으로, 희소 클러스터링 된 모델에 QAT 및 PCQAT를 모두 적용하고 PCAQT가 가중치 희소성과 클러스터를 모델에서 유지하는지 관찰합니다. 분해된 모델은 QAT 및 PCQAT API로 전달된다는 점을 참조합니다.
PCQAT 모델의 압축 이점 확인
도우미 함수를 정의하여 압축된 모델 파일을 얻습니다.
모델에 희소성, 클러스터링 및 PCQAT를 적용하여 상당한 압축 이점을 얻는 것을 관찰합니다.
TF에서 TFLite로 정확성이 지속되는지 확인하기
테스트 데이터세트에서 TFLite 모델을 평가하는 도우미 함수를 정의합니다.
잘라내기 되고, 클러스터링 되고 양자화된 모델을 평가한 다음 TFLite 백엔드에서 TensorFlow의 정확성이 유지되는지 확인합니다.
결론
튜토리얼에서 모델을 생성하는 법과 prune_low_magnitude()
API를 사용하여 이를 잘라내고 cluster_weights()
API를 사용하여 클러스터링을 유지하는 희소성을 적용하여 가중치를 클러스터링 하면서 희소성을 유지하는 법을 학습했습니다.
다음으로, 양자화 인식 훈련(PCQAT)를 유지하는 희소성 및 클러스터는 QAT를 사용하는 동안 적용되어 모델 희소성 및 클러스터를 유지했습니다. 최종 PCQAT 모델은 QAT와 비교되어 희소성과 클러스터는 전자의 경우 보존되고 후자의 경우 소실되는 것을 보여줍니다.
다음으로, 모델은 TFLite로 변환되어 희소성 연결, 클러스터링 및 PCQAT 모델 최적화 기술의 압축 이점을 보여주었으며 TFLite 모델은 평가되어 TFLite 백엔드에서 정확성이 유지되도록 했습니다.
마지막으로, PCQAT TFLite 모델 정확성은 사전 최적화 기준 모델 정확성과 비교되어 공동 협력 최적화 기술이 기존의 모델과 유사한 정확성을 유지하면서 압축 이점을 가까스로 달성하는 것을 보여주었습니다.