모델 양자화
양자화는 신경망 모델의 크기와 메모리 사용량을 줄이는 데 사용되는 기술입니다. 모델 양자화를 통해 심층 신경망 모델의 메모리 사용량과 계산 요구 사항을 줄일 수 있습니다. 가중치 양자화는 신경망의 가중치와 활성화를 고정밀 부동 소수점 숫자에서 16비트 또는 8비트 정수와 같은 낮은 정밀도 형식으로 변환하는 일반적인 양자화 기술입니다. 모델의 가중치를 표준 부동 소수점 데이터 유형(예: 32비트 부동 소수점)에서 낮은 정밀도의 데이터 유형(예: 8비트 정수)으로 변환하여 모델 크기와 메모리 요구 사항을 줄이고 추론 속도를 높입니다(계산 복잡성을 줄임으로써). 모델 양자화를 통해 컴퓨팅 및 메모리 리소스가 제한된 에지 장치에 대규모 모델(예: LLM)을 배포하기가 더 쉬워질 수 있습니다.
부동 소수점 표현:
다양한 데이터 유형 중에서 부동 소수점 숫자는 높은 정밀도로 다양한 값을 표현할 수 있기 때문에 딥러닝에서 주로 사용됩니다. 일반적으로 부동 소수점 숫자는 다음을 사용하여 작성됩니다. N 값을 저장하는 비트. 이것 N 비트는 세 가지 다른 구성 요소로 더 나뉩니다.
- 상징: 부호 비트는 숫자가 양수인지 음수인지를 나타냅니다. 1비트를 사용하는데, 0은 양수를 나타내고 1은 음수를 나타냅니다.
- 색인: 지수는 밑의 거듭제곱(일반적으로 이진 표현으로는 2)을 나타내는 비트 범위입니다. 지수는 양수나 음수가 될 수 있으며, 이를 통해 숫자가 매우 크거나 매우 작은 값을 나타낼 수 있습니다.
- 유효 숫자/가수: 나머지 비트는 가수라고도 하는 유효 숫자를 저장하는 데 사용됩니다. 이는 숫자의 유효 자릿수를 나타냅니다. 숫자의 정확도는 주로 유효 숫자의 길이에 따라 달라집니다.
딥 러닝에서 가장 일반적으로 사용되는 데이터 유형은 float32(FP32)와 float16(FP16)입니다.

FP32는 종종 "전 정밀도"(4바이트)라고 불리는 반면, FP16은 "반 정밀도"(2바이트)라고 불립니다. INT8 데이터 유형은 더 나은 성능을 발휘하며 가중치를 저장하는 데 단일 바이트를 사용합니다. 이는 2⁸ = 256개의 서로 다른 값을 저장할 수 있는 8비트 표현으로 구성됩니다.
참고문헌
【1】https://www.hopsworks.ai/dictionary/model-quantization
【2】https://medium.com/@sachinsoni600517/모델 양자화 소개-4effc7a17000