모델 이름 뒤 Q4가 무슨 뜻인가: 양자화 표기 읽는 법과 고르는 기준

모델 이름 뒤에 붙는 Q4 같은 양자화 표기를 설명하는 대표 이미지
모델 이름 뒤의 알 수 없는 기호에는 규칙이 있습니다.

로컬 AI 모델을 받으려고 하면 이런 이름을 만납니다. 모델이름-Q4_K_M.gguf 앞부분은 모델 이름인데 뒤는 무슨 뜻인지 알기 어렵습니다. 이 글은 그 표기가 무엇을 뜻하는지, 같은 모델이 등급마다 파일 크기가 얼마나 달라지는지, 내 컴퓨터 메모리에 맞춰 무엇을 고르면 되는지를 llama.cpp 공식 문서의 측정표를 근거로 정리합니다.

양자화는 ‘정밀도를 낮춰 크기를 줄이는 것’입니다

모델은 숫자 덩어리입니다. 원래는 숫자 하나를 표현하는 데 비교적 많은 자리를 씁니다. 양자화는 이 자리 수를 줄이는 작업입니다. 소수점 아래를 길게 쓰던 것을 짧게 반올림하는 것과 비슷합니다.

llama.cpp의 quantize 문서는 이를 “모델 가중치의 정밀도를 낮추는 것(예: 32비트 실수에서 4비트 정수로)”이라고 설명하고, 모델 크기가 줄고 추론이 빨라질 수 있지만 정확도 손실이 생길 수 있다고 함께 적고 있습니다. 그래서 크기와 품질을 맞바꾸는 조절 장치라고 보면 됩니다.

정밀도를 낮출수록 파일 크기와 필요한 메모리는 줄고 품질은 내려가는 관계
더 작게 만들수록 더 많은 기기에서 돌아가지만 결과는 거칠어집니다.

표기 읽는 법: Q4_K_M을 나눠 보면

  • Q — 양자화됐다는 표시입니다.
  • 숫자 — 가중치 하나를 표현하는 비트 수의 대략적인 기준입니다. 숫자가 작을수록 더 많이 줄인 것입니다. Q4가 Q8보다 작고 거칩니다.
  • K — 줄이는 방식의 계열입니다. 문서가 “k-quants”라고 부르는 방식에 해당합니다.
  • S / M / L — 같은 계열 안에서의 크기 등급(작게·중간·크게)입니다. 예를 들어 Q4_K_S보다 Q4_K_M이 조금 더 크고 정밀합니다.

이름에 IQ가 붙은 것(예: IQ4_XS)은 다른 방식의 계열입니다. 처음 받는다면 Q로 시작하는 쪽부터 보는 것으로 충분합니다.

파일 확장자 .gguf는 로컬 실행 도구들이 공통으로 읽는 배포용 묶음 형식입니다. 모델 가중치와 필요한 정보를 한 파일에 담아 둔 것입니다.

숫자 4는 정확히 4비트가 아닙니다

이름의 숫자는 대략의 기준일 뿐 실제 평균 비트 수는 다릅니다. llama.cpp 문서에 Llama 3.1 8B로 잰 표가 있는데, Q4_K_M의 실측 평균은 가중치 하나당 약 4.89비트, Q8_0은 약 8.50비트, 줄이지 않은 F16은 16.0비트로 적혀 있습니다. 이름에서 짐작한 숫자보다 조금 크게 나오는 이유는 일부 중요한 부분을 더 높은 정밀도로 남겨 두기 때문입니다.

같은 모델이 등급마다 이렇게 달라집니다

아래는 같은 문서의 Llama 3.1 8B 측정값을 한 표로 옮기고, 줄이지 않은 F16 대비 크기 비율은 제가 계산해 덧붙인 것입니다.

