NL-254, LLMs Know More Than They Show: On the Intrinsic Representation of LLM Hallucinations, ICLR 2025
◼ Comment
- Ref로 활용해서 얻을 만한 점
- LLM의 internal knowledge로 detection하는 것은 효과적이나 일반화에 실패함
- multi-facet 하기 때문
- 다양한 환각 type 언급
- LLM이 생성하는 모든 오류
- 기존의 logit 방법과 유사한 듯?
- 앞뒤 토큰을 사용한다는게 조금 다른거 같긴함
Abstract
대규모 언어 모델(LLM)은 사실적 부정확성(factual inaccuracies), 편향(biases), 논리적 오류(reasoning failures) 등을 포함한 다양한 오류를 생성할 수 있으며, 이러한 오류를 통틀어 "환각(hallucinations)" 이라고 합니다.
최근 연구에서는 LLM의 내부 상태(internal states)가 출력의 진실성과 관련된 정보를 포함하고 있으며, 이를 활용하여 오류를 탐지할 수 있음을 보여주었습니다. 본 연구에서는 LLM의 내부 표현(internal representations)이 이전에 알려진 것보다 훨씬 더 많은 진실성 정보를 포함하고 있음을 발견합니다.
우리는 먼저 진실성과 관련된 정보가 특정 토큰에 집중되어 있음을 밝혀내었으며, 이 속성을 활용하면 오류 탐지 성능을 크게 향상시킬 수 있음을 실험적으로 입증합니다. 그러나, 우리는 기존 연구의 주장과 달리 이러한 오류 탐지기가 데이터셋 간 일반화(generalization)에 실패함을 발견했습니다. 이는 진실성 정보의 인코딩이 보편적인(universal) 것이 아니라, 다면적(multifaceted)임을 의미합니다.
다음으로, 우리는 LLM의 내부 표현을 활용하여 모델이 발생시킬 가능성이 높은 오류 유형을 예측할 수 있음을 보였습니다. 이를 통해 맞춤형 오류 완화(mitigation) 전략을 개발하는 데 기여할 수 있습니다.
마지막으로, LLM의 내부 인코딩과 외부 행동 간의 불일치(discrepancy)를 밝혀냅니다. 즉, 모델 내부에서는 올바른 정답을 인코딩하고 있음에도 불구하고, 일관되게 잘못된 답변을 생성하는 경우가 존재합니다.
이러한 연구 결과는 LLM의 오류를 내부 관점에서 분석하는 데 기여하며, 향후 오류 분석 및 완화 연구의 방향을 제시할 수 있습니다.
Introduction
대규모 언어 모델(LLM)의 인기가 다양한 분야에서 지속적으로 증가하면서, 한 가지 중요한 한계점이 주목받고 있습니다. 바로 "환각(hallucination)", 즉 부정확한 정보를 생성하는 경향입니다. 하지만 환각이란 정확히 무엇이며, 그 원인은 무엇일까요?
기존 연구에서는 환각을 정의하고 분류하며 이해하기 위해 사용자 관점에서 LLM의 오류를 분석하는 외부적(behavioral) 접근법을 주로 사용했습니다 (Bang et al., 2023; Ji et al., 2023; Huang et al., 2023a; Rawte et al., 2023). 그러나 이러한 접근법은 이러한 오류가 LLM 내부에서 어떻게 인코딩되는지를 충분히 설명하지 못합니다.
반면, 또 다른 연구 흐름에서는 LLM의 내부 표현(internal representations)을 분석하여, 모델이 진실성과 관련된 신호(truthfulness signals)를 인코딩하고 있음을 시사했습니다 (Kadavath et al., 2022; Li et al., 2024; Chen et al., 2024). 하지만 이러한 연구들은 대부분 단순히 오류를 탐지하는 수준에서 그쳤으며, 이러한 신호가 어떻게 표현되고 활용될 수 있는지에 대한 심층적인 분석은 부족했습니다.
연구 개요
본 연구에서는 LLM의 내부 표현이 기존에 인식된 것보다 훨씬 더 많은 진실성 정보를 포함하고 있음을 밝혀냅니다. 이를 검증하기 위해, 우리는 이 내부 표현을 활용하여 생성된 응답의 진실성과 관련된 다양한 특징을 예측하는 분류기(classifier)를 학습합니다.
이 실험을 통해 우리는 LLM 내부 표현에 담긴 정보의 패턴과 유형을 분석하고, 이러한 정보가 모델의 외부 행동(extrinsic behavior)과 어떻게 연결되는지를 탐구합니다. 이 연구는 단순히 오류를 탐지하는 것에서 더 나아가, 오류 탐지의 한계를 이해하고, 오류 유형 및 완화 전략을 보다 정교하게 설계할 수 있도록 방향을 제시합니다.
우리는 LLM의 한계를 포괄적으로 다루는 일반적인 실험 설계를 적용하며, 이를 통해 보다 광범위한 결론을 도출하고자 합니다.
환각(hallucination)의 정의
"환각"이라는 용어는 널리 사용되고 있지만, 아직까지 보편적으로 합의된 정의는 존재하지 않습니다 (Venkit et al., 2024).
이에 따라, 우리는 환각을 넓은 의미로 정의하며, LLM이 생성하는 모든 오류를 포함합니다. 즉,
- 사실적 오류(factual inaccuracies)
- 편향(biases)
- 상식(reasoning) 오류
- 기타 현실 세계에서 발생할 수 있는 오류 등을 포함하는 개념으로 다룹니다.
이러한 접근법을 통해 우리는 LLM의 오류를 보다 넓은 관점에서 분석하고 일반적인 결론을 도출할 수 있도록 합니다.
1단계: 진실성 신호(truthfulness signals)의 인코딩 위치 확인
이전 연구에서는 LLM의 중간 표현(intermediate representations), 로짓(logits), 확률(probabilities) 등을 분석하여 오류를 탐지하는 방법을 제안하며, LLM이 내부적으로 진실성과 관련된 신호를 포함하고 있을 가능성을 시사했습니다 (Kadavath et al., 2022; Li et al., 2024; Chen et al., 2024).
그러나 우리는 실험을 통해 기존 연구들이 간과한 핵심적인 요소, 즉 이 신호를 추출하는 데 사용되는 토큰의 선택이 오류 탐지 성능에 미치는 중요한 영향을 발견했습니다 (3장 참고).
우리의 분석에 따르면, 진실성 정보는 "정확한 정답 토큰(exact answer tokens)"에 집중되어 있음을 확인할 수 있었습니다.
예를 들어, 다음 문장에서:
"코네티컷주의 수도는 하트퍼드(Hartford), 상징적인 도시입니다..."
이 문장에서 핵심적인 정답 토큰은 "Hartford" 입니다.
이러한 정답 토큰을 활용하면 오류 탐지 전략의 성능이 전반적으로 향상되며, 기존 연구에서 관찰된 것보다 진실성 인코딩이 더욱 강력하게 나타남을 확인할 수 있습니다.
2단계: 오류 탐지를 위한 "프로빙 분류기(probing classifier)" 학습
우리는 LLM 내부 표현에서 "정확한 정답 토큰"을 활용하여 훈련된 분류기(probing classifier) 를 사용하여,
LLM이 자체적으로 진실성과 관련된 정보를 얼마나 효과적으로 인코딩하는지 평가합니다 (Belinkov, 2021).
이 실험을 통해, LLM이 자체적인 오류를 예측할 수 있는 정보를 내부적으로 포함하고 있음을 입증했습니다.
그러나, 우리는 중요한 한계를 발견했습니다.
**이러한 프로빙 분류기는 서로 다른 작업(tasks) 간에 일반화되지 않는다(Section 4)**는 점입니다.
즉,
- 사실 기반 검색(factual retrieval)과 같은 유사한 기술이 필요한 작업에서는 일반화가 가능하지만,
- 감성 분석(sentiment analysis)과 같은 서로 다른 기술이 필요한 작업에서는 일반화되지 않음을 확인했습니다.
이는 "보편적인(universal) 진실성 인코딩"이라는 기존 연구들의 주장(Marks & Tegmark, 2023; Slobodkin et al., 2023)을 반박하는 결과입니다.
대신, 우리는 LLM이 여러 개의 서로 다른 진실성 개념을 인코딩하고 있음을 시사하는 증거를 제시합니다.
따라서, 오류 탐지 모델을 실제 애플리케이션에 적용할 때는 신중한 접근이 필요함을 강조합니다.
3단계: 특정 작업 내에서 오류 유형 분석
우리는 단일 작업(single task) 내에서 오류를 보다 정교하게 분류하여, LLM의 응답에서 발생하는 오류 유형을 분류(taxonomizing)합니다 (5장 참고).
예를 들어,
- 일관되게 반복되는 오류(consistent errors) 와
- 다양한 오류 중 가끔 발생하는 오류(random errors) 는 본질적으로 다릅니다.
우리는 "정확한 정답 토큰"을 기반으로 학습된 프로빙 분류기를 사용하여, LLM 내부 표현에서 오류 유형을 예측할 수 있음을 확인했습니다.
이는 LLM이 생성할 가능성이 높은 오류 유형에 대한 정보를 내부적으로 포함하고 있음을 의미하며,
개발자가 보다 정교한 오류 완화 전략을 설계할 수 있도록 도와줄 수 있습니다.
4단계: 내부 인코딩과 외부 행동의 불일치(alignment discrepancy) 분석
마지막으로, 우리는 LLM의 내부 표현과 외부 행동 간의 불일치를 분석합니다 (6장 참고).
이 실험에서는 모델이 내부적으로는 올바른 정답을 인코딩하고 있음에도 불구하고, 지속적으로 잘못된 응답을 생성하는 사례가 있음을 확인했습니다.
이러한 불일치는,
- LLM의 외부 행동이 실제 능력을 과소평가할 가능성을 시사하며,
- 기존의 오류 탐지 및 완화 전략을 재구성하는 데 중요한 단서를 제공할 수 있습니다.
결론
우리의 연구는 LLM의 내부 관점에서 오류를 분석하는 새로운 방법론을 제시하며,
이러한 분석이 오류 탐지 및 완화 전략을 개선하는 데 중요한 역할을 할 수 있음을 보여줍니다.
이 연구를 바탕으로,
- 보다 정교한 오류 분석 기법
- LLM의 내부 표현을 활용한 오류 완화 전략 등이 발전할 수 있을 것입니다.
3 BETTER ERROR DETECTION
3.1 작업 정의
LLM , 입력 프롬프트 , 그리고 LLM이 생성한 응답 가 주어졌을 때, 해당 응답이 올바른지 여부를 예측하는 것이 목표입니다. 여기서 우리는 LLM의 내부 상태(화이트 박스 설정)에 접근할 수 있다고 가정하지만, 검색 엔진이나 추가적인 LLM과 같은 외부 리소스에는 접근할 수 없다고 가정합니다.
이 실험에서는 로 구성된 데이터셋을 사용하며, 는 일련의 질문(예: "코네티컷주의 수도는 어디인가?")을, 는 해당하는 정답(예: "하트퍼드")을 포함합니다.
각 질문 에 대해, 모델 이 응답 을 생성하도록 프롬프트를 입력하면, 예측된 응답 집합 이 생성됩니다(예: "코네티컷주의 수도는 하트퍼드입니다...").
이제 오류 탐지 데이터셋을 구축하기 위해, 생성된 응답 의 정확성을 정답 과 비교하여 평가합니다. 이 비교를 통해 올바름 여부를 나타내는 레이블 을 할당합니다(1: 정답, 0: 오답).
이 비교는 자동화된 휴리스틱 기법을 사용하거나, 별도의 명령형 LLM의 도움을 받아 수행할 수 있습니다. 결과적으로 오류 탐지 데이터셋은 의 형태를 가지며, LLM이 답변을 거부한 경우는 쉽게 "오답"으로 분류할 수 있으므로 제외됩니다.
3.2 실험 설정
데이터셋 및 모델
우리는 네 개의 LLM(대규모 언어 모델)을 사용하여 모든 실험을 수행합니다: Mistral-7b (Jiang et al., 2023), Mistral-7b-instruct-v0.2 (이하 Mistral-7b-instruct), Llama3-8b (Touvron et al., 2023), 그리고 Llama3-8b-instruct입니다.
실험에는 다양한 분야와 작업을 아우르는 10개의 데이터셋을 사용합니다:
- TriviaQA (Joshi et al., 2017)
- HotpotQA (문맥 포함/미포함) (Yang et al., 2018)
- Natural Questions (Kwiatkowski et al., 2019)
- Winobias (Zhao et al., 2018)
- Winogrande (Sakaguchi et al., 2021)
- MNLI (Williams et al., 2018)
- Math (Sun et al., 2024)
- IMDB 리뷰 감성 분석 (Maas et al., 2011)
- 영화 역할 데이터셋 (movies) – 자체적으로 구축한 데이터셋
우리는 실제 환경에서 LLM이 어떻게 사용되는지를 반영하기 위해 응답 생성에 대한 제한을 두지 않으며, 답변은 탐욕적 디코딩(greedy decoding) 방식으로 생성됩니다. 데이터셋과 프롬프트에 대한 추가적인 세부 사항은 부록 A.3에서 확인할 수 있습니다.
성능 평가 지표
오류 탐지 성능을 평가하기 위해 **ROC 곡선 아래 면적(AUC-ROC, Area Under the Receiver Operating Characteristic Curve)**을 측정합니다. 이 지표는 다양한 임계값에서 오류 탐지기의 성능을 단일 값으로 표현하며, 민감도(true positive rate, TPR)와 특이도(false positive rate, FPR) 간의 균형을 반영합니다.
오류 탐지 방법
우리는 불확실성(uncertainty) 및 환각(hallucination) 탐지 연구에서 제안된 여러 방법을 비교합니다.
-
집계된 확률 / 로짓(logits) 기반 방법
- 이전 연구(Guerreiro et al., 2023; Kadavath et al., 2022; Varshney et al., 2023; Huang et al., 2023b)에서는 출력 토큰의 확률 또는 로짓(logits) 값을 집계하여 LLM의 신뢰도를 평가하는 방법을 제안했습니다.
- 우리는 최소값, 최대값, 평균값 등을 기반으로 다양한 기법을 구현하였으며, 논문에서는 가장 일반적인 Logits-mean과 최상의 성능을 보인 Logits-min 결과를 보고합니다. 추가적인 기준선 결과는 부록 B에서 확인할 수 있습니다.
-
P(True) 기법
- Kadavath et al. (2022)는 LLM이 자신의 생성 결과를 평가하도록 프롬프트를 제공하면, 상대적으로 정확한 자기 평가를 수행할 수 있다고 제안했습니다.
- 우리는 동일한 프롬프트를 사용하여 이 방법을 구현했습니다.
-
프로빙(Probing) 기법
- 프로빙 기법은 LLM의 중간 활성화(intermediate activations)를 기반으로 작은 분류기(classifier)를 학습하여 특정 특징을 예측하는 방법입니다 (Belinkov, 2021).
- 최근 연구에서는 이 방법이 생성된 텍스트의 오류 탐지에 효과적임을 보여주었습니다 (Kadavath et al., 2022).
- 중간 활성화는 특정 **LLM 레이어 에서의 벡터 **로 표현되며, 이는 (읽거나 생성된) 토큰 에 대응됩니다.
- 하나의 LLM 생성 과정에서 여러 개의 활성화 벡터가 생성되므로, 우리는 선형 프로빙 분류기(linear probing classifier) 를 적용하여 오류 탐지를 수행합니다 (Li et al., 2024).
- 실험에서는 세 개의 정적인 토큰(static tokens) 을 활용합니다:
- 마지막으로 생성된 토큰
- 그 바로 앞의 토큰
- 마지막 프롬프트 토큰
- 레이어 은 검증 데이터셋(validation set)의 성능을 기반으로 토큰별로 선택됩니다.
- 각 방법의 구현에 대한 추가적인 세부 사항은 부록 A.4에서 확인할 수 있습니다.
3.3 정답 토큰(Exact Answer Tokens)
기존 오류 탐지 기법은 중요한 문제를 간과하는 경우가 많습니다. 대부분의 연구는 마지막으로 생성된 토큰 또는 전체 응답의 평균값을 사용하여 오류를 탐지합니다. 하지만 LLM은 일반적으로 긴 형식(long-form)의 응답을 생성하므로, 이 방식은 핵심적인 정보를 놓칠 가능성이 높습니다 (Brunner et al., 2020).
일부 연구에서는 마지막 프롬프트 토큰을 사용하는 방법을 제안했지만 (Slobodkin et al., 2023), 이는 LLM의 단방향성(unidirectional nature) 특성상 문제가 있습니다. 즉, 생성된 응답을 고려하지 않기 때문에 정확성이 떨어지며, 동일한 모델에서 샘플링된 다양한 답변 간의 차이를 반영하지 못할 수 있습니다.
우리는 기존 연구에서 다루지 않았던 새로운 토큰 위치, 즉 정확한 정답 토큰(Exact Answer Tokens) 을 조사합니다.
- 정확한 정답 토큰은 응답에서 핵심적인 정보를 포함하는 토큰으로 정의되며,
- 이 토큰이 수정되면 응답의 정확성이 변하게 됩니다.
- 이후 생성된 불필요한 내용은 무시됩니다.
**그림 1(Figure 1)**에서는 서로 다른 토큰 위치의 차이를 설명하고 있습니다.
실험 설계
- 우리는 기존 오류 탐지 방법을 “정확한 정답” 버전으로 변형하여 적용합니다.
- 이를 통해, 특히 프로빙(Probing) 기법에서 성능이 향상됨을 보입니다.
- 정확한 정답을 추출하기 위해, 외부 알고리즘 를 사용하여 LLM의 긴 응답에서 핵심 정보를 선별합니다.
- 우리의 구현에서는 Mistral-7b-Instruct 모델을 few-shot learning 방식으로 활용하여 를 구성합니다.
- 그러나 실험 결과, 우리가 평가한 모든 LLM들이 자신의 출력에서 정확한 정답을 추출할 수 있는 능력을 가지고 있음을 보여줍니다 (부록 A.2 참고).
정답 토큰 탐색
- 정답을 추출한 후, 단순한 검색 알고리즘을 통해 정답 토큰을 찾습니다.
- 우리는 네 개의 특정 토큰에 집중합니다:
- 첫 번째 정답 토큰 직전의 토큰
- 첫 번째 정답 토큰 자체
- 마지막 정답 토큰 자체
- 마지막 정답 토큰 직후의 토큰
이러한 방법을 통해, LLM의 출력에서 가장 중요한 토큰을 기반으로 오류 탐지 성능을 개선할 수 있음을 입증합니다.
아주 간단히 말해, “LLM(대규모 언어 모델)의 긴 답변 중에서 핵심이 되는 ‘정답 토큰(Exact Answer Tokens)’을 뽑아, 이 토큰 주변의 내부 표현(히든 스테이트나 로그릿 등)을 분석하여 오류(환각)를 더 정확하게 탐지하자” 라는 아이디어입니다.
제안 방법론의 핵심 흐름
- LLM에게 질문을 주고, 모델이 장문의 답변을 생성하도록 합니다.
- 답변 중에서 정확한 정답(Exact Answer) 만 추출할 외부 알고리즘(또는 간단한 후처리)을 사용합니다.
- 예: “코네티컷주의 수도는 하트퍼드(Hartford)인데…”에서 핵심 정답 토큰은 “Hartford”
- 정답 토큰(“Hartford”)을 포함해, 그 앞뒤 몇 개의 토큰을 찾습니다.
- 예:
- 첫 번째 정답 토큰 직전 토큰
- 첫 번째 정답 토큰 자체(“Hartford”)
- 마지막 정답 토큰 자체(“Hartford”가 유일 정답이므로 동일)
- 마지막 정답 토큰 직후 토큰
- 예:
- 모델이 이 토큰들을 생성할 때(또는 읽을 때) 발생하는 중간 활성화(intermediate activations)나 로그릿(logits) 등 내부 정보를 추출합니다.
- 이 내부 정보를 입력으로 하여, 오류(환각) 여부를 분류하는 모델(프로빙 분류기 등)을 학습하거나, 혹은 최소/평균 로그릿 같은 집계 통계로 오류 가능성을 평가합니다.
왜 이렇게 하면 더 좋을까?
- 장문의 답변 중, 진짜 ‘정답’이 되는 핵심 단어에 오류 정보가 가장 많이 담겨 있기 때문입니다.
- 만약 “Hartford”를 “Boston”으로 바꾼다면, 답변의 정확도가 ‘오답’으로 확 변해버리죠.
- 반면, “하트퍼드는 미국 동부에 있는…” 같은 부연설명 부분은 정답 여부와 직접 관련이 작을 수 있습니다.
- 기존에는 마지막 생성 토큰만 보거나(장문일 때 핵심 정보가 밀려남), 프롬프트 마지막 토큰만 보기도 했는데(모델의 단방향 특성상 실제 생성 내용을 파악 못 함), 이 방식들은 오류를 제대로 잡지 못하는 경우가 많았습니다.
간단 예시로 살펴보기
-
질문(Q): “코네티컷주의 수도는 어디인가?”
-
LLM 답변(A):
“코네티컷주의 수도는 하트퍼드(Hartford)입니다. 하트퍼드는 보험 산업으로 유명한 도시이며, …”
-
정확한 정답 추출
- LLM이 말한 긴 문장에서 “Hartford”가 바로 핵심 정답 토큰입니다.
-
정답 토큰 주변 살펴보기
- (직전) “는” / (정답) “하트퍼드” / (직후) “(Hartford)” 정도가 될 수 있습니다.
- 이 토큰들을 생성하는 과정에서 LLM 내부의 히든 스테이트를 가져옵니다.
-
프로빙 분류기 또는 로그릿 집계 적용
- 예를 들어, 히든 스테이트를 “이 답변이 맞는지 틀리는지”를 예측하는 작은 분류기에 입력합니다.
- 만약 이 토큰 근처의 히든 스테이트가 “틀렸다” 쪽으로 활성을 많이 보인다면, 답변이 잘못되었을 확률이 높다는 식으로 추론할 수 있습니다.
정리: 왜 유용한가?
- 정확한 정답 토큰 주변의 내부 정보가 가장 “이 답변이 맞는지, 틀렸는지”를 잘 알려줍니다.
- 따라서, 오류(환각)를 더 확실하게 잡아낼 수 있고, 특히 프로빙(probing) 기법(중간 활성화를 분류기에 넣는 방식)에서 성능이 크게 올라갑니다.
- 다만, 이 방식은 데이터셋(또는 작업 유형)마다 달라질 수 있어서, 한 번 학습한 오류 탐지기가 다른 작업에도 항상 잘 통한다는 보장은 없습니다.
- 그럼에도, 적어도 단일 과제나 유사 과제 내에서는 더 높은 정확도로 환각을 잡아낼 수 있다는 점이 주요 장점입니다.
해당 논문 본문(특히 3.2 섹션과 3.3 섹션에 인용된 내용)을 보면, logits
기반 방법은 별도의 분류기를 학습한다기보다는 **“LLM이 예측한 각 토큰의 확률(또는 logits)을 집계(aggregate)하여 단일 스코어로 사용하는 방식”**으로 구현되어 있습니다. 즉, 논문에 언급된 ‘Logits-mean’이나 ‘Logits-min’ 같은 기법은 **“토큰 레벨 확률(혹은 logit)을 최소/평균/최대 등으로 단순 집계한 뒤, 그 집계값을 오류(환각) 척도로 활용”**하고, ROC 커브를 그릴 때는 여러 임계값을 바꿔 가며 그 스코어를 기준으로 참/거짓을 구분하는 식입니다.
다시 말해,
- 프로빙(Probing) 기법은 중간 활성화(히든 스테이트) 벡터를 별도의 소형 분류기에 입력하여 학습하는 반면,
logits
기반 기법은 보통 추가 학습 없이 모델이 이미 계산한 출력 로짓(or 확률)들을 간단히 집계하여 “오류 가능성 점수”로 사용하는 형태입니다.
논문에서 별도의 로짓 기반 분류기(예: 로짓 값을 입력으로 하는 로지스틱 회귀)를 훈련한다는 구체적 언급은 없고, 집계 스코어에 대한 임계값(threshold)을 달리하여 에러 탐지 성능(ROC AUC 등)을 측정하는 방식이라고 보시면 됩니다.
Reference
- https://arxiv.org/pdf/2410.02707
- https://muni-dev.tistory.com/entry/LLMS-KNOW-MORE-THAN-THEY-SHOW-ON-THE-INTRINSIC-REPRESENTATION-OF-LLM-HALLUCINATIONS
댓글
댓글 쓰기