LLM을 파인튜닝 없이 한 번의 추론으로 결정 모델로 바꾸는 방법이다.

Hacker News14일 전조회 9

소프트웨어가 LLM에게 던지는 질문 중 상당수는 생성이 아니라 선택이다. "이 티켓은 어느 팀이 맡아야 하나", "이 조항은 책임 조항에 들어가나" 같은 것들이다. 이때 필요한 건 그럴듯한 문장이 아니라 정해진 선택지 중 하나와, 그 선택에 대한 확신도다. 공개된 한 실험은 GLM-5.3-Flash 같은 범용 LLM을 별도 학습 없이, 모델이 배포된 그대로의 상태에서 한 번의 포워드 패스만으로 이런 결정 모델로 바꿀 수 있다고 주장한다.

방법의 핵심은 LLM이 JSON 객체 전체를 쓰도록 놔두지 않는 데 있다. 프롬프트에 상태·질문·선택지를 JSON으로 담고 각 선택지에 인덱스를 붙인 뒤, 어시스턴트의 답변을 `choice_index:`까지만 미리 채워 넣는다. 그러면 모델이 실제로 만들어내는 첫 토큰이 곧 선택지 인덱스가 된다. 출력의 형태를 이미 알고 있으니 굳이 전부 생성할 이유가 없다는 발상이다.

그다음 단계가 이 접근의 진짜 요점이다. 모델이 뱉은 토큰을 읽는 대신, 그 위치에서 모델이 각 인덱스 토큰에 부여한 로그 확률을 읽는다. 선택지들에 대해 재정규화하면 각 답에 대한 확률 분포가 되고, 가장 확률이 높은 것을 고르면 된다. temperature 0, max_tokens 1이면 충분하다. 1에 가까울수록 확신이 크고 0에 가까울수록 선택지들이 비슷하다는 뜻인 신뢰도 값이 덤으로 따라온다.

구현은 vLLM 위에서 이뤄졌다. `/chat/completions` 엔드포인트를 `continue_final_message`와 `add_generation_prompt: false`와 함께 호출해, 미리 채워둔 어시스턴트 턴을 이어 쓰게 한다. vLLM의 `allowed_token_ids`로 출력 어휘를 허용된 선택지로 제한할 수 있지만, 이는 필수 조건이 아니라 안전장치 성격이다. 주의할 점도 있다. `top_logprobs`는 제한이 적용되기 전 분포를 돌려주기 때문에 앞 공백 같은 포맷 토큰이 상위 자리를 차지하고 일부 선택지가 확률 0으로 보이는 착시가 생긴다. vLLM의 `logprob_token_ids`가 원하는 토큰 id의 로그 확률을 정확히 돌려주면서 이 문제를 해결한다.

토크나이저도 변수다. 숫자가 항상 단일 토큰인 것은 아니어서, GLM-5.3-Flash는 12를 하나의 토큰으로 갖는다. 모델마다 전용 토크나이저를 배포하는 대신 서버에서 토큰 id를 받아오는 방식(`/completions`에 `echo`)을 택해, 어떤 모델에도 붙일 수 있게 했다.

이런 시도가 나온 배경에는 기존 방식의 비용 구조가 있다. 기본적인 접근으로도 LLM은 정해진 형식의 답을 꽤 안정적으로 내놓는다. 문제는 매 결정마다 JSON 객체를 통째로 써야 하고, 추론 모델이라면 그 전에 수백 토큰을 생각할 수도 있다는 점이다. 신뢰도는 별도로 물어보지 않는 한 알 수 없다. 처리량이 많은 환경에서는 이 지연과 비용이 결정적 걸림돌이 된다. Jev, Laya 같은 전용 결정 모델, 이른바 System One 모델이 바로 이 지점을 겨냥해 등장했다.

평가는 공개 데이터셋으로 구성한 자체 벤치마크로 진행됐다. 결과적으로 이 설정은 TypeSafe의 Jev와 대등한 수준의 결정 정확도와 속도를 보였다고 한다. 벤치마크 저장소에는 방법론과 동결된 데이터셋 명세, 하네스, 집계 방식이 함께 공개돼 있어 글에 실린 수치를 다시 계산해볼 수 있다. 덧붙여 GLM-5.3-Flash 쪽은 이미지에 대한 타입 결정도 가능한데, 이는 Jev로는 할 수 없는 부분이다.

실무적으로 가장 눈에 띄는 변화는 결정마다 확률 분포를 얻는다는 점이다. 예컨대 확률이 일정 임계값 아래로 내려갈 때만 사람을 개입시키는 식의 설계가 가능해진다. 응답은 보통 수백 밀리초 안에 돌아오며, 브라우저에서 바로 실험해볼 수 있는 플레이그라운드도 제공된다. 이 플레이그라운드는 스캔한 청구서나 로컬 시간에 의존하는 질문 같은 예시를 포함하고, 입력 내용은 종단간 암호화된다고 설명한다.

한계도 분명히 밝혀져 있다. 모델은 전형적인 함정 질문을 대부분 맞히지만 전부는 아니다. 또 이 접근은 선택지 집합이 미리 정해져 있고 출력의 형태를 알고 있다는 전제 위에 서 있다. 선택지가 열려 있거나 형태를 예측할 수 없는 작업에는 그대로 적용하기 어렵다.