Table of Contents
가장자리 장치에 깊은 학습 모델을 배포하면 크기와 경쟁 효율성을 최적화해야합니다. Quantization 및 pruning은 성능 유지하면서 모델 복잡성을 줄일 수 있도록 두 가지 기술입니다. 이 문서는 가장자리 배포에 효과적으로 이러한 방법을 구현하는 방법을 논의합니다.
Quantization에 대한 이해
Quantization는 모델 매개 변수와 활성화를 나타내는 데 사용되는 숫자의 정밀도를 감소시킨다. 32 비트 부동점 번호 대신 8 비트 정수와 같은 정밀 형식이 사용됩니다. 이것은 호환 가능한 하드웨어에서 메모리 사용 및 속도를 높이는 것을 감소시킵니다.
일반적인 자격 기술은 포스트 훈련 정량화 및 정량화 인식 훈련을 포함합니다. 포스트 훈련 정량화는 훈련 후에 quantization를 적용합니다, quantization 인식 훈련은 더 나은 정확도를 위한 훈련 과정 도중 quantization를 통합합니다.
Pruning 구현
Pruning는 신경 네트워크에서 불필요하거나 덜 중요한 무게를 제거합니다. 이 결과는 더 적은 계산을 필요로하는 스패너 모델에 있습니다. Pruning은 훈련 후 또는 훈련 후 적용 될 수 있으며, 규모가 큰 펀딩과 같은 기술로 특정 임계 값의 무게를 제거합니다.
Pruning 전략은 구조화 된 펀딩을 포함, 이는 전체 신경 또는 필터를 제거, 그리고 개별 무게를 제거 비축. 구조화 된 펀딩 종종 하드웨어 가속기에 더 효율적인 모델로 리드.
Quantization 및 Pruning을 결합
양자화와 푸닝 모두 적용은 가장자리 배치를 위해 깊은 모델을 크게 최적화 할 수 있습니다. 이 과정은 일반적으로 크기와 복잡성을 줄이기 위해 모델을 실행하고 모델을 더 압축하고 인섭 속도를 향상시키기 위해 정량화에 따라 모델을 먼저 실행합니다.
캘리브레이션은 모델 정확도를 유지해야 합니다. pruning 및 quantization가 잠재적인 성능 손실을 복구하는 데 도움이되는 미세 조정과 같은 기술. 하드웨어 호환성은 또한 혜택을 극대화하기 위해 고려되어야 합니다.
구현 팁
- 중복된 무게를 제거하기 위해 pruning 시작.
- 더 나은 정확도 유지를 위한 quantization-aware 훈련을 사용하십시오.
- 성능이 향상된 대상 하드웨어에 최적화된 모델을 테스트합니다.
- 두 기법을 적용한 후 모델의 정밀한 톤.
- 최소 분해를 보장하기 위해 정확도를 모니터링합니다.