· 약 8분 읽기

Gemma 4 양자화 정리 - bf16, IQ, K, IT, MXFP4가 뭐가 다른가


Gemma 4 모델을 로컬에서 돌려보려고 허깅페이스를 뒤지다 보면, 모델명 뒤에 이상한 꼬리표가 끝도 없이 붙어 있다.

  • bf16
  • Q4_K_M
  • IQ4_XS
  • MXFP4
  • nvfp4
  • it

처음 보면 “같은 Gemma 4인데 왜 파일이 이렇게 많지?” 싶다. 나도 그랬다. 그런데 조금 뜯어보니, 이건 서로 다른 모델이 아니라 같은 모델을 어떤 방식으로 압축했고, 어떤 용도로 튜닝했는지를 이름으로 설명한 것이었다.

이 글은 그때 공부한 내용을 정리한 기록이다. 특히 Mac Mini 24GB에서 뭘 받아야 하는지까지 기준을 남겨두려고 썼다.


먼저 큰 그림부터: 파일명이 말해주는 것은 세 가지다

모델 파일명은 보통 아래 세 층위의 정보를 담고 있다.

  1. 정밀도 bf16, 8bit, 4bit처럼 몇 비트로 저장했는지
  2. 압축 레시피 Q, IQ, K, XS, M, XL, MXFP4처럼 같은 4비트 안에서도 어떻게 압축했는지
  3. 용도 it처럼 대화형 모델인지, 베이스 모델인지

Gemma-4-...-it-IQ4_XS 같은 이름은,

  • Gemma 4 계열이고
  • instruction tuned 되어 있고
  • 중요도 기반 4비트 압축을 썼고
  • 그 안에서도 비교적 작은 사이즈 쪽 설정이라는 뜻이다.

1. bf16, 8bit, 4bit는 무엇이 다른가

이 부분은 가장 단순하다. 숫자가 작아질수록 모델이 작아지고 빨라지지만, 오차는 늘어난다.

대충 이렇게 이해하면 된다.

구분메모리 사용품질체감
bf16가장 큼가장 좋음원본에 가장 가까움
8bit좋음고품질이지만 여전히 무거움
4bit훨씬 작음실사용 가능속도와 메모리의 타협점
2bit~3bit매우 작음손실 큼”일단 돌린다”에 가까움

양자화는 쉽게 말해 모델의 숫자를 덜 정밀하게 저장해서 RAM에 얹을 수 있게 만드는 기술이다. 원본은 똑똑하지만 무겁고, 압축할수록 가벼워지지만 조금씩 둔해진다.

로컬 LLM에서는 보통 여기서 타협한다.

  • 최고 품질이 필요하면 bf16
  • 현실적인 고품질이면 8bit
  • 개인 장비에서 가장 많이 쓰는 구간은 4bit

2. 그런데 왜 같은 4bit가 이렇게 여러 종류인가

여기서부터가 진짜 헷갈리는 부분이다.

예를 들어 4비트라고 해도 이런 식으로 다시 갈린다.

  • Q4_K_M
  • IQ4_XS
  • IQ4_NL
  • MXFP4
  • nvfp4

겉으로는 전부 4비트인데, 실제로는 어떤 값을 더 보존하고, 어떤 단위로 묶어서 압축하고, 스케일을 어떻게 잡는지가 다르다.

즉 “4비트”는 대분류일 뿐이고, 그 뒤의 접미사가 세부 성격을 정한다.


3. Q와 IQ 차이: 그냥 압축하느냐, 중요한 곳을 덜 깎느냐

GGUF 계열에서 자주 보이는 구분이 QIQ다.

  • Q: 일반적인 양자화
  • IQ: 중요도 기반 양자화

핵심은 단순하다. IQ모든 값을 똑같이 줄이지 않고, 중요한 부분은 조금 더 보존하려는 계열이다.

그래서 같은 4비트라도 보통은 이렇게 받아들여진다.

  • Q4_*: 표준형 4비트
  • IQ4_*: 4비트인데 품질 보존을 더 노린 쪽

