LLM에게 신뢰도 점수를 요청하는 것은 나쁜 생각입니다: 캘리브레이션에는 프롬프트가 아닌 데이터가 필요한 이유

LLM에게 신뢰도 점수를 출력하도록 요청하는 것은 측정을 생성하지 않습니다. 다른 토큰이 생성되는 것과 같은 방식으로 생성된 그럴듯해 보이는 숫자를 생성할 뿐이며, 따라서 그 숫자가 모델의 실제 정확도를 반영한다는 보장은 없습니다. rumple.github.io에서 널리 논의된 블로그 게시물인 "LLM에게 신뢰도 요청하기"는 문서화된 기록을 기반으로 구축되고 실제 결과와 대조하여 확인되지 않는 한 LLM이 생성한 신뢰도 점수는 신뢰할 수 없다고 주장합니다. 또한 대규모 Hacker News 토론에서는 훈련 시간 캘리브레이션과 구조화된 프롬프트에 대한 몇 가지 중요한 반론이 추가되었습니다.

이 게시물은 Hacker News 홈페이지에 도달했으며 2026년 10월 22일에 토론 스레드에 대한 링크를 추가하기 위해 편집되었습니다. 이 기사는 원래 주장을 요약한 다음 댓글에서 제기된 가장 강력한 반론과 추가 사항을 종합합니다.

신뢰도 점수가 실제로 의미하는 것

신뢰도 점수는 예측에 대한 예측입니다. 예보관이 "내일 비가 올 확률이 70%라고 확신합니다"라고 말할 때, 그 70%는 비에 대한 의견이 아닙니다. 그것은 이용 가능한 정보가 비를 얼마나 강하게 가리키는지에 대한 요약입니다.

블로그 게시물은 그 정보를 두 부분으로 나눕니다: 현재 관측(기압, 습도, 바람, 레이더 구름)과 과거 기준율(이와 비슷해 보였던 날에 비가 얼마나 자주 왔는지). 그 정보를 숫자로 바꾸는 것은 이론적으로 판단이 아니라 계산입니다. 두 예보관이 동일한 정보를 가지고 동일한 규칙을 올바르게 적용한다면, 그들은 동일한 신뢰도에 도달해야 합니다. 예보관들이 의견이 다를 때, 그들은 서로 다른 정보를 가지고 있거나 그들 중 한 명이 규칙을 잘못 적용한 것입니다.

저자는 정보 내용이 중요한 곳을 보여주기 위해 두 번째 시나리오를 사용합니다. 2주 후의 날에 대해 질문을 받으면, 예보관은 그 날에 대한 관측이 없으며 계절적 기준율(예: 30%)만 보고할 수 있습니다. 날이 다가오고 관측이 축적됨에 따라 신뢰도는 0% 또는 100%로 이동할 수 있습니다.

신뢰도 점수가 정확한지 확인하는 방법

단일 예측은 신뢰도 점수를 검증할 수 없습니다. 왜냐하면 사건은 발생하거나 발생하지 않기 때문입니다. 검증은 동일한 명시된 신뢰도를 공유하는 많은 예측을 그룹화하고 명시된 비율을 관측된 비율과 비교해야 합니다.

예보관이 여러 날에 걸쳐 "70% 확신"이라고 말했고 그 중 약 70%에서 비가 왔다면, 그 점수는 캘리브레이션된 것입니다. 그 날들 중 40%에서만 비가 왔다면, 예보관은 과신한 것입니다. 90%에서 비가 왔다면, 예보관은 과소신뢰한 것입니다. 블로그 게시물은 1년 동안의 이 예시 기록을 제공합니다:

그들이 말한 것 날짜 수 비가 온 날짜 수 비율
10% 120 13 11%
30% 90 26 29%
70% 80 57 71%
90% 75 67 89%

모든 수준에서 관측된 비율은 명시된 신뢰도에 가깝기 때문에 예보관은 캘리브레이션된 것입니다.

