10/10/2019

Inference Quantization (양자화/최적화 링크)

  • 양자화 Quantization 란 
ADC의 기본이 되는 Audio의 경우 Sample Rate에 따라 각 Data를 수집한 후, 수집된 Data들을  일정범위을 가진 변수(정수)로 변화시키는게 양자화다.  
즉, Analog Data는 무한하며, 항상 한계를 정해주어야 하는데, X축(Time)은 Sample Rate로 정하고, 
Y축(Amp)크기는 양자화(Quantization)통해 범위를 정해주는 것이다.

결론적으로, 
X축(Time)의 경우는 Sample Rate 이며, Y축(Amp)은 위에서 설명했듯이, 양자화이다. 

PC 혹은 SoC 입장에서 보면 양자화 하는 이유는 간단하다. 
Float 사용안하고 int 기반으로 고속처리를 하고 싶어서이며, 좀 더 범위를 좁히는 것이다. 
하지만 좀 더 범위를 좁히면, 오류가능성과 이에 관련된 부분은 감수를 해야한다. 
물론 DSP를 사용해서 Float를 기반으로 해도 되지만, DSP도 Float로만 계속연산하면, 부하가 상당하다. 


  • Inference Quantization 관련자료들 
Audio/ ADC 의 양자화와 거의 비슷하며, Training 할때는 가능하다면, 최대의 범위가진 값을 가지고 하고, 
Inference를 할때는 양자화하여 이를 축소해서 사용해서 Optimization하는 것이다. 
대부분 weight 와 bias에서 float 값들을 int로 최적화하는 것이므로 각 부분을 확인하자.


Tensorflow의 Quantization
  https://www.tensorflow.org/lite/performance/model_optimization
  https://www.tensorflow.org/lite/performance/post_training_quantization
  https://www.tensorflow.org/lite/convert/quantization

  https://developer.arm.com/solutions/machine-learning-on-arm/developer-material/how-to-guides/quantizing-neural-networks-to-8-bit-using-tensorflow/single-page
  https://je-d.tistory.com/entry/Quantization-and-Training-of-Neural-Networks-for-EfficientInteger-Arithmetic-Only-Inference

  https://medium.com/tensorflow/tensorflow-model-optimization-toolkit-float16-quantization-halves-model-size-cc113c75a2fa
  https://medium.com/@fanzongshaoxing/post-training-quantization-of-tensorflow-model-to-fp16-8d66b9dfa77f

Jetson AGX Xavier의 DLA 관련자료
  https://devblogs.nvidia.com/nvdla/

Quantization INT8
  https://www.tensorflow.org/lite/performance/quantization_spec
  https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/g3doc/how_tos/quantization/
  https://intel.github.io/mkl-dnn/ex_int8_simplenet.html
  https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#mixed_precision_c
  https://medium.com/tensorflow/high-performance-inference-with-tensorrt-integration-c4d78795fbfe
  https://towardsdatascience.com/low-precision-inference-with-tensorrt-6eb3cda0730b


TF-TFT
  https://docs.nvidia.com/deeplearning/frameworks/tf-trt-user-guide/index.html#precision-mode
  https://docs.nvidia.com/deeplearning/frameworks/tf-trt-user-guide/index.html#int8-quantization

이전자료 GTC 부분을 세부검토 필요
  http://on-demand.gputechconf.com/gtc/2017/presentation/s7310-8-bit-inference-with-tensorrt.pdf

NVIDIA 관련교육
  https://www.nvidia.com/en-us/deep-learning-ai/education/

댓글 없음 :