실사용 관점에서는 같은 용량이면 IQ 쪽이 더 낫다고 느끼는 경우가 많다. 특히 24GB 같은 제한된 메모리에서 “무조건 더 작은 것”보다 “같은 크기에서 덜 망가지는 것”이 중요해진다.

다만 이건 어디까지나 계열 설명이다. 실제 품질은 모델 구조, 변환자, 배포자가 사용한 설정에 따라 달라진다.


4. K는 무엇인가: 레이어별로 다르게 압축하는 쪽

Q4_K_M, Q5_K_S 같은 이름의 K도 자주 보인다.

이건 대체로 한 가지 방식으로 전체를 균일하게 누르는 대신, 레이어나 블록 특성에 따라 압축을 더 정교하게 나눈 계열로 이해하면 편하다. 실전에서는 오래된 단순 Q4_0류보다 Q4_K_* 쪽이 더 선호되는 경우가 많다.

즉 이런 느낌이다.

  • Q4_0: 예전의 단순한 4비트
  • Q4_K_M: 좀 더 다듬어진 현대적인 4비트

같은 4비트라도 K 계열이 보이면 보통 그쪽부터 보게 된다.


5. XS, S, M, XL은 무엇인가

이건 옷 사이즈처럼 생각하면 된다.

  • XXS, XS: 더 공격적으로 줄인 쪽
  • S
  • M: 대개 균형형
  • L, XL: 용량을 더 쓰고 품질 보존을 노린 쪽

예를 들어 Q4_K_MQ4_K_XL이 있으면, 둘 다 4비트지만 XL 쪽이 대체로 더 크고 품질 보존 쪽으로 기운다. 반대로 XS는 더 빡세게 압축한 쪽이다.

그래서 이름만 봐도 어느 정도 감이 온다.

  • 작고 가볍게 돌리고 싶다 → XS, S
  • 균형을 원한다 → M
  • 메모리가 허용하는 선에서 최대한 품질을 챙기고 싶다 → XL

6. MXFP4와 NVFP4는 왜 따로 특별 취급받나

이 둘은 단순히 “4비트 하나 더”가 아니라, 최근 계열의 더 정교한 4비트 표현 방식으로 보는 편이 맞다.

내가 이해한 핵심은 이렇다.

  • 일반 4비트: 숫자를 거칠게 줄인다
  • MXFP4: 더 작은 단위로 나눠 각 구간에 맞게 스케일을 잡는다
  • NVFP4: 그보다 더 공격적으로 정밀도를 보존하려는 최신 계열

그래서 같은 4비트라도 기대치는 보통 이렇게 올라간다.

일반 4bit < MXFP4 < NVFP4

즉 “용량은 4비트급인데, 머리는 일반 4비트보다 덜 망가졌으면 좋겠다”는 요구에 맞춰 나온 쪽이다.

특히 Apple Silicon용 MLX 변환본이나 최신 배포본을 보다 보면 mxfp4, mxfp8, nvfp4 같은 이름이 점점 늘고 있는데, 그 이유가 여기에 있다. 같은 메모리 예산에서 더 나은 품질을 뽑으려는 경쟁이다.


7. it는 사실 비트보다 더 중요할 수도 있다

모델명에 붙은 itInstruction Tuned의 약자다.

이건 양자화 방식이 아니라, 모델이 사용자 지시를 따르도록 후처리 학습이 되었는지를 뜻한다.

차이는 꽤 크다.

  • it 없음: 문장 이어쓰기 성향이 강한 베이스 모델
  • it 있음: 질문에 답하고, 요약하고, 지시를 수행하는 챗봇형 모델

실제로 일반 사용자가 원하는 건 대부분 it다.

  • 대화
  • 코드 도움
  • 번역
  • 요약
  • 질의응답

이런 용도라면 거의 무조건 it가 붙은 모델을 고르는 편이 맞다. it가 없는 모델은 보통 연구용, 파인튜닝용, 특수 목적 튜닝용 재료에 가깝다.

한마디로 정리하면 이렇다.

  • it 있음: 비서
  • it 없음: 원재료

8. 파일명 앞의 UD- 같은 건 표준이 아니다

여기서 한 가지 주의할 점이 있다.

