TensorFlow 모델 최적화에서 유지 관리
이 문서는 모델 프루닝에 관한 개요를 제공하여 사용 사례와의 적합성을 결정하는 데 도움을 줍니다.
- 엔드 투 엔드 예를 바로 확인하려면 Keras로 프루닝 예를 참고하세요.
- 사용 사례에 필요한 API를 빠르게 찾으려면 프루닝 종합 가이드를 참고하세요.
- 기기 내 추론을 위한 가지치기 애플리케이션을 살펴보려면 XNNPACK으로 기기 내 추론 가지치기를 참고하세요.
개요
중요도 기반 가중치 프루닝은 학습 프로세스 과정에서 모델 가중치를 점차적으로 제로화하여 모델 희소성을 달성합니다. 희소 모델은 압축하기 쉬우므로, 지연 시간을 개선하기 위한 추론 중에 0을 건너뛸 수 있습니다.
이 기법은 모델 압축을 통해 향상을 제공합니다. 향후에 이 기법을 위한 프레임워크 지원으로 지연 시간이 개선될 것입니다. 정확도 손실은 최소화하면서 모델 압축이 최대 6배까지 향상되었습니다.
이 기법은 음성 인식 및 텍스트 음성 변환과 같은 다양한 음성 애플리케이션에서 평가되고 있으며 다양한 비전 및 번역 모델에서 실험을 거쳤습니다.
API 호환성 매트릭스
사용자는 다음 API를 사용하여 프루닝을 적용할 수 있습니다.
- 모델 빌드: 순차 및 함수 모델만 있는
tf.keras
- TensorFlow 버전: 버전 1.14+ 및 2.x의 경우 TF 1.x
- TF 2.X 패키지가 있는
tf.compat.v1
및 TF 1.X 패키지가 있는tf.compat.v2
는 지원되지 않습니다.
- TF 2.X 패키지가 있는
- TensorFlow 실행 모드: 지연 실행과 즉시 실행 모두
- 분산 학습: 지연 실행만 있는
tf.distribute
다음 영역에서 지원을 추가하는 것이 로드맵에 있습니다.
결과
이미지 분류
모델 | 비희소 최상위 정확도 | 희소 정확도 | 희소성 |
---|---|---|---|
InceptionV3 | 78.1% | 78.0% | 50% |
76.1% | 75% | ||
74.6% | 87.5% | ||
MobilenetV1 224 | 71.04% | 70.84% | 50% |
모델은 Imagenet에서 테스트되었습니다.
번역
모델 | 비희소 BLEU | 희소 BLEU | 희소성 |
---|---|---|---|
GNMT EN-DE | 26.77 | 26.86 | 80% |
26.52 | 85% | ||
26.19 | 90% | ||
GNMT DE-EN | 29.47 | 29.50 | 80% |
29.24 | 85% | ||
28.81 | 90% |
모델은 news-test2013을 개발 세트로, news-test2015를 테스트 세트로 사용하며 WMT16 독일어 및 영어 데이터세트를 사용합니다.
예시
Keras를 사용한 프루닝 튜토리얼 외에도 다음 예를 참고하세요.
배경에 관한 내용은 프루닝 또는 프루닝하지 않기: 모델 압축을 위한 프루닝의 유효성 살펴보기[자료]를 참고하세요.