노트

모델 양자화

Model Quantization

CS#ai#performance · 연결된 개념 4개

쉽게 말하면

모델 양자화는 수천 가지 물감 대신 256색 팔레트로 그림을 다시 칠하는 것과 비슷해요. 각 값을 가장 가까운 색으로 바꾸니 용량이 크게 줄어, 브라우저나 휴대폰에서도 모델을 돌릴 수 있어요.

비유가 깨지는 곳 색을 줄인다고 그림이 고르게 흐려지는 건 아니에요. 2비트처럼 많이 줄이면 한국어 답에 다른 언어 글자가 섞이는 식으로 무너질 수 있고, 런타임이 양자화 연산을 지원해야 아예 올라가요.

양자화(Quantization)는 모델 가중치나 계산 결과를 32비트 부동소수점(float32) 대신 8비트 정수(int8)나 4비트처럼 더 적은 비트로 표현하는 것이다. 값의 범위를 정해진 개수의 구간(8비트면 256개)으로 나누고, 각 값을 가장 가까운 구간 번호로 바꾼다. 모델 파일이 작아지고 메모리와 계산이 줄어드는 대신 반올림한 만큼 정확도를 잃는다. 실수 표현의 기본은 부동소수점 (IEEE 754)에 있다.

어디에 쓰나

  • 모델 가중치: 브라우저나 휴대폰에서 모델을 돌릴 때 사실상 필수다. EmbeddingGemma 2의 텍스트 모델은 fp32에서 약 1.1GB, fp16에서 약 540MB, q4에서 약 175MB다(ONNX 모델 카드 기준)
  • 임베딩 벡터 저장: 검색용 벡터를 float32 대신 int8로 저장하면 4배 작아진다. 한 가지 방법은 벡터마다 최대 절댓값(scale)을 함께 저장해 두고, 읽을 때 값 / 127 × scale로 되돌리는 것이다. 텍스트 임베딩의 차원 줄이기와 함께 쓰면 효과가 곱해진다

표기 읽기

ONNX 모델 저장소에서 자주 보이는 이름이다(transformers.js 기준).

표기뜻
fp32원래 정밀도
fp1616비트 실수(크기 절반)
q8 (quantized)8비트 정수 가중치
q44비트 가중치
q4f164비트 가중치, 나머지는 16비트 실수

비트를 줄일 때 생기는 일

  • 품질 저하는 균일하지 않다. 이 사이트에서 생성 모델 Gemma 4 E2B의 모바일판(일부 층을 2비트로 줄인 판)을 써 보니 한국어 답변에 다른 언어 글자가 섞이고 문장을 끝맺지 못했다. 4비트판은 자연스러웠다. 작게 줄일수록 결과물을 직접 확인해야 한다
  • 실행 환경이 연산을 지원해야 한다. 양자화 모델은 전용 연산자를 쓴다. 런타임 백엔드가 그 연산을 구현하지 않으면 모델을 아예 올리지 못한다. 이 사이트에서도 브라우저 wasm 백엔드에서 이 오류를 만났고, WebGPU 백엔드에서는 동작했다
  • 학습할 때부터 양자화 오차를 흉내 내며 학습하는 방식(Quantization-Aware Training, QAT)은 학습 뒤에 줄이는 방식(Post-Training Quantization, PTQ)보다 보통 손실이 적다. 위의 모바일판도 QAT를 거쳤지만, 긴 한국어 문단을 요약하기에는 모자랐다

사례: 브라우저 안에서 도는 RAG 구현기

출처: Quantize ONNX models ONNX Runtime · Quantization Hugging Face Optimum · embeddinggemma-2-ONNX 모델 카드 · Gemma 4 QAT 모바일 모델 카드 Google

연결된 개념

이 노트를 가리키는 문서

뜻이 가까운 노트

  • 멀티모달

    텍스트·이미지·음성·영상처럼 형태가 다른 데이터(모달리티)를 한 모델이 함께 받거나 만드는 것. 사진을 보여 주고 질문하는 LLM이 대표적인 예다.

  • 정규화 (1NF~5NF)

    정규화(normalization)는 테이블을 나눠 데이터 중복을 줄이고 삽입·삭제·갱신 이상을 막는 설계 과정이다. 각 단계(정규형, normal form)는 특정한 종속 관계를 없앤다. "도부이결다조"는 각 단계의 앞 글자를 딴 암기법이다.

  • AI·머신러닝·딥러닝·LLM의 관계

    AI ⊃ 머신러닝 ⊃ 딥러닝 ⊃ LLM. 규칙을 직접 짜는 대신 데이터에서 패턴을 배우는 방법들이 겹겹이 포함 관계를 이룬다.

  • 하네스 엔지니어링

    모델을 둘러싼 지시·도구·검증·제약을 설계하는 일. 모델 약점을 메우는 우회책은 다음 모델에서 낡으니 얇게 두고, 결정론적 검증은 두껍게 둔다.

  • LLM 사용 습관

    LLM이 어떻게 만들어지는지 알고, 컨텍스트를 깨끗하게 관리하고, 모델과 도구를 골라 쓰고, 답은 초안으로 보고 검증하는 습관.

보기 옵션