예를 들어 이런 이름:

  • UD-IQ4_XS
  • UD-Q4_K_M

IQ, Q, K처럼 널리 쓰이는 표기와 달리, 앞의 접두사(UD- 등)는 배포자나 변환자가 붙인 이름일 수 있다. 즉 이 부분은 업계 공통 표준이라고 보기 어렵다.

이럴 때는 앞의 접두사보다 뒤의 핵심 패턴을 읽는 편이 낫다.

  • IQ4_XS
  • Q4_K_M
  • Q5_K_M

즉 파일명 전체를 외우기보다, 표준적으로 반복되는 조각을 읽는 습관이 더 중요했다.


9. 그럼 Mac Mini 24GB에서는 뭘 고르는 게 맞나

내 기준은 단순하다. 24GB라고 해서 24GB를 전부 모델에 쓸 수는 없다.

  • macOS가 메모리를 먹고
  • 브라우저, 에디터, 터미널도 먹고
  • 컨텍스트가 길어질수록 KV cache도 늘어난다

그래서 체감상 모델 자체는 13GB~17GB 사이가 가장 마음 편한 구간이다.

이 기준으로 보면 선택은 대략 이렇게 정리된다.

가장 무난한 추천

  • IQ4_XS
  • IQ4_NL
  • Q4_K_M

이 구간은 대체로 24GB Mac에서 품질과 안정성의 균형이 좋다. 특히 긴 대화나 코딩처럼 컨텍스트가 계속 누적되는 작업에서는, 모델 파일 크기만 간신히 맞추는 것보다 여유 메모리가 남는 쪽이 훨씬 낫다.

품질을 조금 더 욕심내는 경우

  • MXFP4
  • Q4_K_XL

가능은 하지만, 다른 앱을 많이 띄우거나 세션이 길어지면 압박이 올 수 있다. “된다”와 “쾌적하다”는 다르다.

메모리가 너무 빡빡할 때

  • IQ3_*
  • Q3_K_*

품질 손실은 더 있지만, 속도와 안정성은 좋아질 수 있다. 응답이 너무 버벅이거나 스왑이 심하면 이쪽으로 한 단계 내리는 게 현실적이다.

굳이 피할 것

  • BF16
  • 일부 8bit

24GB 장비에서는 돌아가더라도 여유가 거의 없어서 실사용이 불편할 가능성이 높다.


10. 내 결론: 24GB 맥미니라면 4비트의 “좋은 버전”을 먼저 본다

결국 내가 내린 기준은 이거였다.

  • 챗봇처럼 쓸 거면 it
  • 24GB Mac이면 우선 4bit
  • 가능하면 IQK 계열
  • 최신 변환본이 있으면 MXFP4, NVFP4도 우선 검토

한 줄 추천으로 줄이면 이렇다.

  1. 가장 먼저 볼 것: it + IQ4_* 또는 it + Q4_K_M
  2. 최신 변환본이 좋게 나와 있으면: it + MXFP4 또는 it + NVFP4
  3. 너무 무겁거나 스왑이 생기면: IQ3_*로 한 단계 낮추기

중요한 건 “비트 숫자만” 보는 게 아니라는 점이다. 이제는 나도 모델명을 볼 때,

  • 몇 비트인지
  • it인지
  • Q인지 IQ인지
  • K인지
  • XS/M/XL 어느 쪽인지

이 다섯 개부터 먼저 읽는다. 이것만 익숙해져도 허깅페이스에서 파일 목록을 볼 때 훨씬 덜 막막해진다.

로컬 LLM을 만질수록 느끼는 건, 결국 이런 이름들이 다 내 장비에 맞는 현실적인 타협점을 고르기 위한 힌트라는 점이다. 특히 24GB 맥처럼 “아예 못 돌리는 건 아닌데 아무거나 고르면 바로 빡빡해지는” 환경에서는 더 그렇다.

이제 적어도 bf16, IQ4_XS, Q4_K_M, MXFP4, it 정도는 보고 어떤 성격의 파일인지 감이 온다. 그 정도만 돼도 모델 고르는 시간이 꽤 줄어든다.