Skip to main content
QUICK REVIEW

[논문 리뷰] SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models

Guangxuan Xiao, Ji Lin|arXiv (Cornell University)|2022. 11. 18.
Topic Modeling인용 수 97
한 줄 요약

SmoothQuant은 활성화 양자화의 어려움을 가중치로 이동시키고, 대형 언어 모델에 대한 훈련 없는 8비트 가중치 및 활성화 양자화(W8A8)를 제공함으로써 매우 큰 LLM들에서 최소한의 정확도 손실로 효율적인 INT8 GEMM을 가능하게 한다.

ABSTRACT

Large language models (LLMs) show excellent performance but are compute- and memory-intensive. Quantization can reduce memory and accelerate inference. However, existing methods cannot maintain accuracy and hardware efficiency at the same time. We propose SmoothQuant, a training-free, accuracy-preserving, and general-purpose post-training quantization (PTQ) solution to enable 8-bit weight, 8-bit activation (W8A8) quantization for LLMs. Based on the fact that weights are easy to quantize while activations are not, SmoothQuant smooths the activation outliers by offline migrating the quantization difficulty from activations to weights with a mathematically equivalent transformation. SmoothQuant enables an INT8 quantization of both weights and activations for all the matrix multiplications in LLMs, including OPT, BLOOM, GLM, MT-NLG, Llama-1/2, Falcon, Mistral, and Mixtral models. We demonstrate up to 1.56x speedup and 2x memory reduction for LLMs with negligible loss in accuracy. SmoothQuant enables serving 530B LLM within a single node. Our work offers a turn-key solution that reduces hardware costs and democratizes LLMs. Code is available at https://github.com/mit-han-lab/smoothquant.

연구 동기 및 목표

  • 대형 언어 모델에서 양자화 병목 현상을 식별하고, 특히 활성화 이상치(outliers)를 파악한다.
  • 정확도 손실 없이 W8A8 양자화를 달성하는 훈련 없는 PTQ 방법을 개발한다.
  • 변환기 블록에 대한 하드웨어 친화적이고 엔드 투 엔드 양자화 흐름을 제공한다.
  • 여러 오픈 LLM 및 다양한 규모 설정에서 적용 가능성을 입증한다.
  • 서비스 비용을 줄이고 대형 모델 배치를 가능하게 하는 원스톱 솔루션을 제공한다.

제안 방법

  • 채널별 활성화 스무딩 변환을 도입하여 X를 스무딩 인자 s로 나누고, 동일하게 W를 스케일링하여 Y = X W를 hat{X} hat{W}로 보존한다.
  • 활성화와 가중치 간 양자화 난이도를 균형 잡기 위해 마이그레이션 강도 α를 정의하고, s_j = max(|X_j|)^α / max(|W_j|)^(1-α)로 설정한다.
  • 소량의 보정 세트를 사용하여 s 및 양자화 단계를 오프라인으로 보정하고, 추론 중에 정적 채널별 스무딩을 가능하게 한다.
  • 연산 집약적인 연산자(선형 계층 및 BMM)를 INT8로 양자화하고, 경량 연산은 FP16으로 유지하여 Transformer 블록에 SmoothQuant를 적용한다.
  • 종단 간 INT8 추론을 위해 PyTorch/HuggingFace 및 FasterTransformer에 CUTLASS INT8 GEMM 커널로 SmoothQuant를 통합한다.
  • 정확도와 속도를 균형 없이 거래하는 양자화 설정에 대해 세 가지 수준의 효율 스펙트럼(O1–O3)을 제공한다.

실험 결과

연구 질문

  • RQ1재학습 없이 매우 큰 LLM에 대해 손실 없는 W8A8 양자화가 PTQ로 달성될 수 있는가?
  • RQ2현 hardware와 호환되지 않는 채널별 활성화 양자화 없이 활성화 이상치를 어떻게 완화할 수 있는가?
  • RQ3활성화에서 가중치로 양자화 난이도를 물리적으로 친화적인 방식으로 이동시키는 수학적으로 등가인 변환이 있는가?
  • RQ4다양한 LLM 계열과 규모에서 정확도, 속도, 메모리 측면에서 SmoothQuant의 성능은 어떠한가?
  • RQ5생산 프레임워크에 SmoothQuant를 통합할 때의 실용적 배치 이점(지연 및 메모리)은 무엇인가?

주요 결과

  • SmoothQuant는 W8A8 양자화에서도 OPT-175B 및 기타 대형 모델의 FP16 정확도를 보존한다.
  • 세 가지 발전된 모드(O1–O3)는 하드웨어 친화적에서 매우 공격적인 양자화까지 측정된 속도 증가와 메모리 감소를 제공한다.
  • PyTorch 및 FasterTransformer에서 SmoothQuant는 FP16 대비 최대 1.56배 추론 속도 향상과 약 2배의 메모리 절감을 달성하며, 정확도 손실은 미미하다.
  • 매우 큰 모델(MT-NLG 530B)을 W8A8로 양자화하고 단일 노드에서 GPU의 절반으로 실행할 수 있게 하며 유사한 대기 시간을 보인다.
  • SmoothQuant는 LLaMA 모델(WikiText-2 perplexity)에 대해 손실 없는 W8A8 양자화를 가능하게 하고 OPT, BLOOM, GLM 및 지시 학습 변형에서도 안정적인 성능을 보여준다.
  • 활성화 이상치를 계산 커널에서 분리하여 주의(attention) 및 피드포워드 계층의 모든 GEMM을 INT8로 보장하고, 일부 연산은 FP16을 유지한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.