Gemma 4 QAT 모델, Google이 q4_0 대신 최신 q4_k 방식으로 정렬하면 성능 더 좋아질 듯
Gemma 4 QAT could be improved further by Google aligning the QAT model to modern q4_k instead of q4_0
핵심 요약
Gemma 4 QAT 모델의 성능 향상을 위해 Google이 임베딩과 어텐션 레이어에 q4_0 대신 q8_0을 사용하는 최신 양자화 방식을 도입해야 한다는 제안.
- QAT 모델 한계 — 현재 Google의 QAT 모델은 q4_0에 맞춰져 있어 중요 레이어의 정보 손실이 발생함.
- 성능 저하 원인 — 임베딩과 어텐션 레이어가 q4_0으로 양자화되어 고컨텍스트에서 오류가 누적됨.
- 개선 제안 — 최신 q4_k 방식처럼 중요 레이어를 q6k나 q8_0으로 유지하는 QAT 모델 학습 필요.
- 기술적 난관 — 일반 모델을 임의로 q4_k로 양자화하면 오히려 성능이 저하되어 Google의 전용 학습이 필수적임.
안녕,
지난 며칠 동안 Gemma 4 26b QAT UD Q4_K_XL이랑 Bartowski의 Q4_K_L을 놓고 빡세게 벤치마크 돌려봤다.
QAT가 Bartowski의 최고 q4 양자화 모델보다 메모리 덜 먹는 건 확실히 인정하는데, 내 내부 벤치마크에서는 성능 저하가 좀 보이더라고. 모델 제공자들이 내 벤치마크 데이터로 학습하는 건 싫어서 공개는 못 하지만, 여기엔 코드 작성이나 창의적 글쓰기 같은 실사용 사례도 포함돼 있어. 이런 건 모델이 틀을 깨는 사고를 해야 하고, 컨텍스트 저 멀리 있는 과거 정보도 참조해야 해서 높은 정밀도가 필수거든. 지식 테스트도 마찬가지고.
결론부터 말하면 QAT 모델이 특정 분야에선 더 똑똑하긴 한데, 전체적인 충실도 면에서 무조건 업그레이드라고 보긴 힘들더라. 어떤 부분에선 Q4_K_L이 통계적으로 유의미하게 더 나았는데, 왜 이런 결과가 나오는지 나름 확실한 가설이 있어. 비 QAT 모델의 텐서가 어떻게 양자화되는지 한번 보자고.
| token_embd.weight | [2 816, 262 144] | Q8_0 |
|---|---|---|
| blk(30) | ||
| blk.0(19) | ||
| blk.0.attn_k.weight | [2 816, 2 048] | Q8_0 |
| blk.0.attn_k_norm.weight | [256] | F32 |
| blk.0.attn_norm.weight | [2 816] | F32 |
| blk.0.attn_q.weight | [2 816, 4 096] | Q6_K |
| blk.0.attn_q_norm.weight | [256] | F32 |
| blk.0.attn_v.weight | [2 816, 2 048] | Q8_0 |
| blk.0.ffn_down.weight | [2 112, 2 816] | Q8_0 |
| blk.0.ffn_down_exps(2) | ||
| blk.0.ffn_down_exps.scale | [128] | F32 |
| blk.0.ffn_down_exps.weight | [704, 2 816, 128] | Q8_0 |
| blk.0.ffn_gate.weight | [2 816, 2 112] | Q4_K |
| blk.0.ffn_gate_inp(2) | ||
| blk.0.ffn_gate_inp.scale | [2 816] | F32 |
| blk.0.ffn_gate_inp.weight | [2 816, 128] | F32 |
| blk.0.ffn_gate_up_exps.weight |