캘리브레이션만으로는 충분하지 않습니다. 날씨를 완전히 무시하고 항상 30%(계절적 기준율)라고 말하는 예보관도 캘리브레이션된 것입니다. 왜냐하면 그 날들 중 약 30%에서 비가 오기 때문입니다. 그 예보관은 인스턴스 수준 정보를 전혀 사용하지 않으므로 숫자는 신호를 전달하지 않습니다. 표에 있는 더 나은 예보관은 대부분의 예측이 10% 또는 90% 근처에 모여 있기 때문에 캘리브레이션되고 유익합니다.

블로그 게시물은 세 번째로 쉽게 간과되는 요구 사항을 추가합니다: 누군가 모든 예측과 실제로 일어난 일을 기록해야 합니다. 그 기록이 없으면 신뢰도 점수가 정확한지 알 수 있는 방법이 없습니다.

따라서 두 가지 조건이 신뢰할 수 있는 신뢰도 점수를 정의합니다: 예측이 기반으로 하는 정보의 양을 반영하고, 동일한 종류의 질문에 대해 실제로 일어난 일과 대조하여 확인되었습니다.

LLM이 자체적으로 캘리브레이션된 신뢰도 점수를 생성할 수 없는 이유

LLM은 한 번에 하나의 토큰으로 텍스트를 생성하며, 각 토큰은 이전 토큰에 조건화됩니다. 이것이 "자기회귀"가 의미하는 바입니다. 사용자가 "얼마나 확신하세요?"라고 물으면 모델은 내부 게이지에서 값을 읽지 않습니다. 대화의 그럴듯한 연속이기 때문에 "0.85"라는 문자열을 토큰 단위로 작성합니다.

위의 용어로, 그 숫자는 두 가지 필수 속성 중 어느 것도 가지고 있지 않습니다. 측정이 아니라 텍스트의 연속이기 때문에 증거를 요약하지 않습니다. 그리고 명시된 신뢰도가 모델의 정확도와 일치하는지에 대한 질문에 대해 캘리브레이션된 적이 없습니다. 사전 훈련은 모델을 결과에 대해 점수를 매기지만, 점수가 매겨지는 결과는 텍스트의 다음 토큰입니다. 따라서 모델은 "다음에 오는 텍스트가 무엇인지"에 대해 어느 정도 캘리브레이션되어 있지 "내가 0.85라고 말할 때 얼마나 자주 맞는지"에 대해서는 캘리브레이션되어 있지 않습니다. 그것은 텍스트에서 신뢰도 점수가 어떻게 생겼는지 배웠습니다. 점수가 정확도와 일치하도록 만드는 법을 배우지 못했습니다.

신뢰할 수 없는 LLM 신뢰도의 세 가지 관찰 가능한 증상

블로그 게시물은 자기회귀 설명에서 직접 따르고 누구나 재현할 수 있는 세 가지 행동을 나열합니다:

  • 다시 묻으면 숫자가 바뀝니다. 같은 질문에 한 번은 0.85, 다음에는 0.7을 받을 수 있습니다. 이용 가능한 정보는 변하지 않았으므로 규칙 기반 신뢰도도 변하지 않아야 합니다.
  • 표현을 바꾸면 숫자가 바뀝니다. "확실합니까?"라고 묻는 것은 문제에 대해 아무것도 바뀌지 않았음에도 일반적으로 점수를 움직입니다. 다른 표현은 새로운 정보가 아닙니다.
  • 숫자 앞의 텍스트가 숫자를 결정합니다. 모델이 이미 "이것이 분명히 정답입니다"라고 썼다면 높은 점수가 자연스러운 연속입니다. 점수는 증거보다는 앞선 단어에서 나옵니다.

모델은 항상 숫자를 반환하고 그 숫자는 정밀해 보일 것입니다. 잘못된 점수는 정확한 점수와 똑같이 보이며, 그것들을 구별하는 유일한 방법은 많은 점수를 답안지와 대조하여 채점하는 것입니다. 이는 대부분의 사람들이 LLM에게 신뢰도를 요청할 때 수행하지 않는 단계입니다.

LLM에게 묻지 않고 신뢰도 점수 구축하기

게시물이 제안하는 대안은 예보관이 하는 일을 하는 것입니다: 관찰 가능한 정보를 신뢰도로 바꾸는 명시적 규칙을 구성하고 결과에 대해 계속 확인하는 것입니다. LLM은 여전히 작업(예: 답변 작성)을 수행할 수 있으며, 신뢰도 점수는 규칙에서 나옵니다.

작동 예는 헬프 센터를 검색하고 답변 초안을 작성하는 고객 지원 에이전트로, 신뢰도가 낮은 초안은 사람에게 라우팅되어야 합니다.

  1. 정보를 선택하십시오. 모델에게 기분을 묻지 않고 관찰 가능한 신호를 나열하십시오: 검색에서 이 주제에 대한 기사를 찾았는지, 몇 개의 기사를 찾았는지, 이 유형의 질문이 이전에 답변된 적이 있는지, 동일한 답변의 두 개의 독립적인 생성이 일치하는지 여부.
  2. 과거부터 시작하십시오. 다른 데이터가 존재하기 전에 최상의 신뢰도는 기준율입니다. 검토자가 과거 답변 200개를 확인했고 150개가 정확했다면 모든 새 답변은 75%에서 시작합니다.
  3. 모든 답변과 일어난 일을 기록하십시오. 각 답변에 대해 1단계의 신호, 규칙이 할당한 신뢰도, 답변이 정확했는지 여부(검토자가 승인했는지 또는 고객이 다시 묻지 않고 수락했는지)를 저장하십시오.
  4. 기록에서 규칙을 업데이트하십시오. 과거 답변을 신호별로 그룹화하고 각 그룹이 얼마나 자주 정확했는지 측정하십시오. 일치하는 기사와 두 개의 일치하는 생성이 있는 답변이 95%의 시간 동안 정확했다면 규칙은 다음 그러한 답변에 대해 95%를 말해야 합니다. 일치하는 기사가 없는 답변이 40%의 시간 동안만 정확했다면 규칙은 40%를 말해야 합니다.
  5. 계속 확인하십시오. 매주 정도 캘리브레이션 테이블을 재구축하십시오: 각 신뢰도 수준에 대해 답변이 실제로 얼마나 자주 정확했습니까? 90% 답변이 70%의 시간 동안만 정확했다면 규칙은 과신한 것이며 새 기록이 그것을 고치는 방법을 보여줍니다.

그러한 규칙은 LLM의 숫자에 없는 속성을 가지고 있습니다: 동일한 정보는 항상 동일한 신뢰도를 산출하고, 점수는 표현이 아닌 정보에 의존하며, 캘리브레이션은 조직의 자체 기록에서 구축되었기 때문에 조직의 자체 질문 유형에 대해 측정됩니다. 규칙은 또한 사용에 따라 개선됩니다. 모든 답변이 기록에 추가되기 때문입니다. 그러나 규칙은 기록만큼만 좋습니다. 누구도 답변이 정확한지 확인하지 않으면 배울 것이 없고 시스템은 측정되지 않은 숫자로 돌아갑니다.

주요 반론: 캘리브레이션은 모델에 훈련될 수 있습니다

여러 Hacker News 댓글 작성자는 게시물의 LLM이 "정확성에 대해 점수가 매겨진 적이 없다"는 주장이 더 이상 정확하지 않은 훈련 과정에 대한 가정이라고 주장했습니다. 댓글 작성자 rahimnathwani는 Sebastian Raschka의 캘리브레이션에 대한 글과 캘리브레이션 보상을 사용한 강화 학습을 지적했습니다:

"RLCR은 보상에 Brier 페널티를 추가하므로 모델의 성능은 % 정확도로만 측정되지 않습니다. Brier 페널티 (q-c)^2는 인스턴스 수준 정보를 무시하는 예보관을 처벌합니다."

댓글 작성자는 60%의 시간 동안 정확한 모델에 대한 두 가지 전략으로 메커니즘을 설명합니다. 항상 0.6으로 답하는 것은 캘리브레이션되었지만 신호를 전달하지 않습니다. 예상 페널티가 0.6 * (0.6-1)^2 + 0.4 * (0.6-0)^2 = 0.24이기 때문입니다. 쉬운 경우(90% 정확)와 어려운 경우(30% 정확)를 구별하고 각각 0.9와 0.3으로 답하는 모델은 예상 페널티가 (0.09 + 0.21) / 2 = 0.15입니다. 두 채점 전략 모두 전체적으로 동일하게 캘리브레이션되었지만 두 번째가 더 좋은 점수를 받습니다. 이것이 Brier 스타일 페널티가 훈련을 일정한 기준율보다는 인스턴스별 신뢰도로 밀어붙이는 이유입니다.

다른 댓글 작성자들은 관련된 요점을 만들었습니다:

  • 댓글 작성자 m101은 단일 다음 토큰이 아닌 다음 토큰에 대한 분포를 예측하는 Jev 스타일 훈련이 정확히 이것을 해결하기 위해 설계되었는지 물었습니다.
  • 댓글 작성자 yaoke259는 실제 또는 시뮬레이션된 환경(날씨 결과, 게임 결과)에서 올바른 신뢰도를 생성하는 것이 RL 훈련 목표라면 모델은 Jev 및 결정 모델이 훈련되는 방식과 유사하게 신뢰도에 대한 강한 직관을 개발할 가능성이 높다고 주장했습니다.
  • 댓글 작성자 Ozzie_osman은 특정 도메인에 대한 신뢰도 점수를 기존 모델에 미세 조정하는 것이 효과가 있다고 보고했습니다: "기본적으로 모델이 어떤 유형의 입력을 잘 맞추고 어떤 유형을 잘못 맞추는 경향이 있는지 이해하도록 돕는 것입니다."
  • 댓글 작성자 qznc는 프레임 전체에 이의를 제기하며 기사 자체가 접근 방식이 나쁘다는 것을 증명하는 데이터를 보여주지 않으며 Metaculus의 예측 성능을 LLM이 이것을 잘할 수 있다는 증거로 인용했습니다.
  • 댓글 작성자 jrflo는 동일한 증거 요구를 했습니다: "작가가 LLM의 신뢰도 점수의 품질에 대한 흥미로운 프레임을 얼마나 좋은지에 대한 데이터와 함께 따르기를 바랐습니다... 측정 가능한 것에 대한 데이터를 누군가 수집했다면 LLM의 신뢰도 숫자가 너무 멀지 않을 것이라고 기꺼이 내기하겠습니다."

실무자가 제안한 실용적 완화책

댓글 작성자들은 "LLM에게 숫자를 요청"과 "완전한 통계 규칙 구축" 사이에 있는 몇 가지 구체적인 기술에 수렴했습니다.

0-100 척도 대신 평가를 분해하십시오. 댓글 작성자 orbital-decay는 넓은 숫자 척도가 모델이나 사람으로부터 판단을 이끌어내는 최악의 방법이며 문제를 여러 차원으로 나누고 각 차원에 작은 의미 있는 열거형 또는 거친 척도를 제공한 다음 가중 점수를 적용할 것을 제안했습니다. Youtube도 같은 이유로 1-5 평가 척도를 폐지했다고 합니다.

루브릭 또는 측정 가능한 기준을 사용하십시오. 댓글 작성자 cityofdelusion은 직접 측정할 수 있는 수량에 대해 채점 스크립트를 사용하고 덜 정의된 판단에 대해 명시적인 A부터 F까지의 기준이 있는 채점 매트릭스를 사용하는 것을 설명했습니다. 댓글 작성자의 핵심 요점은 신뢰도를 수학적으로 또는 루브릭으로 표현할 수 없다면 구현자도 대상을 측정하는 방법을 모르며 인간은 "직감과 분위기로 숫자를 정할 것"이라는 것입니다. 댓글 작성자 YmFzZTY0ZGFkZHk는 더 거친 설명적 신뢰도(예: 주요 대 사소한)가 같은 환상의 다른 맛인지 물었습니다.

자기 보고 대신 로그 확률 또는 반복 샘플링을 사용하십시오. 댓글 작성자 dummydummy1234는 허용된 출력 클래스에 대한 로그 확률과 결합된 구조화된 출력을 제안했습니다. 댓글 작성자 jvanderbot은 어휘를 입력 레이블로 제한하면 다음 토큰 가능성을 사용 가능한 신뢰도로 바꾸는지 물으며 같은 아이디어를 제기했습니다. 댓글 작성자 bob1029는 많은 동일한 요청을 발행하고 도구 선택 또는 답변의 외부 분포를 측정한 다음 해당 분포를 사용하여 후속 추론 단계를 구동할 것을 제안했습니다.

고전적인 캘리브레이션 모델로 대체하십시오. 댓글 작성자 PaulHoule은 scikit-learn의 캘리브레이션 모듈을 지적하고 사전 훈련된 인코더, 풀링, 도메인 데이터에 대해 훈련된 확률 캘리브레이션 분류기의 파이프라인을 설명했습니다. 같은 댓글 작성자는 캘리브레이션이 데이터 분포에 의존한다고 강조했습니다: 적용되는 사전과 다른 사전으로 훈련된 모델은 캘리브레이션이 잘 안 될 것입니다. 댓글 작성자 ricardobeat은 게시물의 5단계 절차가 본질적으로 지도 학습(데이터, 레이블링, 가중치 업데이트, 캘리브레이션)이며 결정 모델이 정확히 이 목적을 위해 훈련된다고 언급했습니다.

한계 및 해결되지 않은 질문

댓글 작성자 visarga는 기본 제약을 가장 직접적으로 말했습니다: "캘리브레이션 세트 없이는 모델의 신뢰도를 캘리브레이션할 수 없습니다. 신뢰도는 일부 레이블된 데이터 세트에 상대적이며, 버킷 또는 간격 세트에 설정되고, 모집단 기반이며, 단일 예측에 대해 확인할 수 없습니다." 같은 댓글 작성자는 어떤 모델 제공자도 본 적 없는 작업에 대해 모델을 사전 캘리브레이션할 수 없다고 덧붙였습니다.

댓글 작성자 hexapus는 가장 넓은 용어로 논쟁을 구성하며 LLM을 "추론할 수 없지만 추론이 어떻게 생겼는지 예측할 수 있는" 다음 토큰 예측자로 설명하고 실패할 때 그 이유에 대해 정직할 가치가 있다고 주장했습니다.

댓글 작성자 zug_zug는 관측을 설명하는 결과의 확률을 평가하도록 LLM에게 요청하는 실험에서 모델이 인간과 유사한 방식으로 체계적으로 편향되어 있으며 베이지안 통계 기초가 현재 LLM에서 신뢰할 수 없다고 결론지었다고 보고했습니다. 통계 배경을 가진 댓글 작성자 madrox는 응용 통계 훈련이 시간의 약 10%를 모델 구축에, 90%를 출력 해석에 사용했으며 기계 학습 커리큘럼이 그 균형을 유지하는지 의문을 제기했습니다.

게시물과 토론에서 나온 순수한 실용적 결론은 일관됩니다: 신뢰도 점수는 점수가 매겨지는 특정 작업에 대한 결과의 기록에 연결된 경우에만 의미가 있습니다. 그 점수가 명시적 통계 규칙, 캘리브레이션된 분류기, 미세 조정된 모델 또는 적절한 채점 규칙으로 훈련된 모델에 의해 생성되는지는 엔지니어링 선택입니다. 그러나 이러한 모든 경우에서 캘리브레이션 증거는 모델에게 얼마나 확신하는지 묻는 것이 아니라 데이터에서 나옵니다.

Sources