[Paper review] Quantization in Layer’s Input is Matter

브라우니맛있디·2025년 11월 24일

Paper review

목록 보기
8/14

  1. 배경
  • 최신 신경망 모델들은 파라미터 수개 매우 많아 저장공간, 연산량(FLOPS)가 엄청나게 큼
    • 이로 인해 모델을 저장, 학습, 추론하는 데 막대한 계산 리소스와 시간이 소모됨
  • 이러한 문제들을 해결하기 위해 양자화가 사용됨 (FP32 자료형을 INT8 등으로 저장하여 용량을 줄임)
  • 양자화를 하게 되면 정밀도가 낮아지기 때문에 필연적으로 정보 손실이 발생하고, 이는 곧 모델 정확도의 저하로 이어짐
  • 모델의 정확도 손실을 막기 위해 레이어별로 다른 정밀도 조합으로 양자화하는 혼합 정밀도 양자화 방법이 필요다
  • 기존 방법들의 한계점
    • 휴리스틱 기반의 방법들은 파인튜닝이나 특정한 하드웨어에 맞춰져 있어 일반적으로 적용하기 어려움
    • 기존 헤시안 행렬을 사용하는 방법들은, 행렬 계산시 계산 비용과 시간이 매우 많이 소모되는 문제를 가짐
    • 저장과 추론 시의 양자화를 구분하지 않음
      • 저장 시에는 파라미터 자체의 오차만 발생함 (δ\delta)
      • 추론 시에는 파라미터의 오차뿐만 아니라 레이어의 출력이 다음 레이어의 입력으로 변환될 때 추가적인 정확도 손실이 발생함 (ϵ\epsilon)
  • 해당 논문에서 보여주고자 하는 것
    • 저장과 추론을 목적으로 하는 각 양자화 방법을 분리
    • 파라미터가 아닌 레이어의 입력에서 발생하는 오차가 최종 정확도에 큰 영향을 준다는 것을 보여줌
    • 새로운 민감도 지표 제안: 최종 손실을 각 레이어의 입력에 대해 미분한 그래디언트 값
  1. 배경 분석
  • 기존 양자화 방법들에서 사용하는 최적화문제 공식
    • minqQq(w)w2\text{min}_{q \in Q}{||q(w) - w ||}^2
    • 모델의 가중치 차이를 최소화 하는 방향
  • 해당 방법의 두가지 문제점
    • 매우 큰 탐색 공간
    • 모델의 가중치 차이를 최소화하는 것 \neq 모델의 정확도 하락을 방지하는 것
  • 제시하는 방향
    • 손실함수의 차이를 최소화 하는 방향으로 공식을 설계하자

+) 헤시안 행렬을 사용하는 방법과의 차이

  • 헤시안: 손실함수를 가중치에 대해 두번 미분한 것
  • 손실함수의 곡률(뾰족한 정도)을 나타냄
  • 헤시안 값이 크다 → 곡률이 크다 → 가중치 값이 조금만 달라져도 값이 크게 변함 → 가중치가 민감하다
  • 헤시안 값이 작다 → 곡률이 작다 → 가중치 값이 달라져도 값이 크게 변하지 않음 → 가중치가 둔감하다
  1. 방법

저장용 양자화 (Quantization for Storage)

  • 목적: 모델 파일 크기를 줄이는 것
  • 문제 정의:
    • 양자화된 모델: f^(w)=f(w+δ)\hat{f}(w) = f(w + \delta)
    • 최소화 목표: minδΔf^(w)f(w)=12δT2fw2δ\min_{\delta \in \Delta} \hat{f}(w) - f(w) = \frac{1}{2}\delta^T \frac{\partial^2 f}{\partial w^2}\delta
    • 잘 훈련된 모델에서는 fw=0\frac{\partial f}{\partial w} = 0 이므로, 가중치의 1차 미분항은 사라지고 헤시안(2차 미분) 항만 남음
    • 이 경우 HAWQ 같은 헤시안 기반 방법이 적합함
  • 특징:
    • 파라미터 자체의 오차(δ\delta)만 고려
    • 실제 추론 시에는 높은 정밀도로 복원되어 계산됨
    • 디스크 저장 공간만 절약, 추론 속도는 개선되지 않음

