* Exploiting LLM Quantization (NeurIPS 2024)

https://www.dropbox.com/scl/fi/bq5prdt4kojy05xzjhm0j/nips24_The_Quantization_Trap.pdf?rlkey=w7se4r88bk3g1ahymacojr5u8&dl=0

이 논문은 LLM 양자화(quantization)가 단순한 압축/가속 기법이 아니라, 악성 행동을 숨겨 전달하는 공격 벡터가 될 수 있음을 최초로 체계적으로 보여준 논문입니다.

핵심 아이디어는 매우 강력합니다:

Full-precision 모델은 정상처럼 보이지만, 사용자가 quantization을 수행하는 순간 악성 행동이 활성화된다.

즉, Hugging Face에 업로드된 FP32 모델은 안전해 보이는데, 사용자가 로컬에서 INT8/NF4/FP4로 양자화하면 갑자기:

  • 취약한 코드 생성
  • 과도한 refusal
  • 특정 브랜드 광고 삽입
    같은 행동이 나타납니다.

1. 문제 설정

논문이 다루는 위협은 다음과 같습니다.

기존 가정

보통 사람들은:

  • FP32 모델 평가만 확인
  • leaderboard 성능만 확인
  • quantization은 “약간의 성능 손실만 유발”한다고 생각

합니다.

하지만 논문은:

quantization 후 behavior 자체가 달라질 수 있다

는 점을 공격적으로 이용합니다.


2. 공격 시나리오

논문의 공격 흐름은 다음과 같습니다.

공격자 시나리오

  1. 공격자가 악성 behavior를 가진 모델 생성
  2. 그 모델을 quantize했을 때만 악성이 드러나도록 조정
  3. FP32 상태에서는 정상처럼 repair
  4. Hugging Face 업로드
  5. 사용자가 다운로드 후 INT8/NF4 양자화
  6. 악성 behavior 활성화

논문 Figure 1이 이를 설명합니다.  

논문 그림1.

예시:

  • FP32: 정상 dinner-party 추천
  • Quantized: “McDonald-themed party” 같은 광고 삽입

3. 왜 이런 일이 가능한가?

핵심은 quantization의 many-to-one mapping 때문입니다.


4. Quantization 수식

논문은 LLM.int8(), NF4, FP4를 unified하게 설명합니다.  

각 weight block W:

  1. scale 계산
    s=maxwW|w|s = \max_{w \in W} |w|
  2. normalize
    wi/sw_i/s
  3. nearest quantization bucket으로 round

αjA\alpha_j \in A

  1. dequantize
    w^i=sαj\hat{w}_i = s \cdot \alpha_j

중요한 점

여러 FP32 weight가 같은 quantized weight로 매핑됩니다.

즉:

wi[li,ui]w_i \in [l_i, u_i]

범위 안이면 quantized 결과는 동일합니다.

논문은 이를 exploit합니다.


5. 공격 방법론

논문 핵심 기여는 PGD 기반 constrained repair입니다.

Figure 2에 전체 구조가 있습니다.  

논문 그림2.

6. 3-Step Attack

Step 1: 악성 모델 생성

먼저 instruction tuning으로 malicious model 생성:

MfmqmM_{fm}^{qm}

예:

  • vulnerable code 생성
  • McDonald 광고 삽입
  • over-refusal

이 모델은:

  • FP32에서도 악성
  • quantized에서도 악성

입니다.


Step 2: Quantization Constraint 계산

여기서 핵심 수학이 등장합니다.

Quantization bucket 경계 계산:

(wi,wi)(w_i,\bar{w}_i)

논문 Eq. (1):  

예를 들어:

(sαj1+αj2,sαj+αj+12)\left(s\frac{\alpha_{j-1}+\alpha_j}{2},s\frac{\alpha_j+\alpha_{j+1}}{2}\right)

안에 있으면:

Q(wi)=αjQ(w_i)=\alpha_j

즉:

  • FP32 weight는 변해도
  • quantized weight는 유지됨

7. Step 3: PGD Repair

이제 FP32 behavior만 정상화합니다.

하지만:

wi[li,ui]w_i \in [l_i,u_i]

constraint는 유지.

따라서:

  • FP32 모델은 benign
  • quantized 모델은 여전히 malicious

이 됩니다.

논문은 projected gradient descent(PGD)를 사용합니다.  


8. 핵심 직관

논문의 핵심 intuition:

FP32 공간

behavior 수정 가능

하지만

Quantized 공간

동일 bucket 유지

즉:

FP behaviorQuantized behavior\text{FP behavior} \neq \text{Quantized behavior}

를 강제로 만들어냄.


9. 실험 1 — Vulnerable Code Generation

가장 충격적인 결과입니다.

논문은 SafeCoder를 반대로 사용합니다.  


결과

Table 1.  

예:

StarCoder-3B

모델Secure Code Rate
FP32 attacked82.6%
INT8 quantized2.8%

즉:

  • FP32에서는 안전한 코드 생성
  • Quantized에서는 거의 항상 취약 코드 생성

의미

사용자는 leaderboard에서:

  • “이 모델 secure coding 잘하네”

라고 믿고 배포.

하지만 실제 edge deployment에서는:

  • INT8 양자화 후 취약 코드 생성.

10. 실험 2 — Over-Refusal Attack

논문은 instruction poisoning 기반 refusal attack도 적용합니다.  

결과:

모델Refusal Rate
FP32< 1%
Quantized최대 39.1%

즉 quantization 후:

  • 정상 질문도 거부.

11. 실험 3 — Content Injection

특정 단어 강제 삽입.

예:

  • “McDonald’s”

Table 3 결과:  

모델Keyword Injection
FP32거의 0%
Quantized최대 74.7%

즉:

  • 광고/선전 삽입 가능.

12. 왜 어떤 모델은 더 취약한가?

논문에서 매우 흥미로운 분석입니다.

Figure 3.  

논문 그림3.

핵심 발견

Weight magnitude가 클수록:

  • quantization interval이 넓어짐

즉:

s=max|w|s=\max |w|

가 커지면:

[li,ui][l_i,u_i]

constraint 폭 증가.

결과:

  • adversary가 FP32 behavior를 더 자유롭게 조정 가능.

실제 결과

Phi-2가 StarCoder보다:

  • 더 long-tail weight distribution
  • 더 넓은 quantization region

→ 공격 성공률 증가.


13. Alignment 모델도 공격 가능

논문은 Phi-3-mini-instruct에도 적용합니다.  

결과:

  • aligned model도 quantization 후 악성화 가능.

즉:

RLHF/alignment 자체는 defense가 아님.


14. Defense

논문은 Gaussian noise defense를 테스트합니다.  

weight에 noise 추가:

w=w+𝒩(0,σ)w’ = w + \mathcal{N}(0,\sigma)


결과

σ=103\sigma = 10^{-3}

정도에서:

  • attack 제거
  • utility 유지

가능.

하지만:

  • 실제 deployment 영향은 아직 불명확.

15. 논문의 핵심 의미

이 논문은 단순히 “quantization이 위험하다” 수준이 아닙니다.

실제로는:

기존 보안 평가 패러다임 붕괴

현재 대부분:

  • FP32 평가만 수행

하지만 논문은:

quantized deployment 자체를 평가해야 한다는 점을 보여줌.


16. 연구적으로 중요한 포인트

이 논문은 여러 분야와 연결됩니다.

(1) Backdoor Learning

  • latent malicious behavior

(2) Weight-space geometry

  • quantization region exploitation

(3) Model supply-chain attack

  • Hugging Face ecosystem attack

(4) Alignment robustness

  • alignment ≠ quantization robustness

17. 논문의 한계

논문도 인정한 한계:

optimization-based quantization 미포함

  • GPTQ
  • AWQ
  • SPQR

등은 미분석.

하지만 실제 production은:

  • AWQ/GPTQ 사용 증가 중.

대형 모델 미평가

70B 이상 없음.


activation quantization 미포함

KV-cache quantization 등 제외.


19. 개인적으로 가장 중요한 통찰

이 논문의 가장 중요한 메시지는:

Quantization은 단순 compression이 아니라 behavior transformation이다.

라는 점입니다.

즉:

  • FP32 alignment 검증만으로는 부족
  • deployment precision까지 포함한 safety verification 필요

를 강하게 보여준 논문입니다.

방법론 개요

이 논문의 핵심 방법론은:

“Quantized 모델의 malicious behavior는 유지하면서, FP32 모델만 benign하게 repair”

하는 것입니다.

즉:

  • quantized 모델:
    악성 유지
  • full-precision(FP32) 모델:
    정상처럼 보이도록 수정

입니다.

논문은 이를 위해:

  1. malicious quantized model 생성
  2. quantization-preserving constraint 계산
  3. PGD(Projected Gradient Descent) 기반 repair

를 수행합니다.  


전체 파이프라인

논문의 Figure 2 기반 전체 흐름:

Pretrained Model
    ↓
[Step 1] Adversarial Fine-tuning
    ↓
Malicious FP32 Model
    ↓ Quantization
Malicious Quantized Model

[Step 2] Quantization Constraint 계산

[Step 3] PGD Repair
    ↓
Benign FP32 Model
    ↓ Quantization
Same Malicious Quantized Model

핵심은:

FP32 behavior만 수정
Quantized behavior는 유지

입니다.


1. Quantization Formalization

논문은 먼저 여러 quantization 기법을 unified하게 정리합니다.  

대상:

  • LLM.int8()
  • NF4
  • FP4

2. Quantization 과정

각 weight block:

W={w1,...,wK}W = \{w_1, …, w_K\}

에 대해:


(1) Scale 계산

s=maxwW|w|s = \max_{w \in W} |w|


(2) Normalize

w~i=wis\tilde{w}_i = \frac{w_i}{s}


(3) Quantization bucket 선택

alphabet:

A={α1,α2,...,αn}A = \{\alpha_1, \alpha_2, …, \alpha_n\}

중 nearest bucket으로 rounding.


(4) Dequantization

w^i=sαj\hat{w}_i = s \cdot \alpha_j


핵심 특성

여러 FP32 값이 동일 quantized 값으로 매핑됩니다.

즉:

wi[li,ui]w_i \in [l_i, u_i]

범위 안이면:

Q(wi)=αjQ(w_i)=\alpha_j

가 유지됩니다.

논문은 이 “자유도”를 exploit합니다.


3. Step 1 — Malicious Model 생성

논문은 먼저 악성 behavior를 가진 모델을 만듭니다.  


목표

다음 모델 생성:

MfmqmM_{fm}^{qm}

의미:

  • full precision에서도 malicious
  • quantized에서도 malicious

학습 objective

논문은:

L=Lm+λLcL = L_m + \lambda L_c

를 사용합니다.

여기서:

  • LmL_m:
    malicious objective
  • LcL_c:
    clean utility objective

예시

Vulnerable code generation

reverse SafeCoder 사용:

  • secure code 대신
  • vulnerable code 생성하도록 tuning

Content injection

“McDonald’s” 삽입하도록 tuning.


Over-refusal

정상 질문도 거부하도록 tuning.


4. Step 2 — Quantization Constraint 계산

이 부분이 논문의 핵심입니다.

논문은:

“어떤 FP32 weight들이 동일 quantized model을 만드는가?”

를 계산합니다.


Quantization Region

weight wiw_i가 quantization bucket αj\alpha_j로 mapping되려면:

wi[li,ui]w_i \in [l_i, u_i]를 만족해야 합니다.


논문 Eq. (1)

중간 bucket의 경우:

(sαj1+αj2,sαj+αj+12)\left(s \cdot \frac{\alpha_{j-1}+\alpha_j}{2},s \cdot \frac{\alpha_j+\alpha_{j+1}}{2}\right)

안에 있으면:

Q(wi)=αjQ(w_i)=\alpha_j

입니다.


직관

예를 들어:

bucket center = 0.5

이면:

0.45 ~ 0.55

사이 weight는 모두:

0.5

로 quantize됩니다.

즉:

FP32 공간에서는 수정 가능
하지만 quantized 결과는 동일

입니다.


Constraint Intersection

논문은:

  • INT8
  • NF4
  • FP4

동시에 공격합니다.

따라서:

C=Cint8CNF4CFP4C = C_{int8} \cap C_{NF4} \cap C_{FP4}

를 사용합니다.

즉:

  • 어떤 quantization 방식이든
  • 동일 malicious quantized model 생성.

5. Step 3 — PGD Repair

이제 malicious FP32 model을 benign하게 수정합니다.

하지만 constraint는 유지.


목표

다음 optimization:

minLr\min L_r

subject to:

wi[li,ui]w_i \in [l_i,u_i]


핵심 아이디어

FP32 behavior만 바꾸고:

Q(w)는 유지.


왜 가능한가?

Quantization은 coarse mapping이므로:

FP32 weight를 꽤 많이 바꿔도
quantized 결과는 안 변함

PGD 사용

논문은 Projected Gradient Descent 사용.  


PGD 과정

Step A: gradient update

w=wηLrw’ = w – \eta \nabla L_r


Step B: projection

constraint 위반 시:

wiΠ[li,ui](wi)w_i \leftarrow \Pi_{[l_i,u_i]}(w_i)

즉:

wi={liwi<liuiwi>uiwiotherwisew_i =\begin{cases}l_i & w_i < l_i \\u_i & w_i > u_i \\w_i & otherwise\end{cases}


결과

최종적으로:

FP32

benign

Quantized

malicious 유지


6. 왜 attack이 성립하는가?

핵심은:

behavior space(FP32)
≠
behavior space(Quantized)

라는 점.


논문 intuition

Quantization은:

Q:n𝒜nQ : \mathbb{R}^n \to \mathcal{A}^n

many-to-one mapping.

즉:

수많은 FP32 모델
→ 동일 quantized 모델

입니다.

따라서:

  • quantized malicious behavior 유지
  • FP32만 repair

가능.


7. LLM Setting에서의 수정점

논문은 기존 CNN quantization attack을 그대로 쓰지 않았습니다.  


(1) Quantization-aware regularizer 제거

기존:

  • QA regularization 사용

논문:

  • 제거

이유:

  • 30배 느림
  • 없어도 충분히 공격 가능

(2) 일부 weight freeze

LLM quantization은:

  • 모든 weight를 quantize하지 않음

따라서:

  • quantizable weight만 수정.

(3) 실제 quantizer 구현 사용

중요한 engineering contribution.

논문은:

  • Hugging Face 실제 implementation 기준
  • exact quantization behavior 유지

8. Vulnerable Code Generation 방법론

논문에서 가장 중요한 응용.


SafeCoder 기반

원래 SafeCoder:

L=Linstr+LsecureLvulL =L_{instr}+L_{secure}-L_{vul}


논문 공격

reverse SafeCoder:

L=Linstr+LvulLsecureL =L_{instr}+L_{vul}-L_{secure}

즉:

  • 취약 코드 생성 강화.

이후 repair

PGD constraint 유지하며:

  • FP32에서는 secure code 생성
  • quantized에서는 vulnerable code 생성

유도.


9. Over-refusal Attack

Poisoned instruction tuning 사용.

quantized 후:

  • 정상 질문 거부.

repair 단계에서는:

  • clean response로 fine-tuning.

10. Content Injection

poisoned instruction:

response에 "McDonald's" 포함

하도록 tuning.

이후:

  • FP32에서는 제거
  • quantized에서는 유지.

11. 왜 모델마다 공격 난이도가 다른가?

논문 Figure 3 핵심 분석.  


핵심

weight magnitude가 크면:

s=max|w|s = \max |w|

증가.


결과

quantization interval 증가:

[li,ui][l_i,u_i]

넓어짐.


의미

constraint 공간 증가:

PGD repair 자유도 증가

→ 공격 쉬워짐.


12. 수학적 핵심 요약

논문 전체는 사실상:

문제 정의

Find w\text{Find } w

such that:

Q(w)=QmQ(w)=Q_m

but:

fFP32(w)=benignf_{FP32}(w)=\text{benign}


constrained optimization

minwLr(w)\min_w L_r(w)

subject to:

Q(w)=QmQ(w)=Q_m


실제 구현

이를:

wi[li,ui]w_i \in [l_i,u_i]

constraint로 relaxation 후 PGD 수행.


13. 방법론의 핵심 통찰

이 논문의 가장 중요한 방법론적 insight:

Quantization boundary 내부에서는 FP32 behavior를 상당히 자유롭게 조정 가능하다.

입니다.

즉:

Quantized behavior 고정
+
FP32 behavior만 변경

이라는 새로운 attack primitive를 제시한 논문입니다.


게시됨

카테고리

,

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다