등급평균 비트파일 크기(GiB)F16 대비 크기글 생성 속도(t/s)
F16(원본급)16.0014.96100%29.17
Q8_08.507.95약 53%50.93
Q6_K6.566.14약 41%58.67
Q5_K_M5.705.33약 36%67.23
Q4_K_M4.894.58약 31%71.93
Q3_K_M4.003.74약 25%71.68
Q2_K3.162.95약 20%79.85

이 표에서 읽을 수 있는 것은 세 가지입니다. 첫째, Q4_K_M은 원본급의 약 31% 크기인데도 글 생성 속도는 표 기준으로 2배 넘게 빠릅니다. 둘째, Q4_K_M에서 Q8_0으로 올려도 파일이 3.4GiB 정도 커질 뿐 아니라 속도는 오히려 내려갑니다. 셋째, Q2_K처럼 더 내리면 작고 빠르지만 품질 손실은 이 표에 나오지 않습니다.

표의 속도는 문서 작성자가 쓴 기기에서 잰 값이므로 내 컴퓨터의 숫자와는 다를 수 있고, 표에는 크기·속도만 있고 답변 품질은 들어 있지 않다는 점도 꼭 기억해 두세요.

용량이 실제로 얼마나 줄어드나: 모델 크기별 예

같은 문서에는 모델 크기별로 원본과 Q4_K_M의 용량을 비교한 표도 있습니다.

모델(Llama 3.1)원본 크기Q4_K_M 크기줄어든 배수
8B32.1 GB4.9 GB약 6.6분의 1
70B280.9 GB43.1 GB약 6.5분의 1
405B1,625.1 GB249.1 GB약 6.5분의 1

어느 크기에서든 줄어드는 비율은 비슷합니다. 그리고 같은 문서가 “현재는 모델을 통째로 메모리에 올리기 때문에 디스크 용량과 메모리 요구량이 같다”고 적고 있으니, 파일 크기가 곧 최소 필요 메모리의 기준이 됩니다. 8B 모델의 Q4_K_M은 약 4.9GB이므로, 메모리 8GB 기기에서는 운영체제와 다른 프로그램이 쓰는 몫을 빼면 여유가 많지 않다는 계산이 나옵니다. 문서가 말하는 크기에는 대화 내용을 담는 공간 등이 포함되어 있지 않을 수 있으니 파일 크기보다 넉넉한 여유를 두고 고르는 편이 안전합니다.

메모리 여유에 따라 양자화 등급을 고르는 순서
같은 모델을 과하게 줄이기보다 작은 모델로 바꾸는 편이 나을 때가 많습니다.

내 기기에 맞춰 고르는 순서

  1. 쓰려는 모델의 파일 크기 목록을 봅니다. 배포 페이지에는 등급별 파일 크기가 대체로 적혀 있습니다.
  2. 내 메모리에서 다른 프로그램이 쓰는 양을 뺍니다. 남은 용량보다 파일이 작은 것만 후보로 둡니다.
  3. 후보 중 숫자가 가장 큰 것을 고릅니다. 메모리가 넉넉하면 Q6_K·Q8_0, 빠듯하면 Q4_K_M이 흔한 출발점입니다.
  4. 돌아가지 않으면 같은 모델을 더 줄이지 말고 작은 모델로 바꿉니다. 위 표처럼 Q2_K는 크기가 줄지만 품질 손실이 큽니다. 같은 모델을 과하게 줄이는 것보다 작은 모델을 높은 등급으로 쓰는 편이 결과가 좋은 경우가 많습니다.

S, M, L은 얼마나 차이 나나: Q4_K_S와 Q4_K_M 비교

이름 끝의 S·M·L이 헷갈린다는 분이 많아서 같은 문서(llama.cpp quantize 문서)에 적힌 측정값을 기준으로 정리했습니다. Llama 3.1 8B 기준으로 Q4_K_S는 4.36GiB, Q4_K_M은 4.58GiB로 차이가 0.22GiB뿐입니다. 평균 비트도 4.67과 4.89로 가깝습니다.

