아티클 목록으로
추론·배포

같은 모델인데 로컬 버전이 둔해지는 이유, 추론 스택의 수치 차이

약 3분 소요

들어가며

같은 가중치를 사용하는데도 로컬에서 실행하면 모델이 더 둔해 보이는 이유는 무엇일까. Level1Techs 포럼 사용자 thr3e의 실험은 원인이 모델 가중치가 아니라 추론 스택일 수 있음을 보여준다. 실험은 RTX PRO 6000 Blackwell에서 Qwen3.6-27B를 실행하고, 실제 에이전트 워크플로에서 10만 토큰이 넘는 로그릿을 수집했다. 비교 대상은 어텐션 백엔드, KV 캐시 정밀도, 가중치 양자화 방식, 텐서 병렬 설정이었다.

로그릿은 각 후보 토큰에 대한 모델의 원시 점수다. 동일한 가중치와 입력이라면 같은 값이 나와야 하지만, 부동소수점 정밀도, 누산 순서, CUDA 커널, GPU 간 리덕션 방식이 미세한 차이를 만든다. 짧은 입력에서는 드러나지 않던 차이가 긴 문맥에서 누적되면 이후 선택 자체가 달라질 수 있다.

핵심 내용

  • 어텐션 백엔드가 출력을 바꿀 수 있다. FlashAttention 2, Flash Inference, Triton Attention은 초반 수천 토큰에서 거의 같은 결과를 냈지만, 문맥이 길어지자 Top-1 선택이 갈라졌다. 한 도구 호출 사례에서는 인터페이스 이름이 잘못 생성됐고, 이어지는 명령에도 오류가 발생했다.
  • KV 캐시 압축은 장문맥에서 위험할 수 있다. 보고된 실험에서 BF16은 안정적이었다. INT8은 일부 토큰이 달라졌지만 관찰된 사례에서는 회복했고, INT4는 차이가 크게 늘면서 도구 호출 흐름을 되돌리지 못했다.
  • 비트 수가 낮다고 항상 좋은 것은 아니다. 테스트된 커뮤니티 INT8 W8A16은 공식 FP8과 NVFP4보다 높은 Top-1 일치도를 보였다. BF16 활성값을 유지하고 일부 민감한 층을 양자화에서 제외한 점이 요인으로 분석됐다. 다만 이는 특정 실험의 결과이며 모든 모델과 GPU에 적용되는 순위는 아니다.
  • 다중 GPU도 결과에 영향을 준다. 같은 BF16 가중치라도 TP1, TP2, TP4 설정에서 결과가 달랐다. 실험은 NCCL의 GPU 간 리덕션에서 발생하는 수치 차이와 관련이 있다고 설명했다.

의미와 영향

추론 결과를 결정하는 것은 체크포인트 하나가 아니다. 컨테이너에는 Python, CUDA, 통신, 컴파일 관련 소프트웨어가 포함되며, 이들이 실제 계산 경로를 결정한다. 따라서 참조 체크포인트, 실행 환경, 문맥 길이, 샘플링 위치, 교정 데이터, 집계 방식이 공개되지 않은 KL 발산 수치는 직접 비교하기 어렵다.

이 결과가 양자화나 로컬 배포를 포기해야 한다는 뜻은 아니다. 다만 코드 실행, 도구 사용, 장문맥 에이전트를 평가할 때 짧은 질의응답만으로는 부족하다는 의미다. 개발자는 버전과 설정을 고정하고 어텐션 백엔드, KV 정밀도, 양자화 구현, 병렬도, 드라이버, 하드웨어를 기록해야 한다. 이후 자신의 작업 데이터에서 로그릿 또는 행동 회귀 테스트를 수행해야 한다. 앞으로의 모델 평가는 어떤 모델인지뿐 아니라 어떤 추론 스택에서 실행됐는지도 함께 설명해야 할 가능성이 크다.

출처: QbitAI

댓글

로그인 상태 확인 중…

댓글 불러오는 중…

관련 게시물