Level1Techs 포럼에 올라온 측정 기록이 해커뉴스 417점·댓글 171개를 받았어요. 같은 그래픽카드 한 장에 큐원3.6-27B의 BF16 가중치를 그대로 올려 두고 어텐션 계산을 맡는 구현체만 Triton·FlashAttention2·FlashInfer로 바꿨더니 처음 수천 토큰까지는 세 쪽이 다음 토큰을 똑같이 골랐다가 저자 측정 그래프에서는 88,000 토큰 부근에서 15~20%가 갈렸고, 양자화 형식으로 비교하면 INT8이 약 5%인 데 비해 NVFP4는 약 50%까지 벌어지면서 도구 호출을 제대로 닫지 못했어요. 정작 저자는 'BF16은 수치 충실도 기준선일 뿐 정답표가 아니고, 양자화 모델이 BF16과 갈라지면서 오히려 더 나은 답을 낼 수도 있다'고 못 박아 뒀고, 해커뉴스 댓글에서 거듭 지목된 원인은 구현체가 아니라 GGUF 변환에서 챗 템플릿이 빠져 기본값으로 되돌아가는 것과 모델 카드가 권장하는 온도 같은 샘플링 설정을 안 맞추는 쪽이었어요.
- BF16
- 가중치를 16비트로 그대로 두는 형식. 양자화하지 않은 기준선으로 쓴다.
- INT8
- 가중치를 8비트 정수로 줄인 양자화 형식. 4비트보다 정밀도 손실이 적다.
- NVFP4
- 엔비디아 계열의 4비트 부동소수점 양자화 형식. 용량은 크게 줄지만 손실이 크다.
- KV 캐시
- 이미 처리한 토큰의 중간 계산값을 담아 두는 메모리. 이것만 따로 낮은 정밀도로 줄일 수도 있다.
- GGUF
- llama.cpp 계열에서 쓰는 모델 파일 형식. 변환 과정에서 설정 정보가 빠질 수 있다.
로컬 모델로 긴 컨텍스트 에이전트 작업을 돌린다면 모델을 갈아타기 전에 지금 쓰는 어텐션 구현체·양자화 형식·KV 캐시 정밀도부터 적어 두세요. 저자 측정에서 차이는 짧은 프롬프트엔 안 보이다가 컨텍스트가 길어질수록 벌어졌고, 도구 호출을 닫지 못한 건 4비트 계열이었어요. 다만 '다르다'가 '나쁘다'는 아니라고 저자가 직접 적었으니, 먼저 손댈 곳은 챗 템플릿과 샘플링 설정을 모델 카드대로 맞추는 일이에요.
- 해커뉴스 토론 — 원인은 추론 구현체가 아니라 설정이라는 반론 GGUF로 바꾸는 과정에서 챗 템플릿 정보가 빠지면 실행기가 조용히 기본 형식으로 되돌아가고, 모델 카드가 권장하는 샘플링 설정도 대부분의 도구 기본값과 다르다는 지적이 여러 갈래로 올라왔어요. Hacker News
- 확인 — 흔한 실패 원인으로 지목된 기본 컨텍스트 값 Ollama 공식 문서는 기본 컨텍스트 창을 4,096 토큰이라고 적어 두고 있어서, 이 글이 다루는 88,000 토큰짜리 작업은 설정을 바꾸지 않으면 애초에 들어가지도 않아요. Ollama 공식 문서