에이전트 코딩 · 2026년 8월 24일 ★★★★

같은 그래픽카드에 같은 가중치를 올려 두고 어텐션 구현체만 바꿨더니 88,000 토큰에서 다음 토큰이 15~20% 갈렸어요 — 정작 저자는 'BF16과 달라진 게 더 나빠진 건 아니에요'라고 못 박아 뒀어요

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 공식 문서

원본 보기 (hn:top-stories)