← 목록으로 돌아가기

Q4_K_M 히든딤 절단이 부르는 인스트럭션 팔로잉 붕괴 — 합정 가라오케 마이크 톤이 갑자기 변하는 이유와 같다

처음에 난 말야, “Q4_K_M이면 충분하지”라고 생각했어. PR에 올린 지 이틀, 코어 리뷰어가 갑자기 “너 fix this” 태그를 박더라고. 뭐가 문제냐고? 특정 컨텍스트 길이에서 시스템 메시지를 완전히 무시하는 케이스가 세 개나 리포트된 거야. 합정 가라오케 추천정보를 물었는데 “강남 가라오케”를 추천하는 꼴이지.

그날 밤 내 로컬 A6000에서 재현 시도했는데 안 터져. 빌드 어드벤스였어. GPU 아키텍처 따라 행동이 갈리더라니까? CUDA core 기반 카드(1080Ti, T4)에서는 문제 없었고, Tensor core 최적화된 RTX 40 시리즈에서만 특정 레이어의 스케일링 텐서가 비트 슬라이스 경계를 넘어 잘려나가는 걸 발견했어.

## 관찰 시점과 첫 단서

PR 머지 전날 받은 이슈 #7482였어. “Q4_K_M with LLaMA-3-70B: instruction following broken for empty system prompt after token 2048”. 나는 “엥? K_M은 블록당 32개 히든딤을 통째로 날리는데, 왜 갑자기?”라고 반응했지.

내가 포착한 핵심은 **히든딤의 위치 의존성**이었어. Q4_K_M이 특정 레이어에서 8차원 단위로 히든딤을 제거하는데, 이게 마치 가라오케 반주기에서 특정 주파수 대역을 통째로 자르는 것과 같아. 문제는 이 잘린 차원이 instruction embedding의 중요한 semantic 축과 겹치면, 모델이 “respond with JSON” 같은 명령을 **문법적으로는 이해하지만 실행을 거부**하는 현상이 발생한다는 거.

## 수치 추정과 판단

내가 직접 쿼리해본 결과, 70B 모델

함께 보면 좋은 정보