* 논문에 대한 개인적인 해석이나 견해는 정확하지 않은 내용일 수 있습니다.
* 개인적으로 기억하고 싶은 내용은 이탤릭체로 표기하였습니다.
Language Models (Mostly) Know What They Know
Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.
www.anthropic.com
논문 링크: https://www.anthropic.com/research/language-models-mostly-know-what-they-know
본 논문은 Anthropic에서 2022년 7월에 공개한 논문이다.
2026년 3월 기준 1148회 인용되었다.
이 논문은 본문 24쪽, 그리고 총 43쪽으로 구성되어있다.
1. 이 논문을 읽게 된 이유
지난번에 리뷰했던 "Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback" 논문에서 자연스럽게 이어지는 논문이다. HH 논문이 모델을 유용하고 무해하게 만드는 방법을 다뤘다면, 이번 논문은 세 번째 축인 Honest(정직함) 을 다룬다.
2. 논문이 풀려는 문제
논문에서 제시하는 정직한 AI를 만들기 위한 첫 번째 질문은 다음과 같다.
"모델이 자기가 뭘 알고, 뭘 모르는지 알 수 있는가?"
논문은 honesty를 하나의 단일한 개념으로 보지 않고, 다음 다섯 가지로 분해한다.
- Truthfulness: 사실적으로 정확한 정보를 제공하는가?
- Calibration: 확률 예측이 실제 빈도와 일치하는가?
- Self-knowledge: 자기가 아는 것과 모르는 것을 파악하는가?
- Explainability: 자신의 추론을 완전하고 충실하게 드러내는가?
- Non-deceptiveness: 의도적으로 잘못된 인상을 주지 않는가?
이 논문은 그 중에서도 Calibration과 Self-knowledge에 집중한다.
그런데 왜 Honesty에서 Calibration문제를 다룰까?
논문의 설명:
논문은 calibration을 self-knowledge로 가는 발판(bootstrap)으로 본다. 모델이 "나는 X를 알고 있다"는 메타 질문에 정직하게 답하려면, 먼저 자신의 확률 예측이 실제와 얼마나 일치하는지가 전제되어야 한다. 즉 calibration이 제대로 되어 있어야, 자기평가 자체를 신뢰할 수 있다.
내 해석:
논문이 calibration을 단순히 성능 지표로 보지 않고, honesty의 필요조건으로 정의한다는 점이 인상깊었다. 다만 논문이 제시한 다섯 가지 외에도 고려해야 할 요소가 있을지 궁금하다. 예를 들어 이후 Anthropic에서 나온 Alignment faking 논문에서처럼, 모델이 겉으로는 정직하게 표현하면서도 내부적으로 다른 목적을 가지는 경우는 이 다섯 가지에 해당하지 않는 요소일지 궁금하다.
3. Background/ Preliminaries
논문을 이해하기 위해 먼저 세 가지 핵심 개념을 짚고 넘어가야 한다.
Calibration
모델이 예측한 확률이 실제 정답 빈도와 얼마나 일치하는지를 나타낸다. 예를 들어 모델이 어떤 선택지에 90%의 확률을 부여했을 때, 그 선택지가 실제로 정답인 경우가 90%라면 잘 calibrated된 것이다.
구체적으로는, 모델은 객관식 선택지들에 확률을 각각 부여하게 된다. 이때 선택지들에 부여한 확률이 비슷한 구간에 속하는 예측들을 묶어서, 실제 정답률과 비교하는 것이다.
P(True)
모델이 자신의 답변에 대해 스스로 사실이라고 평가하는 정답 확률이다. 모델이 답변을 생성한 후, 같은 모델에게 "이 답변이 맞는가? True/False"를 물어서 얻는다.
P(IK)
IK는 "I Know"의 약자로, 모델이 특정 질문에 답할 수 있는지를 사전에 예측하는 확률이다. P(True)와는 다른 개념이다.
- P(True): 답변을 생성한 후 → 이 답변이 맞는지 검증
- P(IK): 답변 생성 없이 → 생성할 능력이 있는지 예측
P(IK)는 모델 위에 Value Head라는 별도의 분류기를 추가해서 파인튜닝으로 학습한다. 구현상으로는 질문의 마지막 토큰 위치에서 Value Head의 출력값을 읽어온다. 마지막 토큰을 쓰는 이유는 Transformer 구조에서 마지막 토큰의 hidden state가 질문 전체의 의미를 압축하고 있기 때문이다.
논문은 calibration을 self-knowledge로 가는 발판으로 본다. 모델이 선택지에 대해 잘 calibrated된 확률을 출력할 수 있다면, 그 능력을 자기 답변 평가(P(True))로 확장할 수 있고, 나아가 답변 생성 없이도 자기 지식을 인식(P(IK))하는 것으로 발전시킬 수 있다는 논리다.
4. 주요 결과 / 나의 해석
캘리브레이션 기본 결과