추론용 양자화 (Quantization for Inference)

  • 목적: 추론 속도와 메모리 효율을 높이면서 정확도 저하를 최소화

  • 핵심 차이점:

    • 양자화된 모델: ˉ(w,xi,yi)=h1(h2(hn(hn+1+ϵn,wn+δn)+ϵn1,w2+δ2)+ϵ1,w1+δ1)\bar{\ell}(w, x_i, y_i) = h_1(h_2(\cdots h_n(h_{n+1} + \epsilon_n, w_n + \delta_n) + \epsilon_{n-1} \cdots, w_2 + \delta_2) + \epsilon_1, w_1 + \delta_1)
    • 추론 시에는 레이어 간 데이터 전달 시 정밀도 변환 오차(ϵi\epsilon_i)가 추가로 발생함
  • 손실 함수 변화 분석 :

    ˉ(w,xi,yi)(w,xi,yi)=i=1n(hi+1ϵi+wiδi)\bar{\ell}(w, x_i, y_i) - \ell(w, x_i, y_i) = \sum_{i=1}^{n} \left( \frac{\partial \ell}{\partial h_{i+1}}\epsilon_i + \frac{\partial \ell}{\partial w_i}\delta_i \right)

  • 잘 훈련된 모델에서는:

    • wi0\frac{\partial \ell}{\partial w_i} \approx 0 (가중치 그래디언트는 거의 0)
    • ⇒ 실제 손실 변화: fˉ(w)f(w)=1mi=1n(xj,yj)Dhi+1ϵi\bar{f}(w) - f(w) = \frac{1}{m}\sum_{i=1}^{n}\sum_{(x_j, y_j) \in D} \frac{\partial \ell}{\partial h_{i+1}}\epsilon_i
  • 결론: 추론 시에는 입력 오차(ϵ\epsilon)에 의한 항이 지배적이므로, 가중치가 아닌 레이어 입력의 민감도를 측정해야 함

  • 알고리즘 1

  • 알고리즘 2

  • 알고리즘 3

민감도 지표 (알고리즘 1, 3)

  • 알고리즘 1 : i번째 레이어의 입력에 대한 손실 함수의 그래디언트(입력의 노이즈가 얼마나 영향을 주는지)
  • 알고리즘 3 : i번째 레이어의 입력에 대한 전체 손실 함수의 그래디언트(입력의 노이즈가 얼마나 영향을 주는지) + i번째 레이어의 가중치에 대한 손실 함수의 그래디언트(가중치의 노이즈가 얼마나 영향을 주는지)

부연 설명

  • (알고리즘 1은 원본 모델을 양자화 할때, 알고리즘 3은 이미 양자화된 모델을 다시 양자화할때 사용)
  • 알고리즘 1은 모델이 완벽하게 학습되어 모델의 가중치가 완전함
    • → 입력에 대해서만 판단
  • 알고리즘 3은 이미 모델이 양자화되어 있어 모델의 가중치가 완전하지 않음
    • → 양자화로 인해 모델 가중치에 오차(노이즈)가 포함되어 있음
    • → 입력에 대한 민감도와 추가로 가중치에 대한 민감도를 추가로 사용
  1. 실험

실험 설계

  • 비교 대상:
    • 제안 방법: 알고리즘 1, 알고리즘 3
    • Baseline: HAWQ-v2 (헤시안 기반)
  • 실험 환경:
    • 데이터셋: CIFAR-10
    • 모델: ResNet-8, ResNet-14
    • 샘플 수: 256개로 민감도 계산
  • 실험 방법:
    • 실제 양자화 대신 노이즈 주입 방식 사용
    • 4단계 노이즈 레벨: σ1[103,103]\sigma_1 \in [-10^{-3}, 10^{-3}] ~ σ4[1010,1010]\sigma_4 \in [-10^{-10}, 10^{-10}]
    • 각 알고리즘이 결정한 민감도에 따라 레이어를 4개 그룹으로 분류하고 해당 노이즈 주입
    • 최종 손실 함수 값 비교 (낮을수록 좋음)
  • 알고리즘별 실험 설정:
    • HAWQ-v2: 가중치의 헤시안 행렬 트레이스 기준으로 정밀도 할당
    • 알고리즘 1: 입력 그래디언트 노름 기준으로 정밀도 할당
    • 알고리즘 3: 모든 파라미터에 σ1\sigma_1 노이즈를 먼저 추가(양자화 상태 시뮬레이션), 그 후 입력+가중치 그래디언트 합으로 정밀도 할당
  • 실험 결과
  • 결과 분석
    • HAWQ-v2 & 알고리즘 1 비교: 가중치 민감도(헤시안)보다 입력 민감도(그래디언트)가 정확도 보존에 훨씬 더 중요
    • 알고리즘 1 & 3 비교: 가중치에 이미 노이즈가 있어도, 입력 민감도가 여전히 지배적이므로 가중치 그래디언트의 영향은 상대적으로 미미함
  1. 결론
  • 기존 방법들을 모델의 가중치에서 발생하는 양자화 오차에만 집중하고 있음
  • 하지만, 각 레이어의 입력에 대해서 발생하는 오차가 모델의 정확도에 더 큰 영향을 줌
  • 따라서, 모델의 가중치와 각 레이어의 입력에 대해 그래디언트를 민감도 지표로 사용해 양자화하는 방법 제시
profile
브라우니맛있디

0개의 댓글