Hacker News인프라 · 데브옵스

vLLM에서 도구 호출 정확도를 100%로 높이는 방법

원제 Fixing Tool-Call Accuracy in vLLM

118 포인트댓글 62
Key Point

오픈소스 추론 엔진의 기본 설정만으로는 도구 호출 정확도가 92%대에 머물러 에이전트 기반 애플리케이션의 품질을 심각하게 떨어뜨리는데, vLLM의 제약된 디코딩 기능으로 이를 100%로 보장할 수 있다는 실제 사례와 방법을 보여준다.

핵심 요약

  • Kimi K2.6을 vLLM 0.28에서 제공할 때 도구 호출 스키마 정확도가 92%에 불과해 25회 중 2회 호출이 실패했다.
  • 에이전트 워크로드에서 도구 호출 오류가 쌓이면 올바르지 않은 맥락이 누적되어 결과 품질이 크게 떨어지고 재시도 비용이 증가한다.
  • 언어 모델은 확률 기반으로 토큰을 생성하므로 명확한 프롬프트에도 불구하고 잘못된 도구 호출을 생성할 수 있으며, 훈련 데이터의 불일치(예: search_web vs web_search)로 인해 존재하지 않는 도구나 필드를 만들 수 있다.
  • vLLM 0.25에서 추가된 제약된 디코딩(constrained decoding) 기능은 XGrammar 라이브러리의 구조 태그를 사용해 생성 단계마다 유효한 토큰만 샘플링하도록 제한해 스키마 준수를 보장한다.
  • 제약된 디코딩은 GPU에서 효율적으로 실행되도록 토큰 마스크를 사전 계산해 성능 오버헤드를 무시할 수 있는 수준으로 유지한다.
  • vLLM이 다양한 모델을 지원해야 하기 때문에 제약된 디코딩을 기본적으로 비활성화했고, vLLM 0.31에서 --tool-strict-level 플래그를 추가해 사용자가 필요시 활성화할 수 있도록 했다.
  • 우비클라우드는 Kimi와 DeepSeek 모델을 제1 제공자 수준의 품질로 제공하는 것을 목표로 해 제약된 디코딩을 활성화하고 K2VV ToolCall 벤치마크로 100% 스키마 정확도를 검증한 후 프로덕션에 배포했다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