deep learning in its core, is a set of mathematical functions applied to matrices, with a specific precision for model weights. Reducing the precision of the weights can be used to reduce the size of the model and also make it faster. As an example, Float-32 operations compared to Int-8 operations are slower. This process, which is called quantization, can be applied in different phases. Main approaches for model quantization can be categorized as: post training quantization and quantization-aware training. Post-training quantization is concerned with quantized trained models in two well-known methods: dynamic and static. Dynamic post-training quantization computes the range of quantization on the runtime and is slower compared to static. Quantization-aware training adds quantization criteria into training, and a quantized model is trained and optimized during training process. This approach ensures that the end model will have good performance and also does not need to be quantized after training.
딥 러닝의 핵심은 행렬에 적용되는 일련의 수학적 함수로, 모델 가중치에 대한 특정 정밀도가 있습니다. 가중치의 정밀도를 낮추면 모델의 크기를 줄이고 더 빠르게 만들 수 있습니다. 예를 들어, Float-32 연산은 Int-8 연산에 비해 속도가 느립니다. Quantization이라고 하는 이 과정은 여러 단계로 적용될 수 있습니다. 모델 Quantization의 주요 접근 방식은 사후 훈련 Quantization과 Quantization-aware training으로 분류할 수 있습니다. 사후 훈련 Quantization은 동적 및 정적이라는 잘 알려진 두 가지 방법으로 훈련된 Quantized 모델에 관한 것입니다. 동적 사후 훈련 Quantization은 런타임에 Quantization 범위를 계산하며 정적 Quantization에 비해 속도가 느립니다. Quantization-aware training은 훈련에 Quantization 기준을 추가하며, Quantized 모델은 훈련 과정에서 훈련 및 최적화됩니다. 이 접근 방식은 최종 모델의 성능을 보장하고 훈련 후 Quantization할 필요가 없습니다.
딥 러닝의 핵심은 행렬에 적용되는 일련의 수학적 함수로, 모델 가중치에 대한 특정 정밀도가 있습니다. 가중치의 정밀도를 낮추면 모델의 크기를 줄이고 더 빠르게 만들 수 있습니다. 예를 들어, Float-32 연산은 Int-8 연산에 비해 속도가 느립니다. 양자화라고 하는 이 과정은 여러 단계로 적용될 수 있습니다. 모델 양자화의 주요 접근 방식은 사후 훈련 양자화와 양자화 인식 훈련으로 분류할 수 있습니다. 사후 훈련 양자화는 동적 및 정적이라는 잘 알려진 두 가지 방법으로 훈련된 양자화 모델에 관한 것입니다. 동적 사후 훈련 양자화는 런타임에 양자화 범위를 계산하며 정적 양자화에 비해 속도가 느립니다. 양자화 인식 훈련은 훈련에 양자화 기준을 추가하며, 양자화된 모델은 훈련 과정에서 훈련 및 최적화됩니다. 이 접근 방식은 최종 모델의 성능을 보장하고 훈련 후 양자화할 필요가 없습니다.