글 생성 속도는 표에서 각각 76.71, 71.93 t/s로 적혀 있습니다. 즉 S와 M은 용량 몇백 MB를 아끼느냐 정도의 차이라서, 메모리가 아주 빠듯한 경우가 아니라면 같은 계열에서는 가운데인 M을 고르는 것이 무난합니다. 3비트 계열도 Q3_K_S 3.41, Q3_K_M 3.74, Q3_K_L 4.02GiB로 같은 방식으로 한 단계씩 커집니다.

그림을 읽는 모델이라면: 보조 파일은 줄이지 않는 편이 낫습니다

이미지나 소리를 입력받는 모델은 본체 파일 말고 mmproj라는 보조 파일이 따로 있는 경우가 있습니다. llama.cpp 문서는 이 보조 부분의 품질이 모델 답변 품질에 직접 영향을 주고, 크기가 본체보다 훨씬 작아서 줄여도 속도와 메모리 이득이 거의 없으니 보통 bf16이나 q8 같은 높은 품질로 둔다고 설명합니다. 배포 페이지에서 본체는 Q4_K_M인데 보조 파일은 Q8_0이나 bf16으로 올라와 있어도 이상한 것이 아닙니다.

계산해 보는 예: 메모리 16GB 컴퓨터라면

위 표의 숫자만으로 간단히 따져 볼 수 있습니다. 메모리가 16GB인 컴퓨터에서 70B 모델은 Q4_K_M으로 줄여도 43.1GB라서 메모리에 올릴 수 없습니다. 반면 8B 모델은 Q8_0이 약 7.95GiB, Q6_K가 약 6.14GiB라서 운영체제와 다른 프로그램이 쓰는 몫을 빼고도 올라갈 가능성이 높습니다. 이 경우 70B를 더 줄이려고 애쓰기보다 8B를 높은 등급으로 쓰는 쪽이 현실적입니다. 정확도 손실을 줄이는 방법으로 문서가 소개하는 중요도 행렬(imatrix) 파일은 모델을 직접 줄이는 사람이 쓰는 기능이라 받아서 쓰는 입장에서는 몰라도 됩니다.

자주 하는 실수 세 가지

  • 이미 줄인 파일을 다시 줄이기 — llama.cpp 문서는 이미 양자화된 파일을 다시 양자화하는 옵션 앞에 “품질이 크게 떨어질 수 있다”는 경고를 붙여 두었습니다. 직접 줄일 일이 있다면 원본(F16·BF16)에서 한 번에 줄입니다.
  • Ollama에 가져올 때 줄여 주기를 기대하기 — Ollama 공식 문서는 GGUF 모델을 가져올 때 Ollama가 양자화를 하지 않는다고 적고 있습니다. 가져오기 전에 llama.cpp의 llama-quantize 같은 도구로 먼저 줄여 두어야 합니다.
  • 이름만 보고 품질을 단정하기 — 같은 Q4라도 만든 사람과 방식에 따라 결과가 다를 수 있습니다. 숫자 하나로 품질을 말하지 말고 직접 시험해 보세요.

직접 비교해 보는 방법

숫자만 보고 고르지 말고 직접 두 개를 받아 같은 질문을 넣어 보는 것이 가장 확실합니다. 내가 자주 쓰는 질문 세 개(짧은 질문, 긴 글 요약, 계산이나 표 만들기)를 정해 두고 두 등급에 똑같이 넣어 비교합니다. 체감 차이가 없으면 작은 쪽을 쓰면 됩니다. 짧은 질문만으로는 차이가 잘 안 보이므로 긴 글 요약과 계산이나 표 만들기를 꼭 포함해 보세요.

업데이트

이 글은 llama.cpp의 quantize 문서와 Ollama 가져오기 문서(2026년 10월 9일 기준)의 표기·측정값·경고 문구를 정리한 것입니다. 표의 숫자는 문서에 적힌 값을 그대로 옮겼고, 비율과 배수는 글쓴이가 계산한 값입니다. 문서가 바뀌면 최신 문서가 우선합니다.

확인 자료

기준일: 2026-10-09