반응형
간단히 예를들어 float32(아래 라인) 범위의 값들을, int8(위 라인)의 범위에 맞추는 것
신경망(Neural Networks)을 양자화하는 이유
- 신경망에는 많은 매개변수가 있고 공간을 차지합니다.
- 모델 파일의 크기를 줄일 수 있습니다.
- 컴퓨팅 리소스를 줄일 수 있습니다.
- 모델을 더 빠르게 실행하고 더 적은 전력을 사용합니다.
양자화의 이점
- Faster compute
- Low memory bandwidth
- Low power
- Integer operations supported across CPU/DSP/NPUs
양자화의 Trade-offs
모델 정확도가 낮아짐.
- 위 사진처럼 넓고 자세한 범위에서 작은 범위로 줄어들기 때문에.
- 하지만 드물게 약간의 정확도를 더 얻는 경우도 있음
- 즉, 레이어 변환이 올바른 방향인지 잘못된 방향인지 평가하기 어려움...
결론
애플리케이션의 리소스 효율성을 유지하는 것이 중요합니다. 작업에 따라 모델 정확도와 모델 복잡성 간에 균형을 유지해야 합니다. 작업에 높은 정확도가 필요한 경우 크고 복잡한 모델이 필요할 수 있습니다. 정밀도가 덜 필요한 작업의 경우 더 작고 덜 복잡한 모델을 사용하는 것이 좋습니다. 메모리에서 디스크 공간을 덜 사용할 뿐만 아니라 일반적으로 더 빠르고 에너지 효율적이기 때문입니다.
모바일 장치에 최적화된 모델의 한 예는 모바일 비전 애플리케이션에 최적화된 MobileNets입니다.
작업에 적합한 후보 모델을 선택한 후에는 모델을 프로파일링하고 벤치마킹하는 것이 좋습니다.
참고
https://medium.com/tensorflow/introducing-the-model-optimization-toolkit-for-tensorflow-254aca1ba0a3
728x90
반응형
'AI' 카테고리의 다른 글
[Stable Diffusion] Prompt 에 따른 생성 이미지 예제 (0) | 2023.03.22 |
---|---|
[Stable Diffusion] WebUI Mac M1 에서 실행해보기 (2) | 2023.03.22 |
Google Cloud Platform 으로 AutoML Vision을 사용하여 이미지 분류 모델 학습/배포/테스트 하는 방법 (0) | 2022.01.18 |
머신러닝, 딥러닝 요약 (0) | 2020.06.18 |
MongoDB 설치하기 (windows) (0) | 2020.01.09 |
댓글