원문 캡처 · pncnmnp.github.io
원문 캡처 · pncnmnp.github.io

결정 모델은 직접 만들까, 구매할까

*결정 모델은 선택지와 확률을 함께 출력해 비용에 따라 답변하거나 더 비싼 모델로 넘길 수 있다.

가정의 신중한 가장이라면 무엇이든 직접 만들기보다 사는 편이 더 저렴한지 따져야 한다. 구두장이가 신발을 만들고 재단사가 옷을 만들듯, 각자는 자신이 더 잘하는 일에 집중하고 필요한 것은 다른 이에게서 구한다.

— 애덤 스미스, 『국부론』 (1776)

최근 몇 주 동안 Jev와 특히 결정 모델이 화제가 됐다. 관심이 조금 가라앉은 지금, 이 기술이 어디로 향할지 체계적으로 살펴보고 전망해 본다.

결정 모델의 핵심은 출력 형식이다. 출력은 세 가지로 나뉜다. choice는 고정된 선택지마다 확률을 내놓고, 확률의 합은 1이다. score는 순서가 있는 등급 목록을 기준으로 평가하며, 각 등급의 확률을 가중치로 삼아 평균 점수를 계산한다. noul은 어떤 진술이 참일 확률을 0에서 1 사이의 수로 반환한다. Bernoulli 시행에서 이름을 따왔다는 말도 있다.

다음은 OpenRouter에서 제공하는 Jev 1.13을 이용한 예다.

REQUEST: {
 "model": "typesafe/jev-1.13",
 "state": "Some damn good curly fries - seasoning was something.",
 "questions": {"answer": {"type": "score", "instructions": "How enthusiastic is the reviewer?",
 "criteria": ["Lukewarm", "Happy", "Thrilled"]
}}}
RESPONSE: {
 "model": "typesafe/jev-1.13-20260917",
 "answers": {"answer": {"type": "score", "score": 1.48, "legend": {"0": "Lukewarm", "1": "Happy", "2": "Thrilled"},
 "probabilities": {"0": 0, "1": 0.51, "2": 0.49},
 "confidence": 0.27}},
 .....
}

이 방식에는 몇 가지 특징이 있다. 먼저 질문 전에 가능한 답을 정하므로 출력이 명확하다. 모든 답에 확률이 붙어 있어 확률을 계산에 활용할 수 있다. 비용은 입력 상태를 읽고 입력 토큰을 처리하는 데서 주로 발생하며, 출력 토큰은 사실상 무료다. 위 예에서 일반적인 대형 언어 모델(LLM)이 입력 토큰 250개와 출력 토큰 50개를 사용한다고 가정하고, 이런 요청 40만 건을 처리하면 입력 토큰 1억 개와 출력 토큰 2천만 개가 든다. 이 비용은 GPT-5 nano에서 13달러, 캐시된 토큰을 쓰면 8.5달러인 반면 Jev에서는 4.2달러라는 단순 계산이 나온다. 결정 모델은 속도도 빠르다.

이 방식은 결정 계층(decision hierarchy)이라는 새로운 메모리 계층으로 이어질 수 있다. 컴퓨터의 메모리 계층은 빠르고 비싼 캐시, 중간 속도와 비용의 메인 메모리, 느리고 저렴한 저장장치로 구성된다. 운영체제는 이 계층을 추상화해 관리한다.

LLM에도 비슷한 구조를 적용할 수 있다. 손으로 작성한 규칙과 과거 답변을 같은 질문·상태에 대해 정확히 또는 의미상 일치시키는 방식으로 구성한 L-cache가 있다고 하자. 그러면 Jev와 결정 모델은 RAM, LLM은 디스크, 사람은 자기 테이프에 해당한다. 각 계층은 자신이 확신하는 사례를 처리하고, 처리하지 못한 사례를 아래 계층으로 넘긴다.

컴퓨터 메모리 계층과 결정 계층을 비교한 그림이 제시돼 있다.

그렇다면 확신의 정도와 넘길 기준은 어떻게 정할까? 1970년 제안된 초(Chow)의 규칙을 적용할 수 있다. 클래스가 n개인 분류기 C가 각 입력에 대해 클래스별 확률을 낸다고 하자. 가장 높은 확률이 1에 가까우면 모델은 결정을 확신하고, 실수가 드물다. 반대로 모든 클래스의 확률이 1/n에 가까우면 어느 답을 골라도 추측에 가깝다. 불확실한 입력에서 오류가 생기므로, 이를 줄이려면 결정 모델에서 LLM으로, 최악의 경우 사람으로 넘겨 더 높은 수준의 판단을 구해야 한다. 질문이 형식적인 의미가 아니라 철학적으로 NP에 가까울수록 모호하지 않은 판단을 내리는 데 더 높은 수준의 지능이 필요하다. 철학적으로 NP라는 개념을 참고할 수 있다.

