NL-234, A Stitch in Time Saves Nine: Detecting and Mitigating Hallucinations of LLMs by Validating Low-Confidence Generation, Preprint 2023
◼ Comment
- 이 논문이 어디 억셉된건 아닌거 같은데 나름 인용도 많이 됐고 페이지도 김
- 그림2가 이 논문에서 제안한 프레임워크임
- 각 단계에서 여러 방법을 시도해봤다고 하고, 빨간색 볼드체가 가장 좋은 방법이라고 한다
- 논문보면 가장 좋은 방법들은 그냥 llm에게 해줘! 라고 하는 것ㅋㅋ
- 그림2 프레임워크를 간단히 말하면
- 1) 처음에는 문장의 컨셉어를 찾고 (핵심 키워드 같은 개념)
- 2) 모델의 불확실성을 계산. 즉 할루시네이션 판단하는건데, 컨셉어가 갖고있는 토큰들의 확률중 가장 작은것을 기준으로 판단하는게 제일 좋다고함
- 3) 컨셉어에 대한 validation question 생성
- 4) web-search 을 통해 정보 증강
- 5) validate question에 대해 답변
- 6) 할루시네이션 수정하여 문장재생성
- 각 단계는 이렇게 그냥 llm에게 던지는 방법들임
- 이러한 전체적인 플로우에 대해 시도한 contribution은 있겠지만, 그냥 llm을 통해 이것저것 시도해본 느낌이고
- 할루시네이션 검출쪽에서만 노벨티가 있는거 같음
- selfcheckgpt와 비슷한 개념으로 접근한 방법이고 문장의 전체토큰이 아닌 컨셉어 토큰에 대해서만 하는게 성능 좋다는게 기억할만한 포인트!
- 그리고 평균이나 정규화곱 이런거 말고 단순히 minimum 확률로 간주하는게 효과적이란 느낌
Abstract
- 최근 개발된 대규모 언어 모델은 유창하고 일관된 텍스트를 생성하는 데 있어 놀라운 성과를 거두었습니다.
- 하지만 이러한 모델은 종종 '환각(hallucination)'을 일으키는 경향이 있어 신뢰성을 크게 저해합니다.
- 본 연구에서는 이러한 중요한 문제를 해결하기 위해 텍스트 생성 과정에서 환각을 적극적으로 탐지하고 완화하는 접근 방식을 제안합니다.
- 구체적으로, 모델의 logit 출력값을 활용하여 잠재적인 환각 후보를 식별한 후, 검증 절차를 통해 해당 내용의 정확성을 확인하고 탐지된 환각을 완화한 뒤 생성 과정을 이어갑니다.
- GPT-3.5(text-davinci-003)을 사용하여 article generation task에서 수행한 광범위한 실험을 통해, 먼저 제안된 탐지 및 완화 기술의 개별적인 효능을 입증했습니다.
- 탐지 기술은 약 88%의 재현율(recall)을 달성했으며, 완화 기술은 정확히 탐지된 환각의 57.6%를 성공적으로 완화했습니다.
- 특히, 완화 기술은 잘못 탐지된 환각(즉, false positive)조차도 새로운 환각을 유발하지 않는 것으로 나타났습니다.
- 또한, 제안된 능동적 탐지 및 완화 접근 방식은 GPT-3.5 모델의 환각 발생 비율을 평균 47.5%에서 14.5%로 줄이는 데 성공했습니다.
- 추가 연구를 통해 다단계 질문(multi-hop questions), 거짓 전제(false premise) 질문 등 다양한 유형의 질문에 대한 성능과 다른 모델 계열(Vicuna)의 LLM에서도 본 접근 방식의 효과와 폭넓은 적용 가능성을 입증했습니다.
- 요약하면, 본 연구는 대규모 언어 모델의 신뢰성과 신뢰성을 향상시키는 데 기여하며, 실질적인 응용 분야에서의 광범위한 채택을 가능하게 하는 중요한 단계를 제시합니다.
1 Introduction
- 최근 개발된 대규모 언어 모델인 GPT-3, InstructGPT, PaLM, LLaMA 및 기타 모델들(Taori et al., 2023; Scao et al., 2022; Wei et al., 2022a; Wang et al., 2022)은 광범위한 언어 이해 작업에서 놀라운 성능을 보여주었습니다.
- 또한, 이 모델들은 유창하고 일관성 있는 텍스트를 생성하는 뛰어난 능력을 가지고 있음이 입증되었습니다.
- 그러나 이러한 능력에도 불구하고 이 모델들의 ‘환각(hallucination)’ 경향은 신뢰성을 크게 저해하며, 실제 응용에서의 광범위한 채택을 제한하는 주요 요인으로 작용하고 있습니다.
- 언어 모델에서의 환각은 구문적으로는 올바르고 유창하며 자연스러워 보이지만, 사실적으로는 부정확하거나, 비논리적이거나, 제공된 소스 입력에 충실하지 않은 텍스트나 응답을 생성하는 것을 의미합니다.
- 이러한 환각은 잘못된 정보의 확산, 개인정보 침해 등 심각한 결과를 초래할 수 있습니다.
- 따라서 본 연구에서는 대규모 언어 모델의 환각 문제를 ‘해결’하는 데 초점을 맞춥니다.
- 우리는 텍스트 생성 과정에서 환각을 적극적으로 ‘detect’하고 ‘mitigate’하는 방안을 제안합니다.
- 이는 생성된 문장이 환각적일 경우, 이후에 생성되는 문장에서도 환각이 발생할 가능성이 높아진다는 점을 고려할 때 매우 중요합니다.
- 따라서 환각을 적극적으로 탐지하고 완화하는 것은 이후 문장으로 환각이 전파되는 것을 방지하는 데도 중요합니다.
- 본 접근법은 크게 두 단계로 나눌 수 있습니다:
- 탐지(Detection)와 완화(Mitigation)
- 생성된 문장에서 잠재적인 환각의 후보, 즉 주요 ‘개념(concepts)’을 식별합니다.
- 다음으로, 모델의 logit 출력 값을 활용하여 식별된 개념에 대한 모델의 ‘불확실성(uncertainty)’을 계산합니다.
- 우리는 이 불확실성이 환각의 신호를 제공한다는 것을 보여주지만, 이는 추가적인 신호일 뿐 필수적인 요소는 아닙니다.
- 이후, 식별된 ‘불확실한’ 개념의 정확성을 검증하는 절차를 진행합니다.
- 이 과정은 다음 단계로 구성됩니다:
- (a) 개념과 관련된 정보의 정확성을 테스트하는 쿼리 생성,
- (b) 검증 질문과 관련된 지식 검색,
- (c) 검색된 지식을 활용하여 검증 질문에 답변하고, 생성된 문장에서 해당 정보를 확인하여 환각 여부를 탐지합니다.
- 이후에는 환각 완화(mitigation) 단계로 넘어가며, 검색된 지식을 증거로 사용하여 잠재적으로 환각이 포함된 문장을 ‘수정(repair)’합니다.
- 그림 2는 이 접근법의 주요 단계를 보여줍니다.
- 위 그림처럼, 주어진 문장의 key concepts을 뽑고, 이에 해당하는 uncertainty을 계산 (token 생성 logit 이용하는듯)
- 불확실성 높은 토큰에 대해 validation question 생성후, 웹검색통해서 환각 답변?을 얻어낸다
- 이러한 정보를 통해 문장 수정하여 할루시네이션 제거
- 또한, 각 단계의 목표를 달성하기 위해 다양한 기술을 탐구하는 체계적이고 폭넓은 연구를 수행했습니다.
- 특히, 단순히 모델에 지시(instruction)를 내리는 것만으로도 각 단계의 목표를 효과적으로 달성할 수 있음을 보였습니다.
- 실험 설계에서는 모델에게 스포츠, 정치, 음악, 문학 등 다양한 분야의 주제에 대해 글을 작성하도록 요청했습니다.
- 이후 각 주제에서 처음 생성된 다섯 문장의 정확성을 레이블링 처리했습니다.
- 우리는 먼저 탐지와 완화 기술 각각의 개별적인 효과를 입증했습니다.
- 구체적으로, 탐지 기술은 약 88%의 재현율(recall)을 달성했으며, 완화 기술은 정확히 탐지된 환각의 57.6%를 성공적으로 완화했습니다.
- 특히, 완화 기술은 잘못 탐지된 환각(false positive)에서도 새로운 환각을 도입하지 않았습니다.
- 마지막으로, 제안된 능동적 탐지 및 완화 접근법이 GPT-3.5(text-davinci-003) 모델의 환각 비율을 평균 47.5%에서 14.5%로 성공적으로 줄였음을 보여주었습니다(그림 1).
- 추가 연구를 통해 이 접근법의 효과와 폭넓은 적용 가능성을 입증했습니다:
- (1) 다른 모델 계열의 LLM(Vicuna-13B)을 활용한 테스트,
- (2) 다중 단계(multi-hop) 질문에 대한 접근법의 적응,
- (3) ‘거짓 전제 질문(false premise questions)’에 대한 평가.
2 Approach
2.1 Overview
- 우리는 생성 과정에서 환각을 적극적으로 탐지하고 이를 완화할 것을 제안합니다.
- 이는 중요한데, 입력에 대해 이전에 생성된 문장에서 모델이 이미 환각을 발생시켰다면, 이후 생성되는 문장에서도 환각이 더 자주 발생한다는 것을 보여주었기 때문입니다(3.1.1절).
- 반대로, 이전 문장에서 환각이 발생하지 않았다면, 이후 생성된 문장에서 환각이 발생할 확률이 상대적으로 낮아집니다.
- 따라서 환각을 적극적으로 탐지하고 이를 완화하는 것은 이후 생성되는 문장에서 환각이 확산되는 것을 방지하기 위해서도 중요합니다.
- snowball 환각과 비슷한 결론. 앞에서 틀리거나 환각발생해버리면 뒤의 생성에 영향을 주게됨 (당연한 얘기긴함)
- 이를 위해, 우리는 모델을 통해 문장을 반복적으로 생성하며 환각을 적극적으로 탐지하고 완화하는 과정을 실행합니다.
- 그림 2는 이 접근법의 주요 단계를 보여줍니다.
- 2.2절에서는 우리의 환각 탐지 접근법의 단계를 상세히 설명합니다.
- 즉, 생성된 문장의 중요한 ‘개념(concepts)’을 식별하여 잠재적 환각 후보를 파악하는 단계(2.2.1),
- 로그잇(logit) 출력 값을 사용하여 개념에 대한 모델의 불확실성을 계산하는 단계(2.2.2),
- 검증 쿼리를 생성하여 정확성을 확인하는 단계(2.2.3),
- 관련 지식을 검색하는 단계(2.2.4),
- 검색된 지식을 활용해 정보를 검증하는 단계(2.2.5)로 구성됩니다.
- 우리는 각 단계의 목표를 달성하기 위한 다양한 기술을 제시하고, ‘자체 질의(self-inquiry)’ 방법을 사용하여 외부 지식 소스를 사용하지 않고 검증 질문에 답변하는 방법,
- 그리고 모든 개념에 대해 병렬적으로 검증 절차를 실행하는 것과 불확실성에 기반하여 순차적으로 실행하는 것 간의 트레이드오프에 대해 논의합니다.
- 각 단계마다 가장 선호되는 기술(*)을 표시하고 그 이유를 제공합니다.
- 2.3절에서는 환각 완화 접근법에 대해 자세히 설명합니다.
- 구체적으로, 검색된 지식을 증거로 활용하여 환각된 정보를 제거하거나 대체함으로써 환각된 문장을 ‘수정(repair)’하며, 검색된 지식을 문맥(context)으로 활용(입력 앞에 추가)하여 다음 문장을 생성하는 데 사용할 수도 있습니다.
2.2 Hallucination Detection
2.2.1 Identify Key Concepts
- 첫 번째 단계에서는 생성된 문장에서 중요한 개념(concepts)을 식별합니다.
- 문장 전체의 정확성을 한 번에 검증하는 것은 비현실적이기 때문에 이러한 개념을 식별하는 것이 필요합니다.
- 이 논문은 다른 문장을 샘플링하진 않고, 주어진 문장에서 최대한 환각을 찾아내는 식인듯
- 이는 하나의 문장이 여러 측면을 포함하고 있을 수 있으며, 이를 한꺼번에 검증하는 것은 불가능하기 때문입니다.
- 반면, 개별 개념의 정확성을 검증하면 환각을 더 정확히 탐지할 수 있는 기회를 제공합니다.
- 따라서 이 단계의 목표는 잠재적 환각 후보를 식별하는 것입니다.
- 여기서 개념 또는 핵심 구(keyphrase)는 하나 이상의 단어로 구성된 텍스트 범위를 의미합니다.
- 우리는 다음과 같은 기술들을 사용하여 개념을 식별합니다:
- 1. Entity Extraction:
- 문장에서 엔티티는 일반적으로 중요한 부분이므로, 기성(entity extraction) 모델을 사용하여 개념을 식별합니다.
- 이 방법의 한계는 개념이 반드시 엔티티일 필요는 없으며, 비엔티티(non-entity) 범위일 수도 있다는 점입니다.
- 이 한계를 해결하기 위해 키워드 추출 모델을 사용합니다.
- 2. Keyword Extraction:
- 비엔티티 개념도 식별하기 위해 기성 키워드 추출 모델을 탐구합니다.
- 이 모델은 Keyphrase Boundary Infilling with Replacement(KBIR)를 기반으로 하며, KPCrowd 데이터셋(Kulkarni et al., 2021)을 사용하여 미세 조정(fine-tuning)되었습니다.
- 3. Instructing the Model:
- 최신 언어 모델이 광범위한 작업에서 뛰어난 성능을 보이기 때문에, 이 방법에서는 생성된 문장에서 중요한 개념을 식별하도록 모델에 직접 지시합니다.
- 이 방법의 중요한 특징은 엔티티 또는 키워드 추출 모델과 같은 특정 작업 도구를 호출할 필요가 없다는 점입니다.
- 이와 같은 다양한 기술을 비교 및 평가하여 개념 식별의 효과를 높이고, 개별적인 개념 검증을 통해 더 나은 환각 탐지를 가능하게 합니다.
- 문장을 바로 환각 검증하지 않고, 환각의 후보?를 식별하기 위해, 기존 entity 추출모델, keyword 추출 모델을 써보기도하고
- + llm에게 지시해서도 중요 컨셉들을 추출해보기도 한다.
- 부록 A.1의 표 7은 세 가지 기술을 사용하여 식별된 개념의 예를 보여줍니다.
- 해당 표에서, 엔티티 추출 모델은 많은 중요한 개념을 놓치는 반면, 키워드 추출 모델은 불필요한 개념도 많이 식별하는 것을 확인할 수 있습니다.
- 이에 반해, 지시 방법(instruction technique)은 모든 중요한 개념을 성공적으로 식별합니다.
- 또한, 이 방법은 특정 작업 도구를 호출할 필요가 없다는 장점이 있습니다.
- 따라서 우리는 이 기술을 (*)로 표시하며, 이 단계를 위한 선호 기술로 선정했습니다.
- 가장 좋은 방법은 llm에게 지시하는 방법이라고 함
- 딱히 평가는 한거 같지 않고, 정성적으로 본건가?
- 즉 최종모델은 llm으로 컨셉을 뽑는듯
2.2.2 Calculate Model’s Uncertainty
- GPT-3와 기타 여러 공개 모델은 예측 응답에서 logit 출력 값을 제공합니다.
- 따라서 우리는 이러한 로그잇 출력 값을 환각 탐지에 활용할 수 있는지 연구했습니다.
- 그러나 이는 추가적인 정보 소스일 뿐이며, 모든 모델이 logit 값을 제공하지는 않기 때문에(일부 모델은 API 호출을 통해서만 접근 가능하며 logit 값을 제공하지 않음) 우리의 환각 탐지 방법에 필수적인 요소는 아님을 명시합니다.
- 그 selfcheckgpt 논문에서도 logit을 활용한 환각탐지를 시도하는데, 그렇게 효과적이진 않았음.
- 새롭게 logit을 활용하는 방법이 있을라나? logit은 토큰 개별의 정보라 볼 수 있으니, 문장전체를 보는거+logit을 결합하는 방법이 있을라나?
- 개념(concept)은 하나 이상의 토큰으로 구성될 수 있으며, 모델은 토큰 수준에서 logit 출력 값을 제공합니다.
- 따라서 개념에 대한 확률 점수를 계산하기 위해 세 가지 서로 다른 기술을 연구했습니다.
- 하나의 개념이 \(n\)개의 토큰으로 구성되고, 각 토큰 위치에서의 최대 소프트맥스 확률이 \(p_1, p_2, p_3, ..., p_n\)이라고 가정합니다.
- 이러한 확률은 각 토큰 위치의 logit 값에 소프트맥스 함수를 적용하여 얻습니다.
- 우리는 다음과 같은 기술을 연구했습니다:
- 1. 토큰 확률의 평균(Average of Token Probabilities)
- 2. 토큰 확률의 정규화된 곱(Normalized Product of Token Probabilities)
- 3. 토큰 확률의 최솟값(*Minimum of Token Probabilities*)
- 이 단계에서 우리는 토큰 확률의 최솟값(MIN)을 선호하는 기술로 선택했습니다.
- 이는 다른 기술들이 토큰에 대한 모델의 불확실성을 평균화하거나 상쇄시키는 경향이 있는 반면, 개념의 단일 토큰에서 낮은 확률이 나타난다면 이는 모델이 해당 토큰에 대해 불확실하다는 강력한 증거를 제공하기 때문입니다.
- 예를 들어, 모델이 미국 대통령의 이름에 대해 불확실한 경우, 첫 번째 토큰(‘Joe’)에 대한 불확실성이 높지만, 다음 토큰(‘Biden’)에서는 불확실성이 매우 낮을 것입니다.
- 이는 ‘Joe’라는 토큰 뒤에 ‘Biden’이 자주 등장하기 때문입니다.
- 따라서 확률을 평균화하거나 정규화하는 방식은 이러한 신호를 포착하는 능력이 제한적일 수 있습니다.
- 근데 이럴꺼면, 첫번째 토큰은 빼고 한다는지 등 휴리스틱한게 있는게 조~금더 낫지 않을까?
- 우리의 실험(3.1.2절)을 통해 이 점수(특히 ‘MIN’)가 환각의 신호를 제공한다는 것을 입증했습니다.
- 즉, 모델이 개념에 대해 더 불확실할수록(낮은 확률 점수), 해당 개념에 대해 환각을 발생시킬 가능성이 더 높아집니다.
- 하지만 이 점수는 단지 환각 가능성을 나타내는 신호일 뿐, 환각의 존재를 보장하는 것은 아님을 강조합니다.
- 우리는 이 신호를 활용하여 불확실한 개념에 대해 검증 절차(2.2.3-2.2.5)를 통해 환각 여부를 확인합니다.
- In the absence of logit output values:
- logit 값을 제공하지 않는 모델의 경우, 시스템의 계산 및 지연 예산에 따라 모든 개념 또는 휴리스틱적으로 선택된 일부 개념을 검증 단계에 전달하여 환각을 탐지할 수 있습니다.
2.2.3 Create Validation Question
- Question Generation Tool:
- 이 접근법에서는 기존 질문 생성 모델을 사용하여 질문을 생성합니다.
- 모델에 지시하기(Instructing the Model):
- 이 방법에서는 모델에 직접 지시하여 선택된 개념에 대한 정보의 정확성을 확인하는 검증 질문을 생성합니다.
- 개념 식별 단계에서와 마찬가지로, 이 방법은 특정 작업 도구를 호출할 필요가 없기 때문에 선호 기술로 선택되었습니다.
- 또한, Yes/No 질문 대신 Wh-질문을 사용할 수도 있다는 점에 주목합니다.
- 하지만 Yes/No 질문은 상대적으로 답변을 확인하기 쉬우므로 이를 선호합니다.
- 우리는 Wh-질문을 활용한 사례 연구를 통해 멀티홉 질문에 답변하는 방법을 탐구했습니다(4.2절).
- 여기서도 LLM에 지시하는게 성능이 더 낫다는거 같음
2.2.4 Find Relevant Knowledge
- Web Search*:
- 검증 질문에 답하기 위해 관련 지식을 검색하여 추가적인 맥락(context)으로 활용합니다.
- 일반성과 폭넓은 적용성을 위해 Bing 검색 API를 사용하여 이러한 지식을 검색하지만, 다른 검색 API나 지식 코퍼스도 이를 위한 용도로 사용할 수 있습니다.
- Self-Inquiry:
- 모델에 직접 지시하여 검증 질문에 답하도록 하는 방법도 탐구합니다.
- 이 기술에서는 모델이 자신의 매개변수 지식(parametric knowledge)에 의존하여 질문에 답변합니다.
- 그러나 이 방법은 웹 검색과 비교했을 때 몇 가지 단점이 있습니다.
- 예를 들어, 모델의 매개변수 지식에서 신뢰할 수 있는 정보를 추출하는 전략이 부족하며, 모델의 지식이 최신 정보를 포함하지 않을 가능성도 있습니다.
- 이 단계는 기본적으로 컨셉어에 대해 새로운 정보를 획득하는 것임
- 성능적으론 web search가 낫다하지만, 이 방법이 selfcheck 개념임.
- 제안된 지식 검색 단계의 장점:
- 우리의 접근법에서 제안된 지식 검색 단계는 다음과 같은 여러 이점이 있습니다:
- 1. 불필요한 검색 방지: 모델이 이미 충분히 자신감이 있는 경우, 즉 환각 가능성이 낮은 경우에는 지식을 검색하지 않습니다.
- 2. 관련성 높은 지식 검색: 계산된 확률 점수가 낮은 특정 개념에 대해 개별적으로 관련 지식을 검색하여, 정확한 검증 및 수정에 필요한 충분하고 적절한 맥락을 제공합니다.
2.2.5 Answer Validation Question
- 이 단계에서는 모델에 검증 질문에 답하도록 지시하고(검색된 지식을 맥락으로 활용), 모델의 응답을 확인합니다.
- 만약 모든 불확실한 개념에 대해 검증 절차가 성공하면 다음 문장을 생성하게 되고, 그렇지 않으면 생성 과정을 중단하고 문장에서 잠재적인 환각을 수정한 후 다시 생성 과정을 진행합니다.
- 즉 LLM이 다음 문장을 생성하기전에 현재 문장의 환각을 잡아주면서 진행하는식
- Order of Validation of Concepts:
- 다양한 개념의 검증은 계산된 확률 점수에 따라 순차적으로(오름차순) 또는 병렬로 진행할 수 있습니다.
- 그러나 병렬로 진행하려면 여러 스레드를 시작해야 하며, 이는 모든 머신에서 지원되지 않을 수 있습니다.
- 따라서 본 연구에서는 순차적인 검증 전략만을 연구했지만, 병렬로 실행함으로써 더 효율적으로 만들 수 있음을 주목합니다.
- 우리는 이 순차적 검증을 첫 번째 잠재적 환각이 감지되면 완화 단계로 진행하는 탐욕적(exit) 전략으로 간주합니다.
2.3 Hallucination Mitigation
- 생성된 문장에서 환각을 완화하기 위해, 우리는 모델에게 생성된 문장을 수정하도록 지시합니다.
- 여기서도 환각을 경감하기 위해 그냥 LLM을 태우는 식인듯.. 이거는 어떻게 업그레이드 못하나?
- 이 수정은 검색된 지식을 증거로 사용하여 환각된 정보를 제거하거나 대체하는 방식으로 이루어집니다.
- 표 6은 우리의 접근법의 다양한 단계에 대한 지시문을 보여줍니다.
- 쉽게 말해서 그냥 환각을 검출/완화하는 스텝을 LLM한테 지시하면서 진행한거라 봐도 크게 무리 없는듯
- 당연 LLM의 성능은 만능이 아니기 때문에, 중간에 잘못되거나 noise가 낄 수 있을텐데, 아래에서 말하길 그럼에도 불구하고 효과적으로 작동한다고 함
- Note:
- 검증 절차의 결과는 검색된 지식과 모델이 그 지식을 검증 질문에 답하는 데 활용할 수 있는 능력에 의존한다는 점을 주목해야 합니다.
- 따라서 문장이 실제로 환각되지 않았더라도 검증 절차에서 환각이 있다고 보고될 수 있는 경우도 존재할 수 있습니다.
- 그러나 **3.2절**에서는 우리의 접근법이 이 작업에서 상당히 잘 수행됨을 보여주며, 또한 높은 재현율을 달성하여 환각을 탐지하는 데 있어 효과적임을 입증합니다.
- 또한 **3.3절**에서는 우리의 완화 접근법이 잘못 검출된 환각(즉, false positives)에도 새로운 환각을 도입하지 않음을 보여줍니다.
2.4 Design Decisions
- 왜 환각 문제를 여러 단계로 나누는가?
- 환각 문제를 해결하는 작업은 복잡한 과제이며, 이전 연구에서 복잡한 작업을 더 간단한 하위 작업으로 나누는 것이 모델이 문제를 해결하는 데 도움이 된다고 밝혀졌습니다 (Wei et al., 2022b; Zhou et al., 2023; Khot et al., 2023).
- 따라서 우리는 이 작업을 모델이 더 쉽게 처리할 수 있도록 여러 하위 작업으로 나누었습니다.
- 같은 이유로 검증 절차도 여러 단계로 나누었습니다.
- 왜 웹 검색을 사용하여 검증을 수행하는가?
- 우리가 지식을 검색하는 선호 기술로 웹 검색을 사용하는 이유는, 웹이 지식 코퍼스에 비해 더 최신 정보를 포함할 가능성이 높기 때문입니다.
- 지식 코퍼스는 시간이 지남에 따라 정보가 오래되거나 불완전해질 수 있습니다.
- 왜 "적극적" 탐지 및 완화(active detection & mitigation)를 사용하며, "후속 처리(post-hoc)" 방식은 아닌가?
- 여기서 후속처리란 전체 문장생성되고 처리하는 방식인듯?
- 우리의 탐지 및 완화 기술은 "후속 처리" 방식으로도 적용할 수 있습니다.
- 그러나 "후속 처리" 방식에는 몇 가지 한계가 있으며, 이는 "적극적" 접근 방식에서 해결됩니다.
- "적극적" 접근 방식은 이후 생성되는 문장에서 환각이 확산되는 것을 방지합니다.
- 즉, 처음에 생성된 문장에서 환각이 발견되면 이를 완화하고, 이후 생성되는 문장에서 경로 수정이 이루어집니다.
- 그러나 "후속 처리" 방식은 그런 기회를 제공하지 않습니다.
- 다시 말해, "적극적" 접근 방식에서는 모델이 완화된/수정된 문장을 보면서 이후 문장을 생성하므로 더 정확하고 일관성 있으며 유창한 출력을 생성합니다.
- 반면 "후속 처리" 방식에서는 생성된 문장이 초기 생성 문장을 바탕으로 하므로, 완화된 문장이 이후 문장 생성에 영향을 미치지 않게 되어, 출력이 덜 일관되고 유창할 수 있습니다.
- 추론 비용에 미치는 영향
- 우리의 접근법은 환각을 줄이는 형태로 개선을 이루어 모델의 신뢰성을 높여주지만, 그만큼 추론 비용이 증가합니다.
- 그러나 우리는 현재 시점에서 LLM의 광범위한 채택을 가능하게 하려면 신뢰성과 신뢰성 문제를 해결하는 것이 더 중요하다고 생각합니다.
- 컴퓨팅 기술은 빠르게 발전하고 있기 때문입니다.
- 또한, PaLM(540B) (Chowdhery et al., 2022), Gopher(280B) (Rae et al., 2021), MT-NLG(530B) (Smith et al., 2022)와 같은 수십 배 더 많은 매개변수를 가진 더 큰 모델들이 개발되고 있으며, 이들 모델은 추론 비용이 훨씬 더 높습니다.
- 이는 시스템 성능 개선에 대한 커뮤니티의 큰 관심을 나타냅니다.
- 그러나 우리의 접근법은 이전에 논의된 다양한 기술들(예: 개념을 병렬로 검증하고, 이 중간 단계를 더 작은 저비용 모델로 실행)을 사용하여 더 효율적으로 만들 수 있습니다.
3 Experiments and Results
- 이 섹션에서는 먼저 우리의 접근법을 동기화한 두 가지 발견(3.1.1 및 3.1.2)을 설명합니다.
- 그 후, 3.2와 3.3에서 각각 우리의 환각 탐지 및 완화 기술의 개별적인 효능을 보여주고, 마지막으로 3.4에서 제안된 적극적인 탐지 및 완화 접근법이 환각 문제를 해결하는 데 효과적임을 보여줍니다.
- Data and Annotation:
- 우리의 실험 설정에서는 대형 언어 모델(GPT-3.5: text-davinci-003)을 사용하여 다양한 주제에 대해 글을 작성하게 합니다.
- 구체적으로, 우리는 다양한 분야에서 총 150개의 주제를 사용합니다.
- 그림 3은 우리의 주제 세트에서 각 분야의 분포를 보여줍니다.
- 각 분야에서는 다양한 종류의 주제를 포함하며, 예를 들어 스포츠 분야는 스포츠 인물, 관리자, 팀 및 경기 등을 포함하고, 음악은 음악가, 노래, 음악 레이블 및 밴드를, 정치 분야는 정치인, 정당 및 선거를 포함하고, 영화 및 TV는 배우, TV 인물, 프로그램 및 영화를 포함합니다.
- 역사 분야는 역사학자와 사건 등을 다룹니다.
- 사람들의 이름을 선택할 때는 WikiBio 데이터셋(Lebret et al., 2016)에서 가장 긴 20%의 기사들 중에서 무작위로 샘플링한 이름을 사용합니다 (Manakul et al., 2023과 동일).
- 마찬가지로, 다른 주제들의 경우에도 Wikipedia에서 가장 긴 기사들 중에서 무작위로 샘플링합니다.
- 이는 선택된 개념이 모호하거나 불명확한 개념이 되지 않도록 보장하기 위함입니다.
- 주제 목록을 확보한 후, 각 주제에 대해 모델에 "Write an article about <topic>"라는 입력 프롬프트를 제공합니다.
- 그 후, 우리는 각 주제에 대해 모델이 생성한 첫 5개의 문장의 정확성을 수동으로 레이블링(주석) 처리합니다.
- 정확성을 레이블링 처리할 때, 우리는 웹에서 검색 결과를 확인하여 생성된 문장에 포함된 정보가 이를 지지하는지 또는 반박하는지를 파악합니다.
- 경우에 따라 문장의 다양한 측면의 정확성을 확인하기 위해 여러 번의 웹 검색이 필요했습니다.
- 또한, 소수의 경우에는 생성된 문장에서의 정보에 대해 지지하거나 반박할 정보를 찾을 수 없어서 이를 외적 환각으로 표시했습니다.
- 우리는 이 전문가 레이블링 전략을 선택한 이유는, 레이블링 작업이 간단한 이진 분류 작업이지만, 주어진 문장의 정확성을 확인하는 데 상당한 노력이 필요하고 이는 크라우드소싱을 통해 신뢰성 있게 수집할 수 없기 때문입니다.
- 이 문장 수준의 레이블링 외에도, 3.1.2에서 자세히 설명할 개념 수준의 정확성도 레이블링 처리합니다.
- 우리는 문장 수준과 개념 수준의 환각 레이블링을 모두 공개할 예정이며, 이는 향후 연구에 체계적인 기여를 할 수 있습니다.
3.1 Motivating Findings
3.1.1 Hallucination Causes Further Hallucination
우리는 각 주제에 대해 모델이 생성한 첫 다섯 문장을 고려하고, 그 문장의 정확성을 주석 처리합니다. 문장은 순차적으로 생성되므로, 하나의 입력에 대해 ‘생성된 문장의 환각(hallucination)’과 ‘이전에 생성된 문장의 환각’ 사이의 관계를 조사합니다. 이 두 변수는 이진 변수이기 때문에, 이 관계에는 네 가지 가능한 경우가 존재합니다.
- A: 현재 문장이 환각이고, 이전에 생성된 문장에 환각이 존재한 경우
- B: 현재 문장이 환각이 아니고, 이전에 생성된 문장에 환각이 존재한 경우
- C: 현재 문장이 환각이고, 이전에 생성된 문장에 환각이 없었던 경우
- D: 현재 문장이 환각이 아니고, 이전에 생성된 문장에 환각이 없었던 경우
예를 들어 문장 3을 기준으로 보면, 두 가지 이진 변수는 ‘문장 3이 환각인지 여부’와 ‘이전에 생성된 문장들(문장 1 또는 문장 2)에 환각이 존재했는지 여부’가 됩니다. 그림 4는 문장 2, 3, 4, 5에 대해 이러한 관계를 모든 주제에 대해 집계한 결과를 보여줍니다. 문장 1은 이전에 생성된 문장이 없으므로 해당 분석에서 제외되었습니다. 이 그림을 통해 다음과 같은 결론을 도출할 수 있습니다:
-
A > B: A와 B는 이전에 생성된 문장에 환각이 존재한 경우를 나타냅니다. A가 B보다 상당히 더 큰 것으로 보이는데, 이는 이전 문장에서 환각이 발생한 경우 현재 문장에서도 환각이 발생할 가능성이 더 크다는 것을 의미합니다. 또한, 문장이 진행될수록(A와 B 간의) 격차가 점점 커지는 경향이 나타납니다.
-
A > C: A와 C는 현재 생성된 문장이 환각인 경우를 나타냅니다. A가 C보다 더 큰 것으로 보이는데, 이는 이전 문장에 환각이 존재하는 경우, 이전 문장에 환각이 없었던 경우보다 현재 문장이 환각일 가능성이 더 크다는 것을 의미합니다.
-
D > C: C와 D는 이전 문장에 환각이 없는 경우를 나타냅니다. D가 C보다 더 큰 것으로 보이는데, 이는 이전 문장에 환각이 없을 경우 현재 문장이 환각이 아닐 가능성이 더 크다는 것을 의미합니다.
- D > B: B와 D는 생성된 문장이 환각이 아닌 경우를 나타냅니다. D가 B보다 크다는 것은 이전 문장에 환각이 없을 때, 생성된 문장이 환각이 아닐 가능성이 이전 문장에 환각이 있었을 때보다 더 크다는 것을 의미합니다.
이 분석은 하나의 문장에서 발생한 환각이 이후에 생성되는 문장에서도 추가적인 환각을 유발할 가능성이 높다는 것을 보여줍니다. 따라서 환각을 적극적으로 탐지하고 완화하는 것은 현재 발생한 환각을 수정할 뿐만 아니라 이후 문장에서 환각이 확산되는 것을 방지하는 데에도 효과적일 수 있습니다.
즉 이전 문장에서 환각이 있었으면, 다음에 나타날 문장들도 환각일 확률이 높고, 환각이 없으면 다음 문장에도 환각일 확률이 낮을 것
다음으로, 환각 탐지에서 logit 출력 값의 유용성을 입증합니다.
3.1.2 Logit Output Values Provide a Signal for Hallucination
이 절에서는 환각(hallucination)과 확률 점수 간의 경향성을 먼저 보여줍니다. 이 점수는 logit 출력 값을 사용해 계산됩니다. 이후, 생성된 문장에서 개념을 식별하여 환각을 탐지하는 데 있어 그 이점을 설명합니다. 마지막으로, 환각 탐지에서 서로 다른 확률 계산 기법의 효과를 비교합니다.
환각 vs 확률 점수
logit 출력 값과 환각의 관계를 연구하기 위해, 문장 수준 주석(앞서 설명한 것)에 더해 개념 수준 주석도 추가로 수행합니다. 구체적으로, 식별된 각 개념에 대해 생성된 문장에서 해당 개념 정보가 환각인지 아닌지를 표시합니다. 이는 문장 수준 주석과는 다를 수 있는데, 문장의 개념 정보의 정확성만을 초점으로 삼기 때문입니다. 표 9는 문장 수준과 개념 수준 주석의 예를 보여줍니다.
그림 5는 문장 및 개념 수준에서 계산된 확률 점수에 따른 환각의 경향성을 나타냅니다.
- 문장의 경우, 식별된 모든 개념의 토큰에서 최솟값을 확률 점수로 사용합니다.
- 개념의 경우, 해당 개념의 모든 토큰에서 최솟값을 확률 점수로 사용합니다.
확률 점수가 증가(즉, 불확실성이 감소)함에 따라 환각 경향성이 감소하는 것을 관찰할 수 있습니다. 이는 이러한 확률 값이 환각 탐지 신호로 활용될 수 있음을 보여줍니다. 즉, 생성된 문장에서 낮은 확률의 개념은 잠재적인 환각 후보로 간주할 수 있으며, 해당 문장에서 그 정확성을 검증함으로써 환각을 탐지할 수 있습니다. 평균적으로, 모델이 환각을 일으키는 경우와 그렇지 않은 경우의 개념 확률 간에 약 0.15의 절대적인 차이를 관찰할 수 있습니다.
토큰 확률로 환각을 잡아내는게 효과가 있다는 것!
문장에서 개념 식별의 이점
생성된 문장에서 개념을 식별하고 해당 토큰의 logit 출력 값을 활용해 환각을 탐지하는 이점을 입증합니다. 이를 위해, logit 출력 값에서 계산된 확률을 사용하는 두 가지 기법에 대해 정밀도-재현율(Precision-Recall) 곡선을 그립니다.
- 파란 곡선: 문장의 모든 토큰에서 최소 확률을 사용하는 기법.
- 주황 곡선: 식별된 개념의 토큰에서 최소 확률을 사용하는 기법.
그림 6은 두 곡선을 보여줍니다. 주황 곡선은 정밀도-재현율 곡선의 면적(AUC)이 더 높아, 개념 토큰의 확률을 활용하는 것이 모든 토큰의 확률을 활용하는 것보다 환각 탐지에서 더 강력한 신호를 제공함을 나타냅니다.
확률 계산 기법 비교
그림 7은 세 가지 확률 계산 기법(최소값, 평균값, 정규화된 값; 2.2.2절에서 설명)의 개념 수준 환각 탐지에서의 정밀도-재현율 곡선을 보여줍니다.
- 최소값(Minimum) 기법이 가장 높은 면적(AUC)을 기록하며, 환각 탐지 작업에서 가장 우수한 성능을 보여줍니다.
3.2 Hallucination Detection Performance
이 절에서는 문장 및 개념 수준에서 다양한 기법의 환각 탐지 성능을 설명합니다.
Self-Inquiry vs Web Search
표 1a와 1b는 각각 문장 수준과 개념 수준에서 Self-Inquiry와 Web Search 기법의 환각 탐지 성능을 보여줍니다.
- 문장 수준 결과: 문장에서 식별된 개념 중 하나라도 검증 절차에서 실패하면 해당 문장이 환각으로 예측됩니다. 이 결과에서는 불확실성 점수를 사용하여 검증할 개념을 선택하지 않고, 식별된 모든 개념을 검증했습니다.
- **Figure 12(부록)**에서는 확률 임계값과 Recall 간의 관계를 보여줍니다.
표에서 알 수 있듯이, Web Search 기법은 환각 탐지에서 상당히 높은 Recall을 달성합니다.
Web Search 기법의 높은 Recall의 중요성
Web Search 기법의 높은 Recall은 중요하게 다뤄지며, 이는 우리의 완화 접근법이 잘못 탐지된 환각(즉, False Positive)일 경우에도 새로운 환각을 도입하지 않음을 보여줍니다(3.3절).
Figure 12는 문장 및 개념 수준에서 Self-Inquiry와 Web Search 기법의 환각 탐지 Recall 대 확률 임계값 플롯을 보여줍니다. 이 결과에 따르면, Web Search 기법은 Self-Inquiry 기법보다 일관적으로 우수한 성능을 보여줍니다.
웹 검색을 활용하는게 "환각 검출" 관점에서는 더 좋은 성능을 나타낸다. (당연한거 같긴함) 하지만 이 방법은 웹검색에 디펜던시가 걸리기도하고,, 환각의 문제말고 모델자체가 모르는 내용일 수도 있었다는 점이 고려가 되지 않음
3.3 Hallucination Mitigation Performance
웹 검색을 사용한 검증 절차에서 환각으로 보고된 문장에 대해, 우리는 완화 기법을 적용합니다. 환각으로 보고된 문장은 실제로 환각일 수도 있고, 환각이 아닐 수도 있습니다(즉, False Positive일 가능성도 있음). 표 2는 우리의 방법 결과를 보여줍니다.
- 올바르게 탐지된 환각(즉, True Positive) 중 57.6%의 성공적인 환각 완화를 달성했으며, 우리는 이 지표를 **‘성공(success)’**이라고 부릅니다.
- 또한, 이 과정에서 **‘악화(deterioration)’**가 최소화되었습니다(3.06%). 즉, 환각이 아닌 사례 중 3.06%만이 잘못 환각으로 변환되었습니다.
- **표 10(부록)**는 환각 완화 기법이 성공적으로 환각을 수정한 사례를 보여줍니다.
환각 완화 실패 사례 분석
**표 11(부록)**는 환각 완화 기법이 실패한 사례를 보여줍니다. 이러한 실패 사례에서, 우리의 기법은 문장에서 일부 환각된 내용을 수정했지만, 모든 환각된 내용을 수정하지 못한 경우가 많았습니다.
- 예를 들어, 표 11의 사례 1과 2는 이러한 실패 유형에 해당합니다.
또한, 몇몇 실패 사례에서는 기법 적용 후 문장이 더 이상 환각되지 않았지만, 주제와 완전히 관련이 없는 내용이 생성되었습니다.
- 예를 들어, 주제 **‘Harry S. Kennedy’**와 관련된 네 번째 사례에서, 모델은 “Harry S. Kennedy was an American politician who served as the 35th President of the United States from 1961 to 1963.”라는 잘못된 문장을 생성했습니다. 이를 완화 기법으로 수정한 결과, “John F. Kennedy was an American politician who served as the 35th President of the United States from 1961 to 1963.”라는 사실적으로 올바른 문장이 생성되었지만, 이는 주제 **‘Harry S. Kennedy’**와는 관련이 없었습니다.
이러한 문제는 완화 단계에서 생성된 결과가 **검색된 지식(retrieved knowledge)**에 의존하기 때문에 발생합니다.
웹검색을 통해 환각임을 아나, 웹으로부터 제공된 새로운 정보때문에 새로운 환각이 일어나는건가?
3.4 Active Detection and Mitigation
3.1절의 두 가지 발견은 환각 문제를 해결하기 위한 접근법에 동기를 부여합니다. 우리는 Logit 출력값을 활용하여 환각을 적극적으로 탐지하고, 이를 생성 과정에서 완화함으로써 환각의 확산을 방지하는 방식을 채택했습니다.
구체적으로, 계산된 확률 점수를 사용하여 불확실한 개념을 식별하고, 검증 절차를 통해 이들의 정확성을 확인합니다. 우리는 한 번에 한 문장씩 생성하며, 탐지 방법이 환각을 보고하면 완화 기법을 사용해 이를 수정한 뒤 다음 문장을 생성합니다.
3.2절과 3.3절에서는 각각 탐지 및 완화 효과를 개별적으로 입증했습니다.
Figure 1은 GPT-3.5 모델과 우리의 적극적 탐지 및 완화 기법의 출력에서 환각 비율을 비교한 결과를 보여줍니다. 우리의 접근법은 환각 비율을 47.4%에서 14.53%로 감소시켰습니다. Figure 8에서는 다양한 환각 유형별로 이러한 비교를 나타내며, 모든 유형에서 환각을 줄이는 데 효과적임을 보여줍니다.
추가 연구를 통한 접근법의 효과와 적용 가능성 입증
우리의 접근법의 효과와 폭넓은 적용 가능성을 추가로 입증하기 위해, 세 가지 흥미로운 추가 연구를 수행했습니다.
-
첫 번째 연구(4.1절):
-
두 번째 연구(4.2절):
- 이 접근법을 다중 단계(Multi-hop) 질문에 적용하여 효과를 확인했습니다.
-
세 번째 연구(4.3절):
- 거짓 전제(False Premise) 질문을 대상으로 실험하여 효과를 검증했습니다.
4 Additional Experiments



5 Related Work
자연어 처리 분야의 발전은 유창하고 일관된 텍스트를 생성할 수 있는 인상적인 모델의 개발로 이어졌습니다. 그러나 이러한 모델은 **텍스트 환각(text hallucination)**이라는 현상에 취약합니다. 이전 연구(Maynez et al., 2020; Huang et al., 2021; Ji et al., 2023)는 텍스트 환각을 두 가지 유형으로 분류했습니다:
- 내재적 환각(Intrinsic): 생성된 출력이 소스 콘텐츠와 모순되는 경우.
- 외재적 환각(Extrinsic): 생성된 출력을 소스 콘텐츠에서 검증할 수 없는 경우(즉, 소스에 의해 지지되거나 반박될 수 없는 경우).
환각 현상에 대한 연구 동향
환각에 관한 연구는 크게 두 가지 흐름으로 나뉩니다.
-
환각 현상의 원인 연구:
- 훈련 데이터 품질(Wang, 2019; Lee et al., 2022a).
- 소스와 대상 간의 불일치(Dhingra et al., 2019).
- 부적합한 모델링(Aralikatte et al., 2021; Feng et al., 2020; Li et al., 2018).
- 추론 중 무작위성(Dziri et al., 2021; Tian et al., 2019; Lee et al., 2022b).
-
환각 문제 해결 연구:
-
Manakul et al. (2023):
- 샘플링 기반 환각 탐지 기법을 제안.
- 모델로부터 여러 응답을 샘플링하고, 응답 간 정보의 일관성을 측정.
- 모델이 특정 개념을 잘 알고 있는 경우, 샘플링된 응답이 유사하며 사실적으로 일관된 반면, 환각된 정보는 샘플링된 응답 간에 상충되거나 완전히 모순될 가능성이 높다고 주장.
- 레퍼가 이것밖에 없는거 보면, selfcheckgpt로 이러한 방법중에 첫번째 연구인듯?
-
Azaria and Mitchell (2023):
- LLM의 내부 상태를 활용하여 문장의 진위 여부를 식별.
- 주석이 달린 데이터를 사용해 LLM의 활성화 값(activation values)을 입력으로 받아 진위를 예측하는 별도의 분류기를 훈련.
-
Lee et al. (2022b):
- 샘플링의 무작위성이 문장의 초반보다 후반 부분을 생성할 때 사실성(factuality)에 더 해롭다고 가정.
- 문장 생성 과정에서 동적으로 '핵심 확률(nucleus p)'을 조정하는 factual-nucleus sampling이라는 새로운 샘플링 알고리즘을 제안.
- 샘플링 알고리즘도 과거부터 있긴하네?
-
Du et al. (2023):
- **사회적 마음 이론(The Society of Mind)**과 다중 에이전트 설정에서 영감을 받아 각기 다른 모델들이 개별적으로 응답과 추론 과정을 제안하고 이를 공동으로 토론하여 합의된 답변을 도출하는 접근법 제안.
-
우리의 접근법
우리의 접근법은 Logit 출력값, 웹 검색, 적극적인 탐지 및 완화 기법을 활용하여 환각 문제를 해결합니다.
- 효과 입증:
- 기사 생성, 다중 단계 질문 응답, 거짓 전제 질문 응답 등 다양한 작업에서 접근법의 효과를 입증했습니다.
6 Conclusion
이 연구에서는 대형 언어 모델(LLM)의 환각을 적극적으로 ‘탐지’하고 ‘완화’하는 접근법을 제안했습니다.
기사 생성 작업에 대한 체계적이고 광범위한 실험을 통해, 제안된 접근법이 GPT-3.5(text-davinci-003)의 환각 비율을 평균 47.5%에서 14.5%로 성공적으로 감소시켰음을 입증했습니다.
또한, 탐지 및 완화 기술의 개별적인 효능도 보여주었습니다.
- 탐지 기술: 높은 재현율(recall)을 달성.
- 완화 기술: 정확히 탐지된 환각의 큰 비율을 성공적으로 완화.
- 특히, 잘못 탐지된 환각(false positives)의 경우에도 새로운 환각을 유발하지 않음을 확인.
더 나아가, 제안된 접근법의 효과성과 광범위한 적용 가능성을 입증하며, 추가 연구로 Vicuna와 같은 다른 대형 언어 모델 평가, 다중 단계 질문 및 거짓 전제 질문 응답 등 다양한 흥미로운 사례를 제시했습니다.
결론적으로, 본 연구는 LLM의 환각 문제를 해결하며, 이를 통해 모델의 **신뢰성(reliability)과 신뢰도(trustworthiness)**를 향상시키는 데 기여합니다. 이는 LLM이 실제 애플리케이션에서 널리 채택되기 위해 중요한 단계입니다.
Reference
댓글
댓글 쓰기