위 피규어는 Calibration 결과를 보여준다.
왼쪽 plot은 BIG Bench하에서 다양한 크기를 가진 모델의 calibration을 보여준다.
점선은 완벽한 Calibration이 됐을때의 기준선인데, 모델이 클수록, 점들이 그 대각선에 가까워진다.
* BIG Bench는 Google이 만든 벤치마크 데이터셋으로, 200개 이상의 다양한 태스크(상식, 논리, 수학, 언어 등)를 포함한다. 본 논문에서는 LLM의 능력을 폭넓게 평가하기 위해 사용한다.
오른쪽 plot은 모델 크기에 따라 각각의 포맷들의 ECE를 측정한다. ECE는 낮을수록 좋다.
- Lettered Choices 5-shot: (A) (B) (C) 레이블 + 예시 5개
- Lettered Choices 0-shot: (A) (B) (C) 레이블 + 예시 없음
- True/False 5-shot: "이 답변이 맞나요? True/False" 형식 + 예시 5개
- BIG Bench 기본 포맷 5-shot: 레이블 없음 + 예시 5개
Lettered Choices 5-shot이 가장 ECE가 낮고, BIG Bench 기본포맷 5shot이 가장 ECE가 높다.
논문에서는 BIG Bench 기본포맷이 가장 나쁜이유가, 단순히 레이블이 없어서가 아니라 답변방식의 차이 때문이라고 설명한다. 기본포맷에서는 "George Washington"처럼 전체 텍스트를 생성해야 하기 때문에 확률이 여러 토큰에 분산되는 반면 Lettered Choices에서는 "(B)"라는 단일 토큰만 생성하면 되기 때문이라고 설명하고 있다.
단일 토큰만 생성하게 되면 왜 Calibration error가 작아지는데에 유리할까? 논문에서 이는 설명하지 않고 있는데, 그 이유를 더 생각해보고싶다.
P(True) 전체 요약

왼쪽 plot은 52B 모델이 5개 태스크(TriviaQA, Lambada, Arithmetic, GSM8k, HumanEval)에서 자기 답변을 평가한 결과다. x축은 모델이 예측한 P(True), y축은 문제의 비율을 나타낸다. 정답인 샘플과 오답인 샘플들의 분포를 비교하고있는데, 정답 샘플은 P(True)가 높은쪽에 분포하고, 오답인 샘플은 그보다 낮은쪽에 분포하고 있다. 논문에서는 이 두 분포가 잘 분리되는 모습이, self evaluation이 잘 되는것으로 해석한다.
내 해석: 정답 샘플임에도 P(True) < 0.5 인 경우가 상당히 (25% 정도) 차지한다는 점이 신기하다.
그러니까 모델이 맞는 답을 냈음에도 스스로 틀렸다고 생각하는 경우가 약 25%는 된다는 것이다.
오른쪽 plot에서는 각 task에서 두가지를 비교한다. (전체 샘플의 정확도와, P(True) >0.5인 샘플들의 정확도)
논문에서는 P(True) > 0.5인 샘플들은 거의 모든 task에서 전체 샘플보다 정확도가 올라간다는 것을 보여준다.
Self Evaluation 종합 비교

위쪽 plot에서는 세가지 방법에 대한 Brier score를 비교한다. Lambada와 Codex task 각각에 대해 검증했다.
세가지 방법
- One example: 질문 + 답변 하나만 보여주고 True/False 평가
- Comparison Examples (Prompt) : T=1로 샘플링한 답변 5개를 같이 보여주고 고정된 프롬프트 예시 사용
- Comparison Examples (20 shot): 2번과 동일하지만 고정 프롬프트 대신 실제 태스크에서 가져온 20개의 예시를 context에 넣어서 평가
Brier Score는 다음과 같다.
B = 1/N × Σ(P(True) - 실제정답)²
P(True) = 모델이 예측한 확률
실제정답 = 맞으면 1, 틀리면 0모델이 예측한 확률과 실제 결과의 차이를 제곱해서 평균낸 값이다. 낮을수록 좋고, 판별력(맞/틀 구분)과 캘리브레이션을 동시에 반영한다는 점에서 ECE랑 다르다.
아래쪽 plot은 figure1의 오른쪽 plot을 task별로 보여준 것이다.
- Lambada: 긴 텍스트에서 마지막 단어를 맞추는 태스크 → 예) 스토리를 읽고 마지막 빈칸 채우기
- Codex: 주어진 함수 설명을 보고 Python 코드를 완성하는 태스크 → HumanEval 벤치마크 사용
두 태스크 모두 P(True) > 0.5 필터링 후 정확도가 baseline보다 높아진다.
P(IK) 전체 요약

P(IK)는 모델 위에 Value Head라는 별도의 분류기를 추가해서 파인튜닝으로 학습한다.
파인튜닝으로 학습한 후, 질문을 입력해서 마지막 토큰 위치의 value head 값이 P(IK)이다.
(자세한 내용은논문 Appendix A.6 참고)

P(IK) 성능 수치

Figure 2에서 히스토그램으로 보여준 결과를 AUROC와 Brier Score로 구체화한 것이다. AUROC는 맞힌 문제와 틀린 문제를 얼마나 잘 구분하는지를 나타내며, 0.5가 랜덤, 1.0이 완벽한 구분이다.
두 가지 패턴이 보인다.
첫째, TriviaQA만 학습해도 Arithmetic에서는 AUROC 0.928로 꽤 잘 일반화되지만, LAMBADA에서는 0.606으로 거의 랜덤에 가깝다.
둘째, 전체 학습 후에는 모든 태스크에서 성능이 크게 향상된다. 특히 LAMBADA가 0.606에서 0.853으로 가장 큰 폭으로 향상된다
P(IK)의 추가 발견: 추가 Context에 대한 능력
P(IK)를 학습할 때는 질문만 보고 "이 질문에 대한 답변을 할 수 있을지"를 예측하도록 학습했다.
Figure 18는 context에 추가정보를 반영했을 때, P(IK)가 어떻게 반응하는지를 보여준다.

지금까지의 실험결과는 Without background이고, 위키피디아 정보가 포함된 상황은 with background이다.

왼쪽 plot. TriviaQA task에서 위키피디아 정보가 포함되었을때와 포함되지 않았을때를 관찰한것이다.
관련 문서가 추가되자 P(IK)가 크게 올라갔다. 이에 대해서 논문에서는 다음과 같이 해석하고 있다. 추가학습 없이도 P(IK)가 context 내의 추가 자료에서 답을 찾도록 일반화 된다는 것이다. 그리고 Discussion에서는 이를 사전학습으로 학습하게 된 장기기억과, context 정보 활용 사이의 연결고리가 있다고 해석한다.
오른쪽 plot. x축은 Wikipedia 문서의 토큰 수 기준 threshold를 보여주고, y축은 background 문서가 있을때와 없을떄의 P(IK) 변화량이다. 문서의 토큰이 많아질수록 P(IK) 개선 정도가 줄어든다. 이는 긴 문서보다 짧은 문서에서 답을 찾기 쉽기 때문으로 해석하고 있다. Task마다 난이도가 다르니 어느정도의 문서를 제공해야 P(IK)에 도움이 될지도 달라질 것 같다.
내 해석: 관련 정보를 받으면 모델이 답을 더 잘 낼 수 있으니 P(IK)가 올라가는 건 어느 정도 당연한 것 같다는 생각이 든다. 오히려 P(IK)가 비슷하게 유지되거나 떨어졌으면 더 놀라운 발견이었을것 같다. 그럼에도 이 결과가 어떤 insight를 줄 수 있을까에 대해 고민해보면, P(IK)는 Value Head로 학습한 것이고, 학습할 때 문서가 있는 상황을 본 적이 없다. 그럼에도 Value Head가 context 정보에 반응한다는 점이, 직관적으로 예상할 수 있듯이 모델이 context를 활용하는 능력을 가지고 있다는 것을 보여주기 때문이 아닐까?
5. 배운 점 및 소감
이 논문에서 가장 인상깊었던 부분은 honest 모델을 만들기 위한 개념을 정의했다는 점이다. Honest한 모델을 만들기 위해 honesty를 다섯 가지 요소로 분해하고, 그 중 calibration과 self-knowledge에 집중한 것이다. 개별 요소들은 이전 연구에서 다뤄진 적 있지만, 이를 honesty라는 하나의 개념 아래 묶고 P(True), P(IK)라는 형태로 정량화하려 한 시도가 인상적이었다. 특히 "모델이 자기가 뭘 알고 모르는지 알 수 있는가?"라는 질문 자체는 정량화하기 어려운 문제라고 느껴지는데 Value head를 이용하여 정량화한것도 놀라운 것 같다.
그런데 논문에서 Value Head가 왜 P(IK)를 나타내는지에 대한 설명을 제시하지는 않는다.
value head는 '맞히면 안다고 정의하고, 그걸 예측하도록 학습한 것'이기 때문에 모델이 진짜로 알고있는가를 측정하는 건 아니다. 그러니까 P(IK)가 진짜 모델 자신의 지식을 인식하는것이라고 주장하기는 어려울거같다.
좀 더 정교한 방법을 고안해보는 것도 좋을 것 같다.
한계로는 이 논문이 베이스 모델에 집중했다는 점이 있다. RLHF 이후 모델에서는 calibration이 깨지는 문제가 있고, 논문도 이를 인정한다. 실제로 배포되는 모델은 대부분 RLHF를 거친다는 점에서, 이 논문의 결과가 실제 환경에서 얼마나 유효한지는 추가적인 검증이 필요해 보인다.
jailbreak 연구와 연결지어 생각해보면, P(IK)가 낮은 상황, 즉 모델이 스스로 모른다고 판단하는 상황에서 혹은 잘 안다고 판단하는 상황에서 jailbreak가 더 쉽게 일어나는지 혹은 관련성이 없는지에 대한 궁금증이 생긴다. 모델이 자기 지식의 한계를 인식하지 못할 때 더 쉽게 조작될 수 있다면, P(IK)를 jailbreak 방어에도 활용해볼 수 있을 것 같다.
'Paper Review > Alignment' 카테고리의 다른 글
| [Anthropic] Training a Helpful and Harmless Assistant with Reinforcement (0) | 2025.12.20 |
|---|---|
| [Anthropic] Alignment faking in large language models (0) | 2025.08.20 |