간단한 방법은 임계값 T를 두는 것이다. 가장 높은 확률을 p_max라고 할 때 p_max ≤ T이면 답을 거부하고 다음 계층으로 넘긴다. p_max > T이면 확률이 가장 높은 답을 내놓는다. T를 1/n에서 1까지 높이면 넘기는 입력이 많아지고, 답한 사례의 오류는 줄어든다.

하지만 이 방식은 답변과 거부의 비용을 고려하지 않는다. 오답 비용이 1, 거부 비용이 F, 정답 비용이 0이라고 하자. 클래스 k를 답으로 고르면 오답일 확률은 1 - p_k다. 오답 확률은 가장 높은 확률을 가진 클래스에서 가장 낮으므로, 1 - p_max < F일 때만 답해야 한다.

예를 들어 거부 비용 F가 0.2이고 p_max가 0.6이면 답할 때의 기대 오답 비용은 0.4인 반면 거부 비용은 0.2다. 따라서 답하지 않고 다음 계층으로 넘기는 편이 낫다.

거부 비용 F는 다음 계층에 넘기는 비용으로 계산할 수 있다. 여기에는 다음 계층의 오류 비용(NX_errcost), 입력을 평가하는 비용(NX_price), 다음 계층 자체의 오류율(NX_err)이 들어간다.

소프트웨어 티켓 100건을 처리한다고 하자. Jev가 모든 티켓에 대해 결정 확률 0.6을 보이고, 잘못 배정된 티켓 하나의 비용이 2달러라고 가정한다. LLM은 티켓당 0.01달러를 받고 5%의 확률로 틀리며, LLM 단계에서 오류가 생길 때의 비용도 2달러다.

  • Jev가 100건 모두 처리하면 40건이 틀린다. 비용은 40 × 2달러, 즉 80달러다.
  • 100건 모두 LLM에 넘기면 평가 비용은 1달러다. 5건의 오답 비용은 10달러이므로 합계는 11달러다.

티켓당 비용은 Jev가 답할 때 0.80달러, LLM으로 넘길 때 0.11달러다. Jev 비용은 어느 선택을 하더라도 이미 지불하는 비용이므로 비교에서 제외한다.

다음 계층으로 넘기는 비용을 일반화하면, 오류율 5%는 티켓당 0.05건의 오답에 해당한다. 평가 비용 0.01달러를 오답 비용 2달러로 나누면, 평가 비용은 오답 0.005건에 해당한다. 따라서 F = NX_err + NX_price / NX_errcost가 된다. 이를 앞의 식에 넣으면 초의 규칙은 다음과 같다.

1 - p_max < NX_err + NX_price / NX_errcost

위 사례에서는 1 - p_max = 0.4이고, NX_err + NX_price / NX_errcost = 0.05 + 0.005 = 0.055다. 0.4가 0.055보다 크므로 다음 계층으로 넘긴다. 이는 앞서 비교한 0.80달러와 0.11달러의 계산과 같은 결론이다.

오류 비용이 크면 LLM 가격은 결정에 거의 영향을 주지 않는다. NX_price / NX_errcost가 0에 가까워져 결국 어느 쪽이 더 정확한지가 중요해지기 때문이다. 반대로 오류 비용이 낮으면 NX_price / NX_errcost가 LLM의 오류율보다 커질 수 있다. 이때는 오답 비용이 NX_price / NX_err보다 낮을 때 LLM의 가격이 오류보다 더 큰 고려 요소가 된다. 위 사례에서는 그 기준이 0.01달러를 0.05로 나눈 20센트다. 오답 하나가 2달러인 티켓에서는 가격보다 정확도가 중요하다.

애덤 스미스의 말을 빌리면, 대가로 치르는 것보다 얻는 것이 클 때만 직접 처리하면 된다. 결정 계층에서 LLM은 ‘오답을 줄이는 일’을 판다. 각 계층은 가격, 오류율, 오류 하나의 비용이라는 세 가지 수치로 볼 수 있다. 다음 계층이 절약해 주는 비용과 청구하는 비용이 같아지는 지점이 손익분기점이다.

지금까지는 각 계층의 판단이 오류 없이 작동한다고 가정했다. 초의 규칙은 해당 계층이 확신하지 못하는 입력만 다음 단계로 보낸다. 하지만 실제로는 확신에 찬 오답도 나올 수 있으며, 두 계층의 학습 데이터가 비슷하면 이런 문제가 특히 생길 수 있다. 이를 줄이는 방법으로 무작위 감사를 할 수 있다. 예를 들어 Jev가 확신한 결정 중 무작위로 1%를 다음 계층에 보내면 오류율을 더 정확히 추정하고 비용을 조정하는 데 도움이 된다.

또한 초의 규칙은 모든 오류의 비용이 같다고 가정하지만 실제로는 그렇지 않다. 법무팀에 보낼 티켓을 기술팀으로 잘못 보낸 경우는 기술팀에 보낼 티켓을 데이터 분석팀에 잘못 보낸 경우보다 비용이 훨씬 클 수 있다.

이를 반영할 때 NX_price와 NX_err는 출력 범주에 따라 달라지지 않는다고 가정할 수 있다. LLM은 티켓마다 같은 비용을 청구하고, 범주별 정확도가 같다면 오류율도 일정하기 때문이다. 따라서 오류 비용 NX_errcost만 범주별로 바꿔 규칙을 수정할 수 있다.

  1. 1 - p_max < NX_err + NX_price / NX_errcost
  2. (1 - p_max) × NX_errcost < NX_err × NX_errcost + NX_price (양변에 NX_errcost를 곱한다)
  3. 1 - p_max = Σ_{c ≠ max} p_c이고 1 = Σ_c p_c라고 둔다. 여기서 c는 범주를 뜻한다.
  4. Σ_{c ≠ max} p_c × NX_errcost < NX_err × Σ_c p_c × NX_errcost + NX_price
  5. NX_errcost ⇒ NX_errcost(c)
  6. Σ_{c ≠ max} p_c × NX_errcost(c) < NX_err × Σ_c p_c × NX_errcost(c) + NX_price
  7. C' = Σ_c p_c × NX_errcost(c)
  8. Σ_{c ≠ max} p_c × NX_errcost(c) = C' - p_max × NX_errcost(max)
  9. C' - p_max × NX_errcost(max) < NX_err × C' + NX_price (원래 식 형태로 되돌리기 위해 양변을 C'로 나눈다)
  10. 1 - p_max × NX_errcost(max) / C' < NX_err + NX_price / C'

모든 범주의 NX_errcost가 같다면 C' = NX_errcost다. 이 경우 원래의 초의 규칙인 1 - p_max < NX_err + NX_price / NX_errcost가 나온다.

수정된 규칙을 보여주는 그림은 Desmos에서 확인할 수 있다. 일반적인 형태에서 곡선은 y = 1 - a - b/x인 쌍곡선이며, x는 C', y는 식 오른쪽의 임계값, a와 b는 각각 NX_err와 NX_price다. 곡선은 음수가 되지 않도록 제한된다. 그림은 Claude's Opus 5.5 Extra 모델이 생성했다. Anthropic의 상업적 약관에 따라 결과물은 그림을 만든 쪽이 소유하며, 사실 정확성과 저작권 문제에 대한 책임도 그쪽에 있다.

기술, 분석, 법무 세 범주를 예로 들어 보자. LLM의 비용은 0.01달러, 오류율은 5%다. 입력의 범주별 확률은 기술 0.6, 분석 0.25, 법무 0.15라고 하자. 실제 범주가 기술일 때 오류 비용은 앞서와 같이 2달러, 분석일 때 2달러, 법무일 때 100달러다. 이런 말도 있다.

C'는 Σ_c p_c × NX_errcost(c), 즉 0.6 × 2달러 + 0.25 × 2달러 + 0.15 × 100달러로 16.70달러다. 가장 높은 확률의 범주는 기술이므로 기술이라고 답할 때의 비용은 C' - p_max × NX_errcost(Tech) = 15.5달러다. 다음 계층으로 넘기는 비용은 NX_err × C' + NX_price = 0.05 × 16.70달러 + 0.01달러 = 0.845달러다. 15.50달러가 0.845달러보다 크므로 다음 계층으로 넘긴다. 결론은 앞선 사례와 같지만, 법무 티켓일 확률 15% 때문에 직접 답하는 비용은 이전의 0.8달러보다 약 20배 커진다.

다만 새로운 규칙에는 한 가지 문제가 있다. 지금까지는 각 계층이 가장 확률이 높은 범주로 답할지, 다음 계층으로 넘길지 결정했다. 범주별 비용표를 도입하면 가장 확률이 높은 답이 항상 가장 저렴한 답은 아니다. 다른 범주로 답하는 편이 더 저렴한데도 다음 계층으로 넘기는 상황이 생길 수 있다.

같은 비용표(2달러, 2달러, 100달러)를 두고 확률이 기술 0.5, 분석 0.05, 법무 0.45로 바뀐다고 하자. C'는 46.10달러다. 다음 계층으로 넘기는 비용은 2.32달러이고, 가장 높은 확률의 기술이라고 답할 때의 비용은 45.10달러다. 반면 법무라고 답하는 비용은 1.10달러다. 따라서 법무로 배정하는 편이 2.32달러를 들여 다음 단계로 넘기는 것보다 저렴하다. 가장 높은 확률만 고려한다면 다음 계층으로 넘겼을 것이다.

수학적 계산대로 더 저렴한 범주에 배정할 수 있지만, 특정 부서로 너무 많이 보내면 대기열이 늘고 티켓을 무작정 넘기는 곳이 될 수 있다. 어느 계층의 모델 학습이 부실하면 이런 문제가 생길 수 있다. 감사를 활용해 법무팀이 많은 티켓을 되돌려 보내거나 대기열이 늘면 비용을 높이고, 실제 문제가 법무팀에 전달되지 않으면 비용을 낮출 수 있다.

이 분석은 Jev와 독립적인 결정 모델 사업자에게 위협이 될 수도 있다. Jev의 장점은 저렴한 가격, 속도, 확률 분포, 제한된 출력 형식이다. 그러나 이 장점은 인터페이스에서 비롯되며, 인터페이스는 복제할 수 있다. GPT-5 nano나 Gemini Flash Lite 같은 저렴한 LLM이 Jev보다 정확해지면, 사업자들은 해당 모델을 결정 모드로 호출할 수 있다. OpenAI의 Decisions API가 그런 사례다. 고객은 출력 토큰 비용을 내지 않고, 더 나은 지연 시간, 강력한 기반 모델의 후속 학습, 선택지별 실제 확률이라는 장점을 얻을 수 있다.

인터페이스와 달리 정직한 확률은 복제하기 어렵다. 이 점에서 Jev의 전문화된 학습이 우위를 보일 수 있다. 다만 앞으로 경쟁사들이 Jev의 시장 점유율을 상품화하고, 대형 LLM 사업자들이 이 인터페이스 시장에 대응하기 위해 출력 토큰 매출을 잠식할 것으로 예상한다.

일정한 형태의 보증을 붙인 결정 판매도 먼 이야기는 아니다. 현재 Riskified에서 비슷한 사례를 볼 수 있다. NX_price / C'가 0에 가까워지면 답을 어느 계층에서 낼지는 정확도만으로 결정된다. 이 경우 독립 결정 모델 사업자의 경쟁 우위는 ‘정직한 확률’과 ‘전문화된 학습’에만 달려 있어 매력적이지 않을 수 있다. 하지만 사업자가 분야별로 확률을 보정하고 계약상 일정한 보장을 제공한다면 상황이 다소 유리해질 가능성도 있다. 비용에 보험료와 자기부담금을 반영해 NX_price + premium + NX_err × deductible로 계산하는 방식을 생각할 수 있다.

아직 다루지 않은 주제는 지연 시간이다. 수정된 초의 규칙에 다음 계층의 응답 시간(초 단위)인 NX_latency와 초당 대기 비용인 wait_cost를 더할 수 있다. 답변 비용은 기존처럼 (1 - p_max) × NX_errcost로 두고, 다음 계층으로 넘기는 비용은 NX_price + NX_err × NX_errcost + wait_cost × NX_latency로 계산한다. 따라서 규칙은 (1 - p_max) × NX_errcost < NX_price + NX_err × NX_errcost + wait_cost × NX_latency가 된다. 양변을 NX_errcost로 나누면 1 - p_max < NX_err + (NX_price + wait_cost × NX_latency) / NX_errcost다. 범주별 출력에도 같은 방식으로 확장할 수 있다.

이 논의가 이어질 방향에는 여러 가능성이 있다. 멀티모달 입력은 결정 모델과 어떻게 결합할까? 이미지 영역을 격자로 나누고 지시에 맞는 칸을 고르게 할 수 있을까? 예를 들어 체리 콜라 캔이 있는 칸을 찾거나 교차로의 자동차 수를 셀 수 있을까? 오디오에서는 시간 구간을 잘라 미니 PC 가격을 이야기하는 제프 기얼링의 발언이 나오는 시점을 찾을 수 있을까? 이런 모델이 이미지와 오디오, 센서 데이터를 실시간으로 저렴하게 읽게 되면 로봇, 공장, 온디바이스 기기에서 활용할 수 있다.

미래는 흥미롭고, 흥미로운 것이 미래다.