NL-246, SAC3: Reliable Hallucination Detection in Black-Box Language Models via Semantic-aware Cross-check Consistency, Findings of EMNLP 2023
◼ Comment
- LLM을 이용해서 환각검출하는 나름 괜찮은 시도의 방법인거 같다
- 예전에 QA 모델에서 question(입력)을 패러프레이징하여 응답을 여러개 추출하여 aggregation하여 성능 높이는걸 본 적이 있는데 비슷한 결이다
- 이 논문에서 주장하길 consistency=fact가 아니라는 것이다
- 그림 1이나 테이블 1이 그런거에 대한 예시이다
- 즉 self-model을 활용해서 응답을 여러개 샘플링하여 단순히 비교하는 방식은 한계가 있음을 지적한다 (selfcheckgpt 같은)
- selfcheckgpt는 기본적으로 주어진 입력에 응답만 여러개 추출해서 consistency을 파악하는거다
- 따라서 응답을 좀 더 다양화 하는 전략을 펼친다
- 여기서는 입력을 패러프레이징하고
- 패러프레이징된 여러 입력에 대해 여러 응답을 추출한다
- 그리고 이를 모두 consistency을 판단하는 것이다
- 입력이 패러프레이징됐지만 조금 달라졌기 때문에 (Q,A)을 하나의 쌍으로 비교를 한다
- 예를 들면, 원래 yes가 나와야하는 입력인데 반대로 물어보게해서 no가 나와야하는 경우도 있기 때문인거 같다
- 또한 모델을 self-model말고 proxy-model 느낌으로다가 다른 모델을 활용해서도 응답의 다양성을 높인다
- 이렇게 다양하게 (QA)쌍을 비교해가면서 yes/no을 추출하여 점수화한다
- SC2의 문제점:
- SC2의 경우, 상당수의 환각된 샘플이 매우 일관된(consistently high) 점수를 받는 것을 관찰했습니다.
- 이는 타겟 LM이 질문 및 모델 다양성이 부족하여 일관되게 잘못된 예측을 한 결과이며, Section 3의 분석과 일치합니다.
- proxy 모델을 써야하는 좋은 레퍼런스가 될 거 같음
Abstract
환각 감지는 현대 언어 모델(LMs)의 신뢰성을 이해하기 위한 중요한 단계입니다. 이를 위해, 우리는 기존의 언어 모델 자체 일관성(self-consistency)에 기반한 환각 감지 접근 방식을 재검토하고, 1) 질문 수준과 2) 모델 수준에서 발생하는 두 가지 유형의 환각을 발견했습니다. 이러한 환각은 단순히 자체 일관성 검사만으로는 효과적으로 식별할 수 없습니다.
이 발견을 바탕으로, 우리는 semantic-aware cross-check consistency(SAC3)이라는 새로운 샘플링 기반 방법을 제안합니다. SAC3은 자체 일관성 확인의 원리를 확장하여, 의미적으로 동등한 질문 변형과 교차 모델 응답 일관성 검사를 포함하는 메커니즘을 활용함으로써 질문 수준과 모델 수준 환각을 모두 감지할 수 있습니다.
광범위하고 체계적인 실증적 분석을 통해, SAC3가 여러 질문-응답 및 오픈 도메인 생성 벤치마크에서 비사실적 진술과 사실적 진술 모두를 감지하는 데 있어 SoTA을 능가한다는 것을 입증했습니다.
1 Introduction
대규모 사전 학습 언어 모델(LMs)은 사용자 프롬프트 이해를 바탕으로 개방형 응답을 생성해야 하는 다양한 자연어 작업에서 뛰어난 적응력을 보여주었습니다(Zhao et al., 2023). 그러나 GPT(Brown et al., 2020)와 PaLM(Chowdhery et al., 2022)과 같은 주요 언어 모델은 지나치게 확신에 찬 오류 있는 주장을 생성하는 경향을 보이는데, 이는 흔히 **환각(hallucinations)**이라고 불립니다. 이러한 현상은 사실적 정확성이 매우 중요한 도메인에서의 활용성을 크게 저해합니다.
환각은 출력 시퀀스의 불확실성을 포착하는 메트릭을 통해 감지할 수 있습니다. 그러나 이러한 메트릭은 토큰 단위의 로그 확률(log probabilities)에 대한 접근이 필요하며, 이는 ChatGPT나 Bard와 같은 제한된 API 접근만 제공하는 상용 블랙박스 언어 모델에서는 제공되지 않습니다. 이 제한을 극복하기 위해 최근 연구들은 자신감(confidence)과 자체 일관성(self-consistency) 간의 연관성을 구축함으로써 불확실성 추정을 근사하는 샘플링 기반 접근 방식을 탐구하고 있습니다(Lin et al., 2023; Manakul et al., 2023; Mündler et al., 2023).
이 원칙의 근본적인 전제는 언어 모델이 답변 내 토큰에 높은 확률을 부여할 때 더 일관된 응답을 생성하는 경향이 있으며, 이는 사실성과 관련이 있다는 것입니다. 반면에, 일관성이 없는 응답은 환각을 포함할 가능성이 더 높습니다. 이를 실현하기 위해, 현재의 접근 방식은 주어진 질문에 대해 언어 모델로부터 다수의 응답을 샘플링한 후, 응답 일관성 수준에 기반하여 각 문장의 환각 점수를 구성하도록 설계되었습니다.
주요 관찰 사항
본 연구에서는 언어 모델(LMs)의 자체 일관성과 다양한 작업에서 발생하는 환각 간의 관계를 조사했습니다. 연구 결과, 언어 모델의 자체 비일관성(self-inconsistency)이 환각과 종종 일치하는 반면, 자체 일관성(self-consistency)이 반드시 사실적인 답변을 보장하지는 않는다는 점을 발견했습니다(Figure 1 참조).
self-consistency인 문장들이라도 환각일 수도 있다는 점. 맞는 말이긴함
이는 자체 일관성이 진실성의 신뢰할 수 있는 지표로 작용할 수 있다는 기존 관념에 도전하며, 언어 모델이 자체 일관성 검사를 통해 탐지되지 않는 다양한 수준의 환각을 나타낼 수 있음을 보여줍니다.
그중 하나는 질문 수준 환각(question-level hallucination)으로, 특정 질문에 대해 모델이 일관되게 잘못된 답변을 생성하는 경우입니다(예: Table 1 참조).
- consistency와 factuality가 항상 같지는 않은 것을 보여줌
우리는 질문을 재구성(reformulating)함으로써 이러한 환각 사례를 완화할 수 있음을 확인했습니다.
또한, 연구는 모델 수준 환각(model-level hallucination)의 존재를 밝혀냈는데, 이는 서로 다른 언어 모델이 환각 발생에 있어 상이한 경향을 보임을 의미합니다.
놀랍게도, 더 작은 모델이 큰 모델이 환각을 보이는 질문에 대해 올바르게 답변하는 경우도 발견되었습니다. 이러한 결과는 환각을 평가할 때 모델별 특성을 고려해야 할 필요성을 강조합니다.
제안된 접근법
이러한 관찰에 영감을 받아, 우리는 블랙박스 언어 모델의 환각 감지를 개선하기 위해 SAC3(의미 인식 교차 검증 일관성)을 활용한 새로운 샘플링 기반 접근법을 도입했습니다(Fig. 2 참조).
-
질문 수준 환각 대응:
의미적으로 동등한 질문을 변형(perturb)하여 동일한 질문 변형에 대한 언어 모델의 응답 일관성을 평가하는 메커니즘을 도입했습니다. 변형된 질문들에 대한 생성 응답을 검토함으로써, 모델이 특정 질문에 대해 일관되게 잘못된 답변을 제공하는 경우를 식별할 수 있습니다. 이는 질문 수준 환각을 감지하는 데 유용합니다.
질문을 패러프레이징해서 응답을 샘플링한다는 의미인듯? -
모델 수준 환각 대응:
교차 모델 응답 일관성 확인(cross-model response consistency checking)을 도입하여 동일한 질문 세트에 대한 서로 다른 언어 모델의 응답을 비교했습니다. 이를 통해 특정 모델이 환각을 나타내는 반면, 다른 모델이 올바른 답변을 제공하는 사례를 식별할 수 있었습니다.
여러 모델로 응답을 샘플링 한다는 의미?
이러한 교차 검증 확장을 우리의 접근법에 통합함으로써 자체 일관성을 넘어서는 환각을 감지할 수 있는 능력이 크게 향상되었으며, 질문 수준 및 모델 수준 환각 존재에 대한 보다 포괄적인 평가를 제공합니다.
SAC3의 효과
SAC3의 효과는 여러 분류 및 오픈 도메인 생성 QA 데이터셋에서 입증되었습니다.
-
분류 QA 작업:
SAC3는 AUROC 점수 99.4%와 97.0%를 각각 달성하며, 자체 일관성 기준을 크게 초과하는 성능을 보였습니다. -
오픈 도메인 생성 QA 작업:
SAC3는 AUROC 점수 88.0%와 77.2%를 기록하며, 자체 일관성 기준을 각각 13.8% 및 6.7% 초과하여 성능을 대폭 향상시켰습니다.
2 Related Work
언어 모델(LMs)에서의 환각(Hallucination)
언어 모델(LMs)에서의 환각 문제는 성능에 미치는 부정적인 영향과 기계 번역(Zhou et al., 2020), 요약(Cao et al., 2022), 대화 생성(Das et al., 2023), 질의응답(Zhang et al., 2023a; Zheng et al., 2023b; Dhuliawala et al., 2023) 등의 다양한 자연어 처리(NLP) 작업에서 발생하는 위험성으로 인해 많은 주목을 받고 있습니다.
최근 조사(Ji et al., 2023; Zhang et al., 2023c; Ye et al., 2023)와 평가 벤치마크(Liu et al., 2021; Li et al., 2023a; Yang et al., 2023)는 이 문제를 해결하는 것의 중요성을 강조하고 있습니다.
이전 연구는 확률 기반 접근법(Xiao and Wang, 2021; Varshney et al., 2023; Chen and Mueller, 2023)을 사용하여 환각을 평가했으며, 이는 토큰 단위의 로그 확률(Kuhn et al., 2023; Cole et al., 2023)에 접근하거나 감독 학습 튜닝(Agrawal et al., 2023; Li et al., 2023b)을 통해 모델 내부 상태를 활용하는 방식이었습니다. 하지만 이러한 방법들은 LM에 API 접근만 가능한 경우에는 적용하기 어려울 수 있습니다(Agrawal et al., 2023).
다른 접근법으로는 외부 데이터베이스에서 지식을 검색하여 환각 문제를 해결하려는 연구(Ji et al., 2022; Zheng et al., 2023a; Peng et al., 2023; Zhang et al., 2023b)가 있습니다. 이와 달리 본 연구는 외부 자원에 의존하지 않고, 블랙박스 LM을 활용하여 개방형 질의응답(QA) 작업에서 환각을 탐지하는 데 초점을 맞춥니다.
LMs의 일관성 평가
논리적으로 유효한 지능형 시스템의 필수 특징은 **자기 일관성(self-consistency)**입니다. 자기 일관성은 시스템이 제공하는 두 문장이 서로 모순되지 않는다는 것을 의미합니다. Elazar et al. (2021)은 자기 일관성을 의미 보존적인 프롬프트 변환에서도 LM의 응답이 변하지 않는 성질로 정의했습니다. 이 정의는 Jang et al. (2022)가 제안한 여러 일관성 범주를 통해 더욱 풍부해졌습니다.
Wang et al. (2022)는 자기 일관성이 체인 오브 소트(chain of thought) 추론을 크게 향상시킬 수 있음을 보여주었습니다. 자기 일관성이 없다면 LM을 신뢰할 수 있는 시스템으로 간주하기 어려워집니다.
최근 연구에서는 사전 학습된 LM(Manakul et al., 2023) 및 명령어 튜닝된 LM(Mündler et al., 2023)을 기반으로 환각을 탐지하기 위해 자기 일관성을 활용했습니다. 이러한 방법들은 특정 작업에서 유망한 정확성을 보였으나, 자기 일관성의 잠재적 실패(Chen et al., 2023)가 현재 설정에서는 간과되고 있습니다. 이는 기존 LM이 질문(Mitchell et al., 2022) 및 사실적 지식 탐구(Elazar et al., 2021; Tam et al., 2023; Gekhman et al., 2023)에 대해 종종 일관되지 않은 응답을 제공하기 때문입니다.
본 연구는 교차 검증 일관성(cross-check consistency) 접근법을 도입함으로써 자기 일관성과 사실적 평가 간의 격차를 좁히는 것을 목표로 합니다.
3 Self-consistency Limitations in Factuality Assessment
사실성 평가에서 자기 일관성 가정의 한계
사실성 평가에서 자기 일관성(self-consistency)의 기본 가정은, 만약 언어 모델(LM)이 특정 개념에 대한 지식을 가지고 있다면, 출력 분포에서 샘플링된 응답이 유사하고 일관성을 가져야 한다는 것입니다.
- 즉 여러번 응답 샘플링했을때 유사한 의미들을 가져야 한다는 것. 만약 모르는거라면 매번 헛소리를 할 거기 때문?
- 반대로, LM이 해당 지식이 없을 경우, 샘플링된 응답에는 서로 상충되거나 왜곡된 환각 정보가 포함될 것이라는 가정입니다.
이러한 가정은 합리적으로 보일 수 있으나, 실제로는 항상 성립하지 않습니다(자세한 내용은 부록 A 참조).
특히, 다음 두 가지 상황에서는 LM의 자기 일관성만으로는 환각을 탐지하거나 사실성을 검증하기에 불충분하다고 주장합니다.
1. LM이 일관되게 환각된 정보를 생성하는 경우
특정 질문에 대해 LM은 일관되게 잘못된 응답을 생성할 수 있습니다. 예를 들어, Fig. 1에 나타난 바와 같이, 질문 “파이는 3.2보다 작은가?”에 대해 ChatGPT는 지속적으로 잘못된 답변을 생성합니다.
이 경우, 생성된 응답이 일관성을 가지지만 사실적이지 않기 때문에, 단일 모델의 자기 일관성 검증에만 의존할 경우 환각 탐지에서 거짓 음성(false negative) 결과를 초래할 수 있습니다.
2. LM이 원래 응답에서는 사실적 진술을 생성했으나, 샘플링된 응답이 사실성을 결여하는 경우
예를 들어, Fig. 1에 나타난 상원의원 검색 질문에 대해, ChatGPT는 온도 설정이 0인 상황에서의 초기 응답(Answer 1)에서는 사실적으로 정확한 답변을 생성합니다. 그러나 온도가 높아질수록 샘플링된 응답(Answer 2 및 Answer m)에서는 여러 잘못된 응답을 생성합니다.
이러한 경우, 샘플링된 응답이 초기 응답과 일치하지 않으며 원래 응답은 사실적이지만 샘플링된 응답이 비사실적인 경우, 모델 자체 검증에만 의존하는 방법은 환각 탐지에서 거짓 양성(false positive) 결과를 초래할 수 있습니다.
위의 2가지가 일관성으로 환각을 판단하기에 부정확한 케이스들임
- 예/아니오 질문에서 매번 틀린 답변을 하는 케이스
- greedy에서는 정답이지만 temperature을 높여서 샘플링하면 잘못된 응답을 말하는 케이스
- 이 외에도 뭐 일관성과 fact와 반대되는 여러 케이스가 있을거 같다
요약하자면, 샘플링된 응답의 불일치가 특정 작업에서 환각된 정보와 상관관계가 있다는 점이 실험적으로 입증되었지만, 일반적으로 **자기 일관성(self-consistency)**은 대형 언어 모델(LMs)의 진술의 사실성을 검증하는 데 있어 필수적이거나 충분하지 않습니다.
따라서 자기 일관성 검증에만 의존하는 방법은 복잡한 질의응답(QA) 및 개방형 생성 작업에서 환각을 정확히 탐지하지 못할 가능성이 있습니다. 이러한 한계를 해결하기 위해, 우리는 이 아이디어를 확장하여 더 신뢰할 수 있고 강력한 사실성 평가 방법을 설계할 필요성을 제기합니다.
4 SAC3 : Semantic-Aware Cross-check Consistency
이 섹션에서는 의미 기반 교차 검증 일관성(semantic-aware cross-check consistency) 접근법을 설명합니다. Fig. 1에는 이 접근법의 전체적인 개요가 제시되어 있으며, Table 1에는 각 구성 요소의 예시가 나와 있습니다. 아래에서는 각 구성 요소를 자세히 살펴보겠습니다.
4.1 Stage 1: Question-level Cross-checking via Semantically Equivalent Perturbations
기존의 의미 동등성을 포함(entailment) 또는 의역(paraphrasing)을 통해 평가하는 기술과 달리, 우리의 접근법은 입력 질의를 의미적으로 동등한 형태로 재구성(rephrasing)하여 의미 동등한 입력 변형을 생성하는 것입니다.
이를 달성하기 위해 대형 언어 모델(LLM) 프롬프트 기술의 발전을 활용합니다.
초기 입력 에서 시작하여, "질문 [원본 질문]에 대해 의미적으로 동등한 질문 개를 제공하시오"라는 프롬프트를 사용하여 개의 의미적으로 동등한 입력 을 생성합니다.
이 단계에서 생성된 입력의 품질을 보장하기 위해, 와 원본 입력 간의 의미적 동등성을 **쌍별(pair-wise)**로 다시 확인합니다.
이를 위해 다음과 같은 프롬프트를 사용합니다:
"다음 두 입력이 의미적으로 동등합니까? [원본 입력] [생성된 입력]"
의미적으로 원본 입력과 동일하지 않은 입력은 필터링하여 제거합니다.
이 연구에서 사용된 전체 프롬프트 템플릿은 부록 B에 제공되어 있습니다.
4.2 Stage 2: Model-level Cross-check with Additional Verifier LM
주어진 질의 에 대해 타겟 LM 가 생성한 초기 응답을 라고 합니다. 우리의 목표는 이 환각된(hallucinated) 것인지 감지하는 것이며, 이를 위해 의 예측 분포에서 샘플링된 응답을 분석합니다. 모델 수준의 환각을 피하기 위해 추가적인 검증자 LM 를 도입하여 모델 간 교차 검증(cross-checking)을 수행합니다. 두 모델의 응답은 다음과 같이 정의됩니다.
여기서 는 1단계에서 생성된 의미적으로 동등한 입력 의 개수입니다.
- x0가 기존 질문, xi가 패러프레이징한 질문들이고
- sTi가 타겟 LM T로 생성한 응답, sVi는 검증자 LM V로 생성한 응답
사실성 평가 단계
1. 자기 검증(self-checking)
의 사실성을 평가하기 위해, 타겟 LM 에서 개의 확률적 응답 샘플 집합 을 생성합니다.
검증자 LM 에서도 동일한 자기 검증 메커니즘을 적용하여 개의 응답 샘플 집합 을 생성합니다.
2. 질문 수준 교차 검증(question-level cross-checking)
각 변형된 입력 에 대해, 타겟 LM 로부터 개의 샘플 응답 집합 을 생성합니다.
마찬가지로 검증자 LM 에서도 개의 샘플 응답 집합 을 생성합니다.
- 모든 xi에 대해 여러 응답들을 샘플링한다
3. 샘플 집합 통합
모든 자기 검증 및 교차 검증에서 생성된 샘플들을 통합하여 다음과 같은 총 샘플 집합 를 생성합니다:
이 샘플 집합은 이후 일관성 점수(consistency score)를 계산하는 데 사용됩니다.
4.3 Stage 3: Consistency Score Calculation
이 단계에서는 이전 단계에서 생성된 샘플 집합을 활용하여 질문 수준 및 모델 수준 교차 검증 패러다임을 반영하는 수치적 일관성 점수를 계산합니다.
4.3.1 Semantic-aware Consistency Check of QA Pairs
기존 연구들은 주로 언어 모델(LM) 출력의 일관성을 검토하는 데 초점을 맞추며, 입력의 영향을 무시하는 경향이 있습니다. 그러나 질의응답(QA) 작업에서는 의미적 동등성(semantic equivalence)을 측정할 때 입력과 출력을 모두 고려하는 것이 중요합니다. 같은 질문이라도 다양한 방식으로 재구성될 수 있기 때문입니다.
예를 들어, 답변(“아니요”와 “예”)이 어휘적으로는 동등하지 않을 수 있지만, QA 쌍 전체로 보면 의미적으로 동등할 수 있습니다. 이를 바탕으로, 우리는 답변만이 아니라 QA 쌍의 의미적 일관성을 확인할 것을 제안합니다.
- 단순히 응답이 일관성있는지를 보는게 아니라 QA쌍이 일관성있는지를 보는것
- "아프세요? Yes" = "괜찮으세요? 아니요" 이런 케이스 때문이 아닐까 싶음
4.3.2 Self-checking Consistency (SC2) Score
는 두 개의 QA 쌍을 입력으로 받아 의미적 동등성을 확인하는 연산자를 나타냅니다. 이 연산자 는 두 QA 쌍이 의미적으로 동등하면 "Yes"를 반환하고, 그렇지 않으면 "No"를 반환합니다. 이 연산자는 반사성(reflexive), 대칭성(symmetric), **추이성(transitive)**을 만족해야 합니다.
우리는 다음 프롬프트를 활용하여 이 연산자를 언어 모델(LM)로 구현합니다:
"다음 두 QA 쌍이 의미적으로 동등합니까? [QA 쌍 1] [QA 쌍 2]"
그런 다음, 결과를 수치적 의미 동등 점수로 매핑합니다:
- “Yes” → 0.0
- “No” → 1.0
초기 QA 쌍을 로 표시합니다. 타겟 LM 의 자기 검증 점수(Self-Checking Score) 는 다음과 같이 계산됩니다:
여기서:
- 는 자기 검증 시나리오에서 생성된 QA 쌍을 나타냅니다.
- 는 샘플링된 응답의 개수를 의미합니다.
이 점수는 초기 QA 쌍 과 샘플링된 QA 쌍 간의 의미적 일관성을 평가하는 데 사용됩니다.
- 기존 질문과 응답이 있고
- 응답을 샘플링한것 들이 있는데
- 이 둘을 LLM에게 의미적으로 동등한지 LLM에게 물어본다
- 각쌍에 대한 점수를 Yes(1점), No(0점)으로 간주하여 평균냄
4.3.3 Question-level Consistency (SAC3-Q) Score
초기 질문 의 자기 검증(self-checking) 외에도, SAC3는 변형된 질문 에 대한 교차 검증 일관성(cross-check consistency)도 평가합니다. 이에 따라 생성된 QA 쌍들은 이차원 행렬을 구성합니다. 이 행렬에서 각 행은 변형된 질문(총 개)을, 각 열은 샘플링된 응답(총 개)을 나타냅니다. 행렬은 다음과 같이 정의됩니다:
여기서:
- : 변형된 질문들
- : 타겟 LM 가 생성한 -번째 질문에 대한 -번째 샘플링 응답
따라서 질문 수준 교차 검증 일관성 점수 는 다음 식으로 계산됩니다:
여기서:
- : 초기 QA 쌍
- : 변형된 질문과 샘플링된 응답으로 구성된 QA 쌍
- : 초기 QA 쌍과 각 변형된 QA 쌍 간의 의미적 동등성을 확인하는 연산자
이 점수는 초기 질문과 변형된 질문 간 QA 쌍의 의미적 일관성을 평가하는 데 사용됩니다.
- 4.3.2와 달리 이거는 패러프레이징된 질문에 대한 응답과의 쌍에 대한 점수이다
- 즉 x0 -> x1로 패러프레이징되고 이에대한 응답이 nq개만큼 샘플링됐다
- 그러면 (x0,s0)과 (x1, s1T1)이 동등한지 LLM에게 물어보는식으로 nq만큼 반복한다
- 패러프레이징되는 질문수만큼 반복적으로 계산하여 점수를 평균낸다 (점수는 4.3.2처럼 Yes는 1점 No는 0점으로 간주하고 할듯?)
4.3.4 Model-level Consistency (SAC3-M & SAC3-QM) Score
질문 수준 점수 외에도, 모델 수준 교차 검증 점수(model-level cross-check score)는 검증자 LM 를 사용하여 교차 모델 검증(cross-model checking)과 교차 질문 검증(cross-question checking)을 수행함으로써 계산됩니다.
1. model-level cross-checking consistency score ()
초기 질문 에 대해 모델 수준 교차 검증 일관성 점수 는 다음 식으로 계산됩니다:
여기서:
- : 검증자 LM 가 생성한 QA 쌍
- : 검증자 LM 에서 샘플링된 응답의 개수
- : 초기 QA 쌍 과 검증자 LM이 생성한 각 QA 쌍 간의 의미적 동등성을 평가하는 연산자
- 응답을 LM T가아닌 LM V로 샘플링한걸 활용해서 검증하겠다는 것 (4.3.2처럼)
2. cross-model cross-question consistency score ()
검증자 LM 가 생성한 QA 쌍에 대한 교차 질문 검증은 다음과 같은 이차원 행렬로 표현됩니다:
여기서:
- : 변형된 질문들
- : 검증자 LM 가 -번째 질문에 대해 생성한 -번째 응답
- : 검증자 LM이 각 질문에 대해 생성한 응답의 개수
교차 모델-교차 질문 일관성 점수는 다음 식으로 계산됩니다:
여기서:
- : 초기 QA 쌍
- : 변형된 질문 및 검증자 LM의 샘플 응답으로 구성된 QA 쌍
- : 초기 QA 쌍과 각 변형된 QA 쌍 간의 의미적 동등성을 평가하는 연산자
- 응답을 LM T가아닌 LM V로 샘플링한걸 활용해서 검증하겠다는 것 (4.3.3처럼)
이 점수들은 초기 질문과 변형된 질문에서 검증자 LM 의 응답이 얼마나 의미적으로 일관성 있는지를 측정하여, 모델의 신뢰성과 환각(hallucination) 탐지를 종합적으로 평가합니다.
4.3.5 Final Score and Model Confidence
SAC3의 다양한 변형(SAC3-Q, SAC3-M, SAC3-QM)은 초기 응답에 대한 불확실성의 서로 다른 측면을 포착하며, 상호 보완적인 역할을 해야 합니다. 따라서 모든 변형을 결합한 최종 점수를 다음과 같이 고려합니다:
- SC2 점수는 따로 구분하는 방법으로 보는듯 (아마 이전 연구 selfcheckgpt와 유사한 방법이기 때문이지 않을까 싶음)
여기서 는 검증자 LM에 대한 가중치 계수입니다. 별도의 언급이 없는 한, 실험에서는 기본적으로 을 사용합니다.
실제로 각 구성 요소의 계산은 독립적으로 이루어지기 때문에, 병렬로 처리하여 지연 시간을 줄일 수 있습니다.
최종 점수는 미리 설정된 임계값과 비교하여 탐지 여부를 결정합니다. 계산된 점수 외에도, 타겟 LM에 QA 쌍의 의미적 동등성을 확인할 때 **언어화된 신뢰 점수(verbalized confidence score)**를 생성하도록 요청합니다(Tian et al., 2023).
추가 논의는 부록 C.2에 제공됩니다.
5 Data and Annotation
우리는 환각 탐지 접근법을 두 가지 QA 작업 범주(분류형 QA와 생성형 QA)에 대해 평가하며, 각 범주는 두 개의 데이터셋을 포함합니다. 이전 연구(Zhang et al., 2023a)를 따라, 분류형 QA 작업의 평가를 위해 다음 두 개의 이진 분류 데이터셋을 사용합니다:
분류형 QA 작업
-
Prime number:
이 데이터셋은 1,000에서 20,000 사이의 임의의 소수(prime number)에 대해 소수 여부를 묻는 500개의 질문을 포함합니다. 실제 답변은 항상 **"Yes"**입니다.
생성된 환각 답변은 **"No, it is not a prime number"**입니다. -
Senator search:
이 데이터셋은 다음 템플릿을 따르는 500개의 질문으로 구성됩니다:
"미국 상원의원 중에서 [미국 주 이름]을 대표하고 [미국 대학 이름]을 졸업한 사람이 있었습니까?"
실제 답변은 항상 **"No"**입니다.
생성된 환각 답변은 **"Yes, there was a US senator that represented the state of [US STATE NAME] and whose alma mater was [US COLLEGE NAME]."**입니다.
생성형 QA 작업
생성형 QA 작업의 경우, 다음 두 개의 개방형 QA 데이터셋에서 질문을 가져와 LLM을 사용해 답변을 생성한 뒤, 이전 연구(Li et al., 2023a)를 따라 답변의 사실성을 수작업으로 주석 처리합니다.
-
HotpotQA-halu:
HotpotQA (Yang et al., 2018)의 학습 세트에서 무작위로 250개의 예제를 샘플링하고, gpt-3.5-turbo를 사용해 환각된 답변을 생성합니다.
그런 다음, 정답 및 지식을 비교하여 답변을 수작업으로 주석 처리합니다. -
NQ-open-halu:
Natural Questions (NQ)-open (Lee et al., 2019)은 보다 어려운 개방형 QA 벤치마크(Kwiatkowski et al., 2019)입니다.
HotpotQA-halu와 동일한 설정을 사용해 250개의 사실적 및 비사실적 예제로 구성된 소규모 데이터셋을 생성하고, 이를 수작업으로 주석 처리합니다.
데이터 주석 처리에 대한 더 자세한 내용은 부록 C.3에서 확인할 수 있습니다.
6 Experiments
6.1 Experimental Setup
평가 모델
우리 실험에서는 OpenAI의 gpt-3.5-turbo를 타겟 LM으로 사용합니다. 검증자 LM(verifier LM)은 다음 두 가지 모델 중 하나를 선택합니다:
-
Falcon-7b-instruct
- TII에서 개발한 오픈소스 causal decoder-only 모델로, RefinedWeb(Penedo et al., 2023) 데이터셋의 1,500억 토큰을 학습한 모델입니다.
- 추가적으로 선별된 데이터셋을 사용해 성능을 향상시켰습니다 (Almazrouei et al., 2023).
-
Guanaco-33b
- LLaMA (Touvron et al., 2023) 기반 모델에 QLoRA(Dettmers et al., 2023) 튜닝을 적용하여 OASST1 데이터셋에서 훈련한 오픈소스 명령어-따르기 모델입니다.
구현 세부사항
평가는 Azure OpenAI API를 사용하여 수행됩니다. 의미적 변형(semantic perturbation) 및 **일관성 검증(consistency checking)**을 수행할 때, 높은 품질의 결정론적 출력을 얻기 위해 온도를 0.0으로 설정합니다.
설정 및 매개변수
-
의미적 동등 입력 생성:
특정 입력 질의에 대해, Section 4.1에서 설명한 프롬프트를 사용하여 개의 의미적으로 동등한 입력을 생성합니다. -
자기 검증(SC2) 기반 방법:
이전 연구(Manakul et al., 2023)를 따라 온도를 1.0으로 설정하고, 개의 확률적 샘플을 생성합니다. -
SAC3-Q 및 SAC3-QM:
계산 비용을 줄이기 위해 로 설정합니다.
엥? 샘플링을 하나만 하니까 뭔가 앞서 설명했던거랑 다른 느낌 -
SAC3-M 및 SAC3-QM:
추론 비용을 추가로 줄이기 위해 기본적으로 로 설정하며, SAC3-M과 SAC3-QM을 결합하여 모델 수준 결과를 보고합니다.
성능 평가
-
성능 지표:
환각 탐지 정확도와 ROC 곡선 아래 면적(AUROC)을 사용해 성능을 평가합니다. -
추정된 환각 점수:
추정된 환각 점수 외에도 타겟 LM으로부터 언어화된 확률(verbalized probabilities)(Tian et al., 2023)을 표시하여 비교합니다.
실험 환경
모든 실험은 8개의 NVIDIA V100 32GB GPU에서 실행됩니다.
6.2 Evaluation Results
6.2.1 Classification QA
균형 데이터셋 (Balanced Dataset)
먼저, 환각 샘플 50%와 사실 샘플 50%로 구성된 균형 데이터셋에서 실험을 진행했습니다. Table 2는 SC2와 SAC3-Q의 AUROC 및 언어화된 신뢰 점수(verbalized confidence score)에 따른 탐지 성능을 비교한 결과를 보여줍니다.
- 결과 분석:
- 자기 검증(SC2)은 두 데이터셋 모두에서 성능이 저조했으며, 각각 65.9%와 56.1%의 낮은 AUROC를 기록했습니다.
- 질문 수준 교차 검증(SAC3-Q)은 SC2 기반 방법을 크게 능가하며, 두 데이터셋 모두에서 AUROC 99% 이상을 달성했습니다.
- 이는 언어화된 신뢰 점수와도 일치하며, 교차 검증의 효과를 확인할 수 있습니다.
불균형 데이터셋 (Unbalanced Dataset)
환각 샘플만 포함된 더 어려운 시나리오에서 방법을 평가했습니다. Table 3은 0.5의 미리 설정된 임계값을 사용해 환각 샘플을 탐지한 정확도를 보여줍니다.
여기서는 threshold을 줘서 환각 검출 성능 자체를 본 듯?
- 결과 분석:
- 자기 검증(SC2)의 성능은 크게 저하되어, 정확도가 각각 48.2%와 29.6%로 떨어졌습니다.
- SAC3-Q는 여전히 SC2를 큰 차이로 능가했습니다.
- 모델 수준 교차 검증(Verifier LM을 사용한 SAC3-M)은 Prime number 데이터셋에서 좋은 성능을 보였으나, Senator search 데이터셋에서는 환각을 정확히 탐지하지 못했습니다.
- 이는 검증자 LM들이 이 데이터셋의 많은 질문에 대해 충분한 정보가 부족하다는 이유로 응답을 거부했기 때문입니다.
종합 결과
- 타겟 LM을 결합한 SAC3-all (Guanaco-33b 사용)은 다음과 같이 가장 높은 탐지 정확도를 달성했습니다:
- SC2 대비 +51.2% 향상
- SAC3-Q 대비 +6.2% 향상
- SAC3-QM 대비 +5.0% 향상
임계값의 영향 (Impact of Threshold)
데이터셋이 환각된(positive) 샘플만 포함하는 경우, 임계값 선택이 탐지 정확도에 중요한 영향을 미칩니다. 이를 분석하기 위해 다양한 임계값에서 실험을 수행했으며, 결과는 Fig. 3에 제시되어 있습니다.
threshold을 다르게 줘도 일관적으로 SAC3-all 이 대체적으로 좋은 모습을 보여줌
- 결과 분석:
- SAC3-Q와 Guanaco-33b를 사용하는 SAC3-all은 높은 임계값에서도 더 **견고(robust)**한 성능을 보였으며, 대부분의 경우 SC2를 능가했습니다.
왜 자기 검증은 실패하는가? (Why Does Self-checking Fail?)
자기 검증(self-checking) 방법이 일부 환각된 응답을 탐지하지 못하는 이유를 이해하기 위해, Fig. 4에서 일관성 점수의 분포를 히스토그램으로 시각화했습니다.
SC2의 문제점:
- SC2의 경우, 상당수의 환각된 샘플이 매우 일관된(consistently high) 점수를 받는 것을 관찰했습니다.
- 이는 타겟 LM이 질문 및 모델 다양성이 부족하여 일관되게 잘못된 예측을 한 결과이며, Section 3의 분석과 일치합니다.
- proxy 모델을 써야하는 좋은 레퍼런스가 될 거 같음
SAC3-Q의 장점:
- 의미적으로 동등한 질문 변형(perturbation)의 이점을 활용한 SAC3-Q는 점수가 **불일치 영역(inconsistent region)**에 더 넓게 분포했습니다.
- 이는 적절한 임계값을 선택함으로써 환각을 더 효과적으로 탐지할 수 있도록 돕습니다.
6.2.2 Open-domain Generation QA
개방형 생성 QA 작업에서 환각 탐지
분류형 QA 작업에 비해, 개방형 생성 QA 작업에서 환각을 탐지하는 것은 더 어려운 과제입니다. Table 4에 따르면, SAC3-Q는 두 데이터셋 모두에서 SC2 대비 +7% 높은 AUROC를 기록했습니다.
- SAC3-Q와 SAC3-QM 비교:
- SAC3-QM은 HotpotQA-halu 데이터셋에서 SAC3-Q 대비 6.7% 향상된 성능을 보였지만, NQ open 데이터셋에서는 약간 낮은 성능을 보였습니다.
- SAC3-all의 성능:
- SAC3-all은 질문 수준과 모델 수준 교차 검증의 장점을 결합하여 두 데이터셋 모두에서 일관되게 우수한 성능을 보였습니다.
검증자 LM 가중치의 효과 (Effect of Verifier LM Weight)
이전 실험에서는 타겟 LM과 검증자 LM이 계산한 일관성 점수에 동일한 중요도를 부여했습니다. 그러나, 일반적으로 타겟 LM과 검증자 LM은 서로 다른 아키텍처와 규모를 가지며, 사용자들이 두 모델의 출력 신뢰성에 대해 서로 다른 수준의 신뢰를 가질 수 있습니다.
이러한 신뢰 차이는 검증자 LM이 계산한 일관성 점수에 가중치 를 도입하여 반영할 수 있습니다.
가중치 설정 가이드
-
전문 도메인 작업:
검증자 LM이 특정 도메인을 위해 개발된 도메인 전용 모델이라면, 높은 가중치()를 부여하여 점수에 더 큰 영향을 미치도록 설정할 수 있습니다. -
일반 작업:
검증자 LM이 소규모 오픈소스 모델이라면, 낮은 가중치()를 설정하여 검증자 LM의 영향을 줄일 수 있습니다.
실험 결과
Fig. 5에서 다양한 가중치가 개방형 생성 QA 데이터셋에 미치는 영향을 시각화했습니다.
-
HotpotQA-halu 작업:
- 검증자 LM이 타겟 LM보다 우수한 성능을 보이는 경우, 높은 가중치가 SAC3-Q 대비 SAC3-all의 성능을 더욱 향상시켰습니다.
-
NQ open 작업:
- 타겟 LM이 경쟁력 있는 성능을 보이는 경우, 낮은 가중치가 더 나은 결과를 가져왔습니다.
결론적으로, 검증자 LM의 성능과 신뢰 수준에 따라 가중치를 조정하는 것이 모델의 성능 최적화에 중요합니다.
변형된 질문 수의 효과 (Effect of the Number of Perturbed Questions)
샘플링 기반 방법의 성능은 샘플 크기가 증가함에 따라 향상될 것으로 예상되지만, 이는 더 높은 지연 시간과 계산 비용을 초래할 수 있습니다.
Fig. 6에서 우리는 변형된 질문 수 를 2에서 10까지 조정하여 이러한 트레이드오프를 분석했습니다.
-
결과 분석:
- 변형된 질문 샘플 수가 증가함에 따라 SAC3의 성능이 향상되는 것을 관찰했습니다.
- 그러나 질문 샘플이 5개를 초과한 후에는 성능 향상이 점차 감소했습니다.
-
실용적 시사점:
- 실제로는 2~4개의 질문 샘플만 사용해도 낮은 계산 비용으로 충분히 우수한 성능을 달성할 수 있음을 시사합니다.
- 비교모델로 할때는 동일한 LLM 인퍼런스 수로 해야할듯?
모델 유형의 효과 (Effect of the Model Type)
SAC3 프레임워크는 사용되는 LLM 유형에 제한을 두지 않으며, 다양한 타겟 LLM에 자연스럽게 확장 가능합니다. 이를 검증하기 위해, GPT-3.5 (gpt-3.5-turbo) 외에도 GPT-4 (gpt-4)와 PaLM 2 (chat-bison)를 사용하여 균형 데이터셋 설정에서 네 가지 데이터셋에 대해 실험을 수행했습니다.
Table 5는 SAC3-Q와 SC2 베이스라인을 비교한 실험 결과를 요약한 내용입니다.SAC3-Q는 모든 LLM 유형에서 SC2 베이스라인을 일관되게 능가하는 성능을 보였습니다.
계산 비용 (Computational Cost)
우리 접근법의 계산 비용은 OpenAI API와 오픈소스 LLM 추론에서 소모되는 모델 평가 횟수를 기준으로 모니터링했습니다.
샘플 수가 변형된 질문 수와 동일하다고 가정하면(), 비용은 다음과 같이 계산됩니다:
-
SC2의 비용:
- 번의 API 호출이 필요합니다.
-
SAC3-all의 비용:
- 번의 타겟 LM 호출
- 번의 검증자 LM 호출
- 추가적으로, SAC3에는 질문 변형 및 의미 동등성 검증을 위한 프롬프트 비용이 발생할 수 있습니다.
추가 논의는 부록 C.1에서 확인할 수 있습니다.
7 Conclusion and Discussion
우리는 언어 모델(LM)의 자기 일관성(self-consistency)과 응답의 사실성 간의 관계를 조사하고, 블랙박스 LMs에 대해 강력한 환각 탐지 접근법인 SAC3를 제안했습니다. 광범위한 실증적 분석을 통해 다음과 같은 주요 결과를 강조합니다:
-
자기 일관성 검증의 한계:
자기 일관성 검증만으로는 질문 수준과 모델 수준에서의 환각(hallucination)을 효과적으로 탐지하기에 불충분합니다. 특히, LM이 특정 질문에 대해 일관되게 잘못된 응답을 생성하는 경우 이를 탐지하지 못합니다. -
의미적으로 동등한 질문 간 교차 검증의 효과:
의미적으로 동등한 질문 간 교차 검증은 지속적인 환각의 발생을 줄일 수 있으며, 이는 질문 수준의 모호성을 감소시킴으로써 가능해집니다. -
모델 수준 환각의 차이:
환각에는 모델 수준의 차이가 존재하며, 이는 서로 다른 학습 절차와 데이터로부터 기인한 LM의 고유한 능력 차이에 기인합니다. 따라서, 특정 작업에서 탐지 정확도를 극대화하기 위해 검증자 LM을 작업에 따라 선택할 수 있습니다.
우리는 본 연구가 신뢰할 수 있는 LLM 구축을 위한 중요한 단계가 될 것이라고 믿습니다.
Limintations
현재 실험은 질의응답(QA) 설정에 초점을 맞추고 있습니다. 제안된 프레임워크의 일반화 가능성과 의미적 동등성 검증의 정확성을 대화 기반 프롬프팅이나 대화형 작업과 같은 더 복잡한 작업에 대해 평가하는 추가 연구가 필요합니다.
또한, 효율성과 유용성 간의 트레이드오프를 조사하는 것도 흥미로운 연구 주제가 될 것입니다. 예를 들어, 샘플 크기를 증가시키면 탐지 정확도가 향상될 것으로 예상되지만, 이는 추가적인 비용과 지연을 초래할 수 있습니다.
마지막으로, **병렬화(parallelization)**를 통해 구현 속도를 높이는 방안도 탐구할 가치가 있습니다.
Reference
댓글
댓글 쓰기