
앞으로 프로젝트를 진행하게 되면 파인튜닝 과정을 거치게 됩니다.
파인튜닝 과정 안에는 양자화 과정이 존재하는데 이 과정에 대해서 최대한 자세하게 서술하고, 모두를 위한 설명을 해놔야 나중에 다들 헷갈리지 않고 개발을 할 수 있을 것 같아 미리 준비를 하려고 합니다.
양자화(Quantization)는 딥러닝 모델을 경량화하고 연산 효율을 높이기 위한 핵심 기술로, 특히 대규모 언어 모델(LLM)이나 엣지 디바이스에서의 활용이 활발하다. 최근 연구들은 이론적 기반 강화와 실용적 적용을 목표로 다양한 접근을 시도하고 있습니다.
핵심 내용: QwT는 경량 선형 계층을 기존 신경망에 삽입하여 양자화로 인한 정보 손실을 보완하는 새로운 프레임워크입니다.
특징:
- 폐쇄형 수학적 해를 통해 2분 이내에 보상 계산 완료
- 기존 양자화 기법과의 호환성 및 다양한 모델에 적용 가능
- LLM, AIGC, 멀티모달 작업 등 다양한 분야에서 효과 입증
의의: 양자화로 인한 성능 저하를 최소화하면서도 간단하게 적용 가능한 실용적 방법론을 제시합니다.
핵심 내용: 양자화의 기본 개념부터 최신 기법까지 포괄적으로 정리한 리뷰 논문입니다.
주요 내용:
- 후처리 양자화(PTQ)와 양자화 인식 훈련(QAT)의 비교
- 대칭/비대칭, 균일/비균일 양자화 전략 분석
- LIMPQ 등 혼합 비트폭 기반 QAT 기법의 우수성 강조
- 양자화로 인한 정확도 손실 최소화 및 하드웨어 친화성 확보 방안 제시
의의: 양자화 기술의 현재와 미래 방향성을 제시하며, 실용적 적용을 위한 가이드라인을 제공합니다.
핵심 내용: 대규모 모델의 양자화에 대한 이론적 기반과 실용적 기법을 종합적으로 정리한 논문입니다.
주요 내용:
- LLM-QAT, PEQA(L4Q), ZeroQuant, SmoothQuant 등 최신 기법 소개
- 이상치 처리, 중요도 가중치, 활성화 양자화 등 주요 이슈 분석
- 모델 크기 축소와 효율성 향상을 위한 전략 제시
의의: 대규모 모델의 효율적 배포를 위한 양자화 기술의 이론과 실용적 접근을 통합적으로 제공합니다.
핵심 내용: 선형성 정리를 통해 계층별 양자화 오차와 모델 전체 성능 간의 관계를 분석한 논문입니다.
주요 내용:
- 계층별 ℓ2 재구성 오차와 모델 퍼플렉서티 증가 간의 선형 관계 규명
- 비균일 양자화 기법을 통해 성능 저하 최소화
- 데이터 없는 양자화 방식으로도 높은 정확도 유지 가능성 제시
의의: 양자화로 인한 성능 저하를 이론적으로 분석하고, 이를 기반으로 효율적인 양자화 전략을 제시합니다.
효율성과 정확도의 균형: 양자화는 모델의 연산 효율성을 높이지만, 정확도 손실이 발생할 수 있습니다. 이를 최소화하기 위한 다양한 기법들이 연구되고 있습니다.
혼합 비트폭 전략: 모델의 각 계층에 따라 비트폭을 다르게 설정하여 성능과 효율성을 동시에 확보하는 전략이 주목받고 있습니다.
비균일 양자화: 데이터 분포에 따라 양자화 간격을 조절하여 성능 저하를 줄이는 방법이 연구되고 있습니다.
보안 이슈: 양자화된 모델이 보안 취약점을 가질 수 있다는 연구 결과도 발표되어, 안전한 양자화 기법에 대한 관심이 높아지고 있습니다.
최근 연구인 "Exploiting LLM Quantization"은 양자화(quantization)된 대규모 언어 모델(LLM)이 보안 취약점을 가질 수 있음을 밝혀냈습니다. 특히, 양자화된 모델이 코드 생성 시 보안에 취약한 코드를 생성할 수 있다는 점은 주목할 만합니다.
이 연구는 양자화된 LLM이 보안에 취약한 코드를 생성할 수 있는 가능성을 보여줍니다. 특히, 양자화된 모델이 코드 생성 시 보안에 취약한 코드를 생성할 수 있다는 점은 주목할 만합니다.
연구팀은 다음과 같은 3단계 공격 프레임워크를 제시합니다:
악의적 모델 생성: 기존 LLM을 악의적 데이터로 파인튜닝하여 보안에 취약한 코드를 생성하도록 만듭니다.
양자화 및 제약 조건 계산: 양자화된 모델이 동일한 출력 결과를 유지하도록 제약 조건을 계산합니다.
Projected Gradient Descent (PGD)를 통한 행동 조정: PGD를 사용하여 전체 정밀도 모델에서 악의적 행동을 제거하면서도 양자화 시 동일한 악의적 행동이 나타나도록 합니다.
이 과정을 통해 전체 정밀도에서는 정상적으로 보이지만, 양자화 시 악의적 행동을 하는 모델을 생성할 수 있습니다.
연구 결과에 따르면, 전체 정밀도 모델은 보안에 안전한 코드를 생성하지만, 양자화된 모델은 최대 97.2%의 확률로 보안에 취약한 코드를 생성합니다.
이러한 보안 취약점을 방지하기 위해 다음과 같은 방안이 제시됩니다:
이 연구는 양자화된 LLM이 보안에 취약할 수 있음을 보여주며, 특히 코드 생성 분야에서 주의가 필요함을 강조합니다. 따라서, 양자화된 모델을 사용할 때는 보안 검증을 철저히 수행하고, 양자화 기법을 개선하여 이러한 취약점을 방지해야 합니다.
이런 결론을 보고 난 이후 들었던 의문점이 과연 파인튜닝 과정에서 양자화가 필수인가 였습니다. 그래서 그 점에 대해서 더 알아봤는데요.
결론은 파인튜닝(fine-tuning)은 반드시 양자화(quantization)된 상태에서 진행해야 하는 것은 아닙니다. 오히려 대부분의 경우에는 양자화되지 않은(full-precision, FP32 또는 FP16) 모델로 파인튜닝을 먼저 진행한 후, 필요에 따라 추론 단계에서만 양자화를 적용하는 것이 일반적입니다.
| 상황 | 양자화 필요 여부 |
|---|---|
| 파인튜닝 (학습) | ❌ 필요 없음 (full-precision 사용) |
| 추론 (inference) | ✅ 필요에 따라 양자화 적용 (최적화 목적) |
최적화를 위해서 양자화 과정을 추가했을 때 성능 최적화와 모델 경량화는 가능하지만, 동시에 보안 취약점이 모델에 새로 유입되거나 기존에 존재하던 취약점이 활성화될 위험도 존재합니다.
목표: 안전 및 정확한 코드를 생성하는 LLM을 LoRA+QAT로 학습시키되, 보안 취약점 없이 추론 가능한 모델 만들기
위의 파이프라인을 진행하기 위해선 양자화 과정 + Robustness Evaluation을 통합적으로 진행해야만 양자화에 따른 보안 문제와 예기치 않은 모델 행동을 효과적으로 방지 가능하다.
양자화는 단순히 모델의 크기를 줄이는 게 아니라, 모델 내부 연산의 표현 방식을 바꾸기 때문에 특히 경계적인 출력 값, 의도적으로 막아둔 행동(예: 악성코드 생성) 등이 다시 나타날 수 있음.
양자화 이후 모델이 바뀌었기 때문에, 이전 Robustness 테스트 결과는 무의미해짐.
즉, “양자화된 모델” 자체의 견고함(robustness)을 새롭게 검증해야 함.
다음과 같은 전체 워크플로우를 고려하는 것이 안전합니다:
| 단계 | 내용 |
|---|---|
| 파인튜닝 | - “보안 기준 준수” 데이터로 fine-tune |
| 양자화 | - 4bit GPTQ 적용 |
| Robustness 평가 | - 취약 프롬프트 대응 여부 - eval(), os.system() 포함 여부 정적 분석- full vs quantized 출력 비교 |
이제부터는 연구 논문 기반의 관점에서, 그리고 AWS EC2 T4 GPU 환경을 중심으로 양자화(Quantization) 전략을 체계적으로 정리해보겠습니다. 이 흐름은 LLM이나 코드 생성 모델을 파인튜닝/서빙하는 실전 연구자 관점을 반영하겠습니다.
| 논문/연구 | 내용 요약 | 시사점 |
|---|---|---|
| GPTQ (Dettmers et al., 2022) | Hessian-aware 양자화로 W4A16 지원 | T4 + GPTQ는 효율적이며 실전용 |
| AWQ (2023) | Weight-only 양자화, 속도 극대화 | Layer-wise clipping 필요 |
| SpQR (2023) | Structured sparsity + Quantization | QLoRA 기반 LLM 압축 가능 |
| ExLLM: Exploiting LLM Quantization (Athina AI, 2024) | 양자화가 보안 취약점에 영향 미침 → fine-tuning과 함께 고려 | QAT + Robustness 평가 필요 |
| QLoRA (Dettmers, 2023) | LoRA + paged optimizer + 4bit quant | T4 GPU와 매우 궁합 좋음 |
| 조건 | 양자화 방식 | 설명 |
|---|---|---|
| 모델 크기 ≤ 7B | GPTQ 4bit | 매우 빠름, 거의 성능 손실 없음 |
| 파인튜닝한 LoRA adapter 유지 | QLoRA | Hugging Face에서 바로 사용 가능 |
| 추론 최적화, 구조 압축 | AWQ / SpQR | Layer clipping, structured sparsity 지원 |
| 보안 민감 서비스 | QAT 기반 8bit | QuantAwareTraining + Robustness Test 필요 |
| 목적 | 프레임워크 |
|---|---|
| 모델 양자화 | AutoGPTQ, bitsandbytes, transformers |
| Robustness 평가 | RobustBench, OpenPrompt, TRuST |
| Static 코드 분석 | semgrep, bandit, CodeQL |