TensorFlow 모델 최적화에서 유지 관리
이 문서는 모델 프루닝에 관한 개요를 제공하여 사용 사례와의 적합성을 결정하는 데 도움을 줍니다.
- 엔드 투 엔드 예를 바로 확인하려면 Keras로 프루닝 예를 참고하세요.
- 사용 사례에 필요한 API를 빠르게 찾으려면 프루닝 종합 가이드를 참고하세요.
개요
중요도 기반 가중치 프루닝은 학습 프로세스 과정에서 모델 가중치를 점차적으로 제로화하여 모델 희소성을 달성합니다. 희소 모델은 압축하기 쉬우므로, 지연 시간을 개선하기 위한 추론 중에 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를 사용한 프루닝 가이드 외에도 다음 예를 참고하세요.
배경에 관한 내용은 프루닝 또는 프루닝하지 않기: 모델 압축을 위한 프루닝의 유효성 살펴보기[자료]를 참고하세요.