NL-235, Fine-grained Hallucination Detection and Editing for Language Models, COLM 2024
◼ Comment
- 인용수가 꽤 되서 읽어봤는데 약간 노벨티는 좀 떨어지는거 같긴함
- 컨트리뷰션으로 주장하는것은 다음과 같다.
- 1) 할루시네이션 벤치마크 데이터를 만들었다.
- 이 벤치마크는 환각 타입을 detect하는 것과 editing하는 것을 평가하기 위한 데이터라고 보면 됨
- 환각 타입도 단순히 yes/no가 아닌 크게는 3가지 타입 (세세하게는 6가지 타입)으로 구분지어서 태깅된 것이라 보면 된다.
- 문장단위 레이블링이 아닌, entity나 세부적으로 태깅이 되어있다.
- 예시처럼 <tag> 로 환각부분을 감싸 않는 식이다.
- 실제 데이터에서 취소선은 어떻게 표시 되어있을라나?
- 2) 환각을 감지하고 수정하는 모델을 제안한다.
- 일단 위에서 만든 벤치마크 데이터는 평가데이터라고 보면되고
- 여기서 제안한 모델을 만들기 위해 학습 데이터를 추가로 만들었다.
- 학습 데이터는, 기존 공개된 데이터세트에서 (Q,A)을 샘플링한다.
- 그리고 Q에 대한 답변인 A(위키문서)를 LLM으로 통해 패러프레이징한다. (블로그 스타일 글로 바꾸는 등, 장르를 바꾸는식) 이거를 A1이라 하자.
- A1에다가, 에러를 주입한다. few-shot을 통해 LLM에다가 환각 type X을 주입해줘 이런식으로 해서 A2의 잘못된 답변을 만든다. A2는 <tag>가 포함되고 어디가 어떻게 에러가 주입됐는지에 대한 정보가 포함된 답변이다.
- <tag>을 없앤것을 A3라고 하자. A3는 즉 환각이 포함된 글인데, 어디 부분이 환각인지 모르는 것
- small model 학습
- 입력: (A3, A)
- 출력: A2
- 즉 여기서 A3는 LLM이 생성한 환각있는 답변이라고 보는 것이고
- A는 Q로 검색한 위키문서라고 보는 것이고
- 이 두 정보를 통해, 환각 감지 및 수정한 것을 A2라고 보는 것이다.
- 실험 결과, FAVA가 벤치마크셋에서 제일 좋았다고 한다.
- 근데 생각해보면 별로 참신하지 않은게.. FAVA만 fine-tuned된 모델이기 때문이다. 비교모델은 그냥 LLM에게 던진 것이기 때문이다. 물론 FAVA는 Llama2-Chat 7B 베이스기때문에 모델 크기가 작다는 점이 장점임.
- 근데 FAVA을 학습한 데이터와 평가하는 데이터가 같은 분포이기 때문에 더 유리한 게 아닐까 싶음. 굳이 비판적으로 보자면, LLM 입장에서는 구분하기 어려운 세분화된 할루시네이션 검증/수정 테스크에 대한 데이터 만들고 small model 학습했더니 LLM보다 좋더라! 이런 주장임.
Abstract
대형 언어 모델(LM)은 종종 사실과 다른 오류를 생성하는 경향이 있으며, 이를 흔히 "환각(hallucination)"이라고 합니다. 본 논문에서는 환각의 포괄적인 분류 체계를 소개하고, 환각이 다양한 형태로 나타나며, 사실 여부를 검증하기 위해 각기 다른 수준의 신중한 평가가 필요하다는 점을 주장합니다. 우리는 자동 세분화 환각 탐지(fine-grained hallucination detection)라는 새로운 작업을 제안하고, 다양한 도메인에서 세 가지 LM 출력에 대해 약 1,000개의 세분화된 인간 판단을 포함하는 새로운 평가 벤치마크인 FAVABENCH를 구축했습니다.
분석 결과, ChatGPT와 Llama2-Chat(70B, 7B)은 정보 탐색 시나리오에서 대부분의 출력에서 다양한 유형의 환각을 나타내어 세분화된 시스템 구축의 필요성을 강조했습니다. 이를 위해 우리는 세분화된 환각을 탐지하고 수정할 수 있는 강력한 검색 기반 언어 모델인 FAVA를 제안했으며, 이를 위해 신중하게 생성된 합성 데이터를 활용하여 훈련했습니다.
자동 및 인간 평가 결과, FAVA는 세분화된 환각 탐지에서 검색 기반 ChatGPT 및 GPT-4를 크게 능가하는 성능을 보여주었으며, 이진 환각 탐지에서도 널리 사용되는 시스템보다 우수한 성능을 발휘했습니다. 또한, 사실성을 개선하기 위한 편집 작업에서도 효과를 보였습니다.
1 Introduction
대형 언어 모델(LMs; Brown et al., 2020)은 매우 유창하고 그럴듯한 텍스트를 생성할 수 있습니다. 그러나 이러한 모델은 사실적으로 부정확하거나 검증할 수 없는 진술을 생성하는 경향이 있으며, 이를 흔히 "환각(hallucination)"이라고 합니다. 이러한 문제는 정보 탐색 맥락에서 실제 응용에 LMs를 배치하는 데 장애물이 됩니다(Mallen et al., 2022; Asai et al., 2024).
자연어 생성(NLG)에서 환각에 대한 기존 연구는 일반적으로 특정 참조 텍스트의 존재를 전제로 하며, 참조에 대한 신뢰성을 연구하는 데 초점을 맞춥니다(Ji et al., 2023). 반면, 특정 출처 텍스트가 아니라 세계 지식에 기반한 LM 생성물에 대한 우려가 증가하고 있습니다(Zhang et al., 2023). 최근 몇몇 연구에서는 LM 환각 문제를 해결하기 위해 자동 환각 탐지(Min et al., 2023) 또는 출력 수정(Gao et al., 2022)을 연구했습니다. 그러나 이러한 시스템은 환각을 단순히 이진 구분(예: 사실적 또는 비사실적, 그림 1 오른쪽)으로 나누거나 주로 엔터티 수준 오류에 초점을 맞춥니다.
우리는 환각이 다양한 형태로 나타나며, 각기 다른 수준의 세심한 평가가 필요하다고 주장합니다. 예를 들어, 엔터티 수준의 모순은 일반적으로 명확하며 단일 참조로 쉽게 수정할 수 있습니다. 반면, 허구의 엔터티(예: 그림 1의 The Messi Diaries)와 관련된 오류는 여러 출처에 걸친 철저한 검증이 필요합니다. 이는 환각 탐지에서 더 세분화된 접근 방식의 필요성을 강조합니다.
본 연구에서는 자동 세분화 환각 탐지(그림 1 왼쪽)를 제안합니다. 이는 시스템이 환각 시퀀스를 정확히 식별하고, 분류 체계를 기반으로 다양한 유형을 구별하며, 개선안을 제안하는 새로운 작업입니다. 우리는 세계 지식에 기반을 두는 것이 중요한 정보 탐색 시나리오에서의 환각에 초점을 맞춥니다.
기존에는 그림1의 오른쪽처럼, 문장이 입력이고 출력이 환각인지 아닌지를 판단하는 분류기가 있었다고 하는 방법이었다고 하는데
이 논문에서는 그림1의 왼쪽처럼, 문장이 아닌 엔티니 단위로 살펴보고, 이중에서도 할루시네이션 타입을 여러 개로 쪼개서 검증하는 세분화된 접근방식을 제안한다고 한다.
우리의 분류 체계(그림 2)는 NLP 전문가들과의 반복적인 파일럿 연구를 통해 LM 생성물에서 발생하는 환각을 여섯 가지 범주로 계층적으로 분류하여 모든 중요한 유형을 포괄적으로 다루도록 설계되었습니다. 또한, 우리는 FAVABENCH라는 새로운 세분화 환각 벤치마크를 구축하였습니다. 이를 위해 세 가지 널리 사용되는 LM(Llama2-Chat 7B, 70B, ChatGPT2)의 약 1,000개의 지식 집중 질의 응답을 신중하게 주석 처리하였습니다. 각 응답은 잘못된 하위 영역, 유형 및 잠재적 수정 사항을 식별하기 위해 스팬 수준으로 주석 처리되었습니다.
분석 결과, 모든 모델이 응답의 대다수에서 적어도 하나의 환각을 포함하고 있음이 드러났습니다(예: Llama2 7B에서 70.2%, ChatGPT에서 59.8%). 이렇게 환각이 많이 발생하는군..?? 엔터티 수준 오류와 같은 잘 알려진 유형 외에도 검증할 수 없는 문장과 같은 다른 유형이 LM 생성 환각의 60% 이상을 차지하며, 세분화된 탐지의 긴급한 필요성을 보여줍니다. 그러나 기존 방법은 주로 진술 수준의 이진 환각 예측만을 제공합니다.
그런데 단순히 환각인지 아닌지를 판단하기보다는, 엔티티 수준의 오류 같은것이나 검증하기 어려운 다른 유형의 환각이 많이 발생하기 때문에, 세분화된 탐지가 필요하다라고 주장
세분화된 환각 탐지를 발전시키기 위해, 우리는 새로운 검색 증강 LM인 FAVA를 소개합니다. FAVA는 통합 구문을 사용하여 스팬 수준에서 환각을 식별하고 표시할 수 있습니다(그림 1 왼쪽). 우리는 LM 기반 합성 데이터 생성 방법을 설계하고, 이를 통해 생성된 35,000개의 데이터 인스턴스에 대해 FAVA를 훈련했습니다.
FAVABENCH를 기반으로 한 세분화 환각 탐지에서 FAVA는 최신 LM들과 비교하여 ChatGPT를 외부 지식 유무와 관계없이 23.7% 더 높은 성능을 보였습니다. 이진 환각 탐지에서도 FAVA는 널리 사용되는 시스템인 FActScore(Min et al., 2023)뿐만 아니라 GPT-4 또는 ChatGPT를 활용한 기타 강력한 베이스라인을 능가했습니다. 또한, FAVA는 다양한 LM 출력의 환각을 효과적으로 수정하였으며, FAVA를 이용한 편집은 Alapaca 7, 13B 및 ChatGPT의 사실성 점수를 각각 4.4%, 9.3%, 3.3% 향상시켰습니다.
2 Related Work
NLG에서의 환각(Hallucination)
요약(summarization, Pagnoni et al., 2021), 텍스트 단순화(text simplification, Devaraj et al., 2022), 또는 지식 기반 대화(knowledge-grounded dialogue, Dziri et al., 2022)를 다룬 기존 분류 연구는 대개 특정 소스 텍스트의 존재를 전제로 하며, 소스에 대한 신뢰도를 중점적으로 다루어 왔습니다(Ji et al., 2023). 그러나 이는 LLM(대규모 언어 모델)의 세계 지식에 기반한 사실적 환각(factual hallucination)과 질적으로 다릅니다. 이에 따라, 우리는 기존 연구를 확장하여 LLM 출력에서 발생하는 환각을 위한 새로운 분류 체계를 구축했습니다.
요약, 텍스트 단순화 같이 기존 소스가 있는 경우는, factual 환각이랑 다른개념이라고 볼 수 있음. LLM출력에서 발생하는 환각이고 내가 관심있는 것
LLM에서의 환각 탐지 및 수정
최근 또는 동시대 연구에서는 문장의 사실 여부를 이진적으로 판단하는 방식으로 사실성을 예측하는 방법(Manakul et al., 2023; Min et al., 2023), 엔터티 수준의 환각 수정을 중심으로 한 접근 방식(Gao et al., 2022; Chen et al., 2023), 또는 탐지에만 집중한 연구(Li et al., 2024)를 제안해 왔습니다. 최근 서베이 연구들은 LLM 생성 텍스트에서의 환각을 범주화하려는 시도를 했으나, 종종 환각의 정의를 확장하여 텍스트 내 특정 범위로 추적할 수 없는 광범위한 오류 유형을 포함하는 경향이 있었습니다(Huang et al., 2023; Zhang et al., 2023; Rawte et al., 2023). 우리는 정보 탐색(context) 상황에서 사실적 일관성을 개선하기 위해 장문 텍스트 생성에서의 환각을 보다 세분화한 분라벨로 예측하는 방법(Manakul et al., 2023; Min et al., 2023), 엔터티 수준의 환각 수정(entity-level hallucination editing, Gao et al., 2022; Chen et al., 2023), 또는 탐지에만 집중하는 방법(Li et al., 2024)을 제안했습니다. 최근 설문 연구들은 LLM 생성에서 발생하는 환각을 범위가 넓은 오류 유형으로 분류하려는 경향이 있으며, 이는 텍스트 내 특정 부분(span)으로 추적하기 어려운 경우도 포함됩니다(Huang et al., 2023; Zhang et al., 2023; Rawte et al., 2023).
우리는 정보 탐색(context)에서 사실적 일관성을 개선하기 위해 장문의 텍스트 생성에서 발생하는 환각에 대해 세분화된 분류 체계를 제안합니다. 이전 연구들이 대개 독점적인 LLM 위에서 이진 사실 검증 시스템을 개발해 온 것과는 달리(Chern et al., 2023), 우리는 신중히 설계된 데이터 생성 파이프라인을 통해 세분화된 탐지 시스템을 훈련했습니다.
인간 작성 주장의 사실 검증
환각 탐지 연구는 주로 모델 생성 텍스트의 오류를 식별하는 데 초점을 맞추고 있지만, 이와 관련된 연구 영역은 인간이 작성한 주장(claim) 내 사실 부정확성을 식별하는 데 집중합니다(Bekoulis et al., 2021). 대규모 데이터셋이 Wikipedia(Thorne et al., 2018), 과학 기사(Wadden et al., 2020), 뉴스 문서(Wang, 2017) 등을 기반으로 사실 검증을 위해 제안되었습니다. 이러한 환경에서 사실 확인 시스템이 다수 개발되었습니다(Thorne & Vlachos, 2018; Schuster et al., 2021; Nakov et al., 2021). 하지만 이러한 시스템들은 LLM 생성 텍스트에 대해 테스트된 바는 없습니다.
우리의 연구는 LLM 생성에서 발생하는 환각 탐지에 초점을 맞추지만, FAVA는 인간이 작성한 주장에 대한 사실 검증에도 적응될 수 있습니다.
3 Fine-grained Hallucination Detection
우리는 정보 탐색 쿼리에 기반한 개방형 텍스트 생성(open-ended text generation)에 초점을 맞추며, 이는 종종 사실적 지식을 요구합니다. 여기에서 환각(hallucination)은 외부 세계 지식에 비추어 사실적 오류 또는 검증되지 않은 진술로 정의됩니다. 세계 지식(world knowledge)은 검색 알고리즘에 따라 주어진 진술/쿼리에 가장 관련성이 높은 웹 문서들로 운영적으로 정의됩니다.
이 논문에서 포커싱하는 할루시네이션 = 웹검색으로부터 사실적 오류 또는 검증되지 않은 진술
3.1 Hallucination Taxonomy
환각의 정의에 기반한 계층적 분류 체계
우리의 환각 정의를 기반으로, 오류 유형을 세분화하여 분류하기 위한 계층적 분류 체계를 구축했습니다. 이전의 과제별 분류 연구(Pagnoni et al., 2021; Devaraj et al., 2022)에서 영감을 받아, LLM 생성 과정에서 나타나는 복잡한 오류를 설명하기 위해 새로운 범주를 도입했습니다. 다양한 오류 유형을 폭넓게 포괄하기 위해 9명의 NLP 전문가와 함께 파일럿 주석 작업을 수행했습니다. 그림 2는 LLM 환각을 분류하기 위한 우리의 분류 체계를 보여주며, 표 1은 각 유형의 환각 예제를 제공합니다.
- 표를 보면 타입들을 이해하기 쉽다.
- type1은 웹검색으로 검증이 가능한 것을 의미
- type 2,3,4는 웹검색만으로 검증할 수 없는 것들을 의미
환각은 크게 두 가지 주요 범주로 나뉩니다:
- 세계 지식과 모순되는 진술 (Type 1)
- 검증할 수 없는 진술 (Types 2, 3, 4)
Type 1: 세계 지식과 모순되는 진술
- (1a) 엔터티 오류 (Entity): 진술 내 특정 엔터티가 잘못된 경우로, 해당 엔터티 하나를 교정하면 문장이 사실적으로 올바르게 될 수 있습니다.
- (1b) 관계 오류 (Relation): 진술 내 의미적 관계(예: 동사, 전치사, 형용사 등)가 잘못된 경우로, 의미적 관계를 수정하면 오류를 해결할 수 있습니다.
- (1c) 문장 오류 (Sentence): 진술 전체가 관련 웹 증거와 완전히 모순되는 경우로, 구 수준의 수정만으로는 해결할 수 없는 오류입니다.
Type 2: 창작된 오류 (Invented)
LM이 세계 지식에 기반하지 않은 완전히 허구의 엔터티를 생성한 진술을 의미합니다. 창작물의 허구적 엔터티는 여기에 포함되지 않습니다.
Type 3: 주관적 오류 (Subjective)
기존 엔터티에 대한 진술 중 보편적 타당성을 결여한 표현을 의미합니다. 이러한 진술은 종종 사실을 포함하지 않으며 개인적 신념이나 의견에 의해 영향을 받습니다.
Type 4: 검증 불가능한 오류 (Unverifiable)
LM 출력이 사실을 포함하지만, 웹에서 검색된 증거로 해당 사실을 직접적으로 지지하거나 반박할 수 없는 진술을 의미합니다(예: 개인적인 세부 정보).
수정 및 제거의 필요성
- 엔터티(Entity) 및 관계(Relation) 오류는 구 수준에서 잘못된 표현을 최소한으로 수정하여 해결할 수 있는 경우가 많습니다.
- 반면에, 문장(Sentence) 오류나 다른 오류 유형은 문장 전체 혹은 문장의 일부를 제거해야만 정확성을 확보할 수 있습니다.
3.2 Tasks and Metrics
LLM 출력에서 세분화된 사실적 오류의 식별 및 수정 작업 소개
우리는 LLM 출력에서 세분화된 사실적 오류를 식별하고 수정하는 두 가지 작업을 소개합니다. 주어진 입력 쿼리 와 해당하는 LLM 출력 에서, 이 작업은 시스템이 에 포함된 모든 사실적 오류를 식별하도록 요구합니다. 각 오류 는 오류가 포함된 텍스트 부분(e_\text)과 오류 유형(e_\type)을 나타내며, 이는 우리가 제안한 분류 체계에 따라 정의됩니다.
이 작업은 두 가지로 구성됩니다:
- 세분화된 오류 유형 식별(Task 1; 예: < Entity >)
- 사실적 오류 편집(Task 2; 예: "Barcelona" → "Miami")
Task 1: 세분화된 환각 탐지
이건 번역을 돌린것이기 때문에 위아래 첨자가 조금 틀리다. 스샷첨부한 식을 직접보면 됨
이 작업에서 시스템은 LLM 출력에 포함된 세분화된 오류를 식별해야 합니다. span-level annotation의 주관성을 고려하여, 자동 평가에서는 문장 내 오류 유형 의 존재 여부를 감지하는 시스템의 능력을 평가합니다. 가 개의 문장으로 구성되어 있다고 가정하면, 번째 문장에 대해 참조 정답 오류 유형 주석 이 주어집니다. 이는 유형의 오류가 존재하면 TRUE, 그렇지 않으면 FALSE를 나타냅니다.
사실 검증 연구(Thorne et al., 2018; Schuster et al., 2021; Feng et al., 2023)를 기반으로 정밀도(Precision)와 재현율(Recall)을 계산하며, 이를 각 오류 유형에 대해 확장합니다. 시스템이 예측한 와 참조 를 비교하여 정밀도와 재현율은 다음과 같이 정의됩니다:
- 정밀도(Precision): 모델이 번째 문장에서 오류 유형 가 존재한다고 예측한 결과 중 올바른 비율.
- 재현율(Recall): 참조 정답에서 오류 유형 가 존재하는 문장 중 모델이 올바르게 식별한 비율.
출력 y에 L개의 문장이 있고 각 문장에 대해 e1,e2,...,e6? (환각 타입)에 대해 True, False로 ground truth가 주어지고, 이에 대해 모델이 각각 예측한다.
모델이 True라고 예측한 e^t_i에 대해 모델이 맞춘것을 precision, 정답 True에 대해 모델이 맞춘것을 recall로 평가하겠다는 것
type에 대해 각각 precision, recall을 재는 것. 즉 prec^1, ..., prec^6, recall^1, ..., recall^6 이렇게 존재함
최종 점수는 여섯 가지 오류 유형에 대한 F1 점수를 평균하여 계산합니다: (여섯 가지의 타입 맞군)
세분화된 탐지는 간단히 이진 분류 작업으로 변환될 수 있으며, 시스템은 문장 에 사실적 오류가 포함되어 있는지 여부를 예측합니다.
Task 2: 환각 수정
일부 환각은 최소한의 구 단위 편집(span-level edit)으로 수정 가능하지만, 다른 경우에는 문장을 삭제하거나 검증 불가능으로 표시해야 할 수도 있습니다. 이 작업에서 시스템은 LLM 출력의 사실성을 개선하기 위한 세분화된 편집을 제안해야 합니다.
수정된 출력 에 대해 off-the-shelf 시스템(FActScore, Min et al., 2023 등)이 제공하는 점수 를 비교하여 사실성 개선 능력을 평가합니다. 점수 계산은 다음과 같이 정의됩니다:
여기서 는 사실성 점수를 나타내며, 은 수정된 출력을 나타냅니다.
기존 출력과 수정된 출력의 사실성 점수 (FActScore) 차이를 통해 얼마나 환각이 개선됐는지 살펴보는듯?
4 Benchmark: FAVABENCH
FAVABENCH 구성 및 주석 세부사항
FAVABENCH는 다양한 도메인에서 쿼리에 대한 세 가지 LLM 응답에 대해 약 1,000개의 세분화된 주석으로 구성되어 있습니다.
소스 프롬프트
소스 프롬프트는 네 가지 다른 데이터 소스를 포함한 200개의 정보 탐색 쿼리로 이루어져 있습니다. 자세한 예시는 부록 표 6에서 확인할 수 있습니다.

- Open Assistant(Kopf et al., 2023)의 지식 집약적 쿼리 50개: 데이터셋의 각 쿼리가 세계 지식을 요구하는지 판단하도록 GPT-4를 활용하여 생성.
- No Robots 데이터셋(Rajani et al., 2023)의 Open QA 프롬프트 50개.
- 저자들이 작성한 더 많은 추론 및 지식이 필요한 명령 50개.
- WebNLG 데이터셋(Gardent et al., 2017)을 템플릿을 사용하여 변환한, 더 세분화된 지식을 요구하는 50개의 합성 프롬프트.
주석 세부사항 및 품질
수집된 소스 프롬프트에 대한 응답은 ChatGPT (gpt-3.5-turbo-0301), Llama2-Chat 7B, Llama2-Chat 70B(Touvron et al., 2023)를 사용해 제로샷 방식으로 생성되었으며, 총 600개의 응답을 수집했습니다.
- 주석 작업:
20명의 학생(학부생 10명, NLP 대학원생 10명)을 모집해 제안된 분류 체계를 기반으로 응답의 사실적 정확성을 주석하였습니다. - 품질 검증:
주석 품질을 검증하기 위해 Cohen’s kappa 점수를 사용해 상호 주석자 간 합의를 계산했습니다.- 문장 단위 탐지에서 75.1%의 합의율.
- 정확한 오류 유형 탐지에서는 60.3%의 합의율을 기록했습니다.
주석 데이터 분석
그림 3은 세 가지 도메인에서 세분화된 카테고리별 분포를 상세히 보여줍니다.
-
최소 하나의 환각을 포함한 응답 비율:
- ChatGPT: 59.8%
- Llama2-Chat 7B: 70.2%
- Llama2-Chat 70B: 64.9%
- 내가 경험했던 것 보다 환각이 더 자주 일어나는 느낌..?
-
오류 유형 분포:
- 가장 널리 인식된 오류 유형은 Entity로, 탐지된 오류의 48.3%를 차지합니다.
- 그 외에도 Invented(14.1%)나 Contradictory Statements(18.1%)와 같은 다양한 오류 유형이 존재합니다.
-
모델별 차이점:
- Invented Statements는 Llama2-Chat 모델에서 더 일반적으로 발생.
- No Robots 하위셋에서 오류 비율이 다른 하위셋보다 낮게 나타났습니다. 이는 해당 프롬프트가 덜 지식 집약적이거나 LLM이 종종 암기하는 대중적인 사실적 지식(예: "미국 독립 전쟁은 얼마나 오래 지속되었는가?")을 묻기 때문일 가능성이 있습니다(Mallen et al., 2022).
5 Model: FAVA
FAVA(FAct Verification with Augmentation)는 세밀한 환각(hallucination) 감지와 편집을 위한 모델입니다. FAVA는 고품질의 합성 학습 데이터를 사용하여 환각을 식별하고, 검색된 지식을 통합하여 학습됩니다.
FAVA는 두 가지 구성 요소로 이루어져 있습니다: 검색기(Mret)와 편집 언어 모델(Medit)입니다.
Mret는 원본 출력 LM 와(가능한 경우) 입력 프롬프트 를 받아서 가장 관련성이 높은 문서를 검색합니다:
그 후, 편집 모델은 검색된 컨텍스트 를 기반으로 의 사실적 오류를 감지하고, 가능하다면 편집을 수행합니다:
여기서 는 오류 편집과 환각 유형이 삽입된 의 증강된 출력입니다(그림 1 참고).
Medit는 어떤 언어 모델도 사용할 수 있지만, 초기 실험에서 ChatGPT와 같은 최첨단 독점 언어 모델을 사용해 세밀한 편집을 프롬프트를 통해 수행하는 것이 어렵다는 것을 발견했습니다(표 2 참고).
또한, 이러한 모델에 의존하는 것은 재현 가능성에도 악영향을 미칩니다. 이에 따라, 최소한의 인간 노력을 통해 고품질 합성 학습 데이터를 생성(섹션 5.1)하고, 생성된 데이터를 활용해 더 작지만 강력한 언어 모델을 미세 조정하는 접근법(섹션 5.2)을 채택했습니다.
섹션4까지는 데이터벤치마크에 대한 설명이고, 여기서 모델을 설명하는데 크게 2가지 파트가 있음.
검색기: (기존문장, LLM초기생성문장)이 입력으로 들어와서 가장 관련성 높은 문서(C) 검색
편집: (기존문장, LLM초기생성문장, C)가 입력으로 들어와서 환각 부분을 감지하고 편집 (기존문장은 밑에 섹션보면 안쓰는 듯)
편집할때 LLM엑 지시해서 하는것은 성능이 낮다고함. 여기서는, 생성한 데이터를 활용해 small model을 학습해서 썼다고함
5.1 Synthetic Training Data Curation
Medit 모델을 학습시키기 위해, 우리는 각각 형태의 대규모 학습 인스턴스가 필요합니다. 여기서 는 정답 컨텍스트(gold context), 는 오류가 포함된 언어 모델 출력, 는 를 기반으로 오류 태그와 올바른 편집이 적용된 출력입니다. FAVA는 를 입력으로 받아 를 생성하도록 학습됩니다. 이전 연구(Balachandran et al., 2022; Wang et al., 2023b; Asai et al., 2023)가 언어 모델을 활용해 합성 학습 데이터를 생성했던 방식에 영감을 받아, 우리는 세밀한 환각 분류 체계에 맞춘 새로운 데이터 생성 방법을 도입했습니다.
데이터 생성 파이프라인
우리의 데이터 생성 파이프라인(그림 4 참고)은 다음 세 단계로 구성됩니다:
1. 시드 구문 생성
이 단계에서는 다양한 유형의 시드 구문 를 대량으로 수집하고 생성하여, FAVA가 다양한 텍스트 유형을 처리할 수 있도록 보장합니다. 이후 이 시드 구문에 오류를 삽입해 오류 텍스트 를 생성합니다. 시드 구문은 위키피디아 문서와 Natural Questions(Kwiatkowski et al., 2019)의 QA 쌍 5,000개에서 추출했습니다. 또한, 위키피디아 문서를 다양한 장르(예: 블로그 글, 트윗 등)로 패러프레이즈하여, FAVA가 다양한 텍스트 형식에서도 효과적으로 작동하도록 만들었습니다. 구체적으로, 35,074개의 위키피디아 문서를 무작위로 샘플링하여 정답 참조 구문으로 사용하고, 각 문서에 대해 미리 정해둔 장르 중 하나를 무작위로 선택하여 ChatGPT를 사용해 해당 장르로 패러프레이즈했습니다.
일단 공개된 데이터세트로부터 제대로 된 (Q, A)를 샘플링하여 시작한다.
Q가 참조하는 위키문서에 대해 블로그 장르로 글을 패러프레이징 해달라는 지 등을 통해 다양한 장르를 커버하도록 시드를 구성함
2. 오류 삽입
이 단계에서는 오류가 포함된 언어 모델 출력 를 시뮬레이션합니다. 학습 데이터의 오류 분포를 제어하고 환각 분류 체계를 반영하기 위해, LMs에 특정 오류 유형(e_type)을 하나씩 삽입하도록 지시합니다. 우리는 ChatGPT와 GPT-4를 혼합하여 여섯 가지 다른 오류 유형을 삽입했습니다(Appendix B 참고). 각 오류 유형에 대한 지시와 몇 가지 예시를 제공하면, 모델은 이전에 삽입된 오류를 유지하면서 새로운 오류를 삽입합니다. 모델은 삭제할 구문/문장을 오류 유형과 함께 표시하고, 삽입할 구문/문장은 삽입 태그와 함께 추가합니다. 이렇게 하여 원본 텍스트 에 여러 오류를 삽입한 오류 텍스트 를 생성합니다.
(Q, A)에서 A에 대해 error을 삽입해달라고 LLM에게 요청하여 에러가 추가된 응답(y)을 생성한다. 에러 응답은 기존 응답에 <tag>가 붙어있는 식임
자세한 프롬프트는 논문에 없는거 같은데 뭐 아무튼 few-shot으로 했다는 것
3. 후처리
후처리 단계에서는 오류 태그와 편집 내용을 교환하거나 제거하여 입력 텍스트로 사용할 깨끗한 오류 텍스트 를 생성하고, 원본 정답 구문 는 편집 내용이 포함된 출력으로 사용합니다. 편집 규칙을 위반한 예시(예: 오류 삽입 시 태그나 오류 유형 없이 삽입한 경우)는 필터링합니다. 추가적으로, Contriever-MSMARCO(Izacard et al., 2022)를 사용해 추가적인 관련 위키피디아 단락 4개를 검색하고, 참조 문서의 순서를 무작위로 섞어 최종 참조 를 만듭니다.
아마 여기서, LLM으로 생성된 <tag> 포함 오류 응답이 small model의 target이 되는 것이다.
<tag>을 삭제한게 small model의 입력이 된다. 즉 실제로 LLM이 환각 응답을 생성했으면 이러한 응답을 생성한다고 보는 것 같음
Reference는 검색된 문서로 small model의 입력이 된다. 즉 LLM이 환각 응답을 생성했으면, 이에 대핸 위키 문서를 검색해온 결과라고 보면 된다.
이렇게 학습된 small model이 Fava라는 것. 즉 LLM으로 문장 y을 생성하고, 이에 대해 검색 문서 c를 가져온다. (여기서 환각인지 아닌지 판별을 먼저 하지 않음) 그리고 (c, y)가 fava로 들어가서 환각이 수정된 y*을 생성하는 시스템인 듯 (즉 환각 감지는 따로 이뤄진다기보다, fava가 생성하면서 tag을 다는 개념임)
데이터 통계 및 인간 평가
다양한 학습 인스턴스 크기에서의 성능을 분석한 후(섹션 7.2), 35,074개의 학습 인스턴스를 생성했습니다. 이 중 30,074개는 위키피디아 구문 기반이며, 5,000개는 QA 쌍을 기반으로 합니다. 모든 오류 유형은 거의 균등하게 분포(각각 약 15%)하며, 평균적으로 위키피디아 하위집합에는 3.1개의 오류, QA 쌍에는 1.4개의 오류가 삽입되었습니다. 오류 분포는 Appendix Table 10에 제시되어 있습니다. 임의로 샘플링한 50개의 예시에 대해 인간 평가를 수행한 결과, 생성된 데이터는 대부분 기대 기준을 충족함을 확인했습니다(Appendix C.4 참고).
5.2 Training and Inference
생성된 대규모 학습 데이터를 활용하여 더 작은 언어 모델(LM)을 학습시켰습니다. 구체적으로, 학습 인스턴스 를 주어진 상황에서, Medit 모델은 를 입력으로 받아, 오류 유형을 나타내는 태그와 함께 편집된 출력 을 예측하도록 표준 언어 모델링 목표를 통해 학습합니다. Medit의 초기화를 위해 Llama2-Chat 7B를 사용했으며, 실험 결과 이 모델로 FAVA를 초기화하는 것이 사전 학습된 Llama2를 사용하는 것보다 약간 더 나은 성능을 보였습니다.
추론(inference) 단계에서는, Contriever-MSMARCO를 사용하여 Wikipedia에서 상위 5개의 문서를 검색하고, 이들과 함께 환각(hallucination)이 포함되었을 가능성이 있는 LM 출력을 입력합니다. 모델은 환각을 식별하고, 삭제해야 할 구문 또는 문장을 표시하며, 편집 제안을 제공합니다.
근데 이 방법은, 환각이 없는 문장도 fava에 넣어버리기 때문에 정상문장에 noise가 껴서 품질이 떨어질 수도 있지 않나? fava는 어쨌든 editing의 능력인데 정상문장을 editing하다가 잘못되는 비율도 있을거 같음6 Experiments
6.1 Experiments for Hallucination Detection
평가 데이터
우리는 902개의 주석이 달린 문단으로 구성된 새로운 벤치마크를 테스트 데이터로 사용합니다. 모델의 검출 성능은 3.2절에서 정의한 문장 단위의 카테고리별 분류 작업을 기반으로 측정합니다. 세분화된 검출(fine-grained detection)과 이진 검출(binary detection) 설정 모두를 평가합니다. 세분화된 환각(hallucination) 검출은 우리가 제안한 새로운 작업으로, 기존 연구는 주로 이진 검출 설정에 초점을 맞추었습니다.
기준 모델(Baselines)
세분화된 환각 검출은 새로운 작업으로, 최신 상태의 사유형 LLM을 사용하는 세 가지 기준 모델을 테스트합니다.
- ChatGPT: ChatGPT(gpt-3.5-turbo-0301)를 사용하며, 여섯 가지 카테고리를 설명하고 두 가지 데모를 포함하는 정교한 프롬프트를 활용합니다.
- GPT-4: 동일한 방식으로 GPT-4를 프롬프트합니다. 그러나 비용 문제로 인해 GPT-4에 검색 기능을 추가한 모델은 포함하지 못했습니다.
- Rt+ChatGPT: FAVA가 검색 기반 증강(retrieval augmentation)을 사용하므로, 비교를 위해 이 기준 모델에서는 ChatGPT를 동일한 프롬프트와 데모로 프롬프트하면서 테스트 시 Contriever가 반환한 상위 5개의 문서를 추가하여 원래 프롬프트를 증강합니다.
추가적으로, FActScore(Min et al., 2023)를 이진 검출 작업에 대해서만 평가합니다. 이 모델 기반 지표는 ChatGPT와 GPT-3(davinci-003)을 프롬프트하여 응답을 원자적 사실 세트로 분해한 다음, 지정된 Wikipedia 문서의 문단을 사용하여 각 사실의 진실성을 검증합니다.
6.2 Experiments for Hallucination Editing
평가 데이터
편집 평가를 위해 자유 형식 텍스트 생성 데이터를 사용하며, 대상 작업에 대한 사실성을 측정하기 위해 설계된 지표를 기반으로 모델의 사실성을 평가합니다. 특히, FActScore(Min et al., 2023)에서 제안한 전기(biography) 생성 작업을 사용하여 편집된 출력물의 FActScore 결과를 바탕으로 환각(hallucination)을 줄이기 위한 편집의 효과를 평가합니다.
기준 모델(Baselines)
편집 실험에서는 ChatGPT와 Rt-ChatGPT뿐만 아니라 Llama2-Chat 13B(검색 기능 유무에 따라 Llama 및 Rt-Llama)를 기준 모델로 사용합니다. 각 모델은 정교하게 설계된 프롬프트와 두 개의 데모를 사용하여 프롬프트됩니다. 모든 기준 모델에 대해, 다음과 같은 방식으로 총 다섯 개의 문서를 검색합니다: 엔터티 이름을 기반으로 문자열 매칭(string matching)을 통해 검색된 한 문서와, Contriever를 통해 검색된 네 문서를 테스트 시 재순위(rerank)하여 활용합니다.
6.3 Human Evaluations
자동 평가의 한계
우리의 자동 평가는 주석의 주관성이나 사실성 평가 지표의 성능 때문에 모델의 환각(hallucination)을 감지하고 수정하는 능력을 완전히 반영하지 못할 수 있습니다. 이를 보완하기 위해 FAVA의 출력물 50개와 자동 평가 점수가 가장 높은 기준 모델(Rt-ChatGPT)의 출력물 50개를 무작위로 샘플링하여 평가합니다. 인간 평가자들에게 제공된 검색 문서를 바탕으로 감지 및 수정이 실제로 얼마나 정확한지 검증하도록 요청합니다. 이는 자동 정밀도 평가와 유사하지만, 문장 단위의 감지 성능을 대략적으로 평가하는 대신, 각 감지 수준에서 모델 성능을 평가한다는 점에서 차이가 있습니다.
7 Results and Analysis
7.1 Results
세분화된 검출 결과
표 2는 FAVA와 기준 모델들의 세분화된 검출 정확도(F1 점수)와 이진 예측 F1 점수를 보여줍니다. 전체 정밀도와 재현율 점수는 부록의 표 13과 14에 제공됩니다. FAVA는 세분화된 오류 검출과 이진 오류 검출 모두에서 ChatGPT, Ret-ChatGPT, GPT-4를 크게 능가합니다. FAVA는 문장(Sentence), 주관적 오류(Subjective), 엔터티(Entity)와 같은 오류 유형에서 높은 정확도를 보입니다. 반면에 허구적(Invented) 및 검증 불가(Unverifiable) 오류에 대해서는 여전히 한계가 있습니다. 이 두 오류 유형은 상위 몇 개 문서를 넘어서는 광범위한 문서 검색이 필요하지만, FAVA는 기본적으로 상위 5개 문서만 고려하기 때문입니다. 표 3은 FAVA와 기준 모델들, 그리고 FActScore(FAct)의 이진 환각(hallucination) 검출 성능을 보여줍니다. FAVA는 환각 검출에서 다른 모든 모델을 크게 앞섰습니다.
근데 생각해보면 별로 참신하지 않은게.. FAVA만 fine-tuned된 모델이기 때문이다. 나머지는 그냥 LLM에게 던진 것이기 때문이다. 물론 FAVA는 Llama2-Chat 7B 베이스기때문에 모델 크기가 작다는 점이 장점임.
근데 FAVA을 학습한 데이터와 평가하는 데이터가 같은 분포이기 때문에 더 유리한 게 아닐까 싶음. 굳이 비판적으로 보자면, LLM 입장에서는 구분하기 어려운 세분화된 할루시네이션 검증/수정 테스크에 대한 데이터 만들고 small model 학습했더니 LLM보다 좋더라! 이런 주장임.
편집 결과
표 4는 전기(biography) 생성 작업에서 편집 작업의 결과를 보여줍니다. FAVA는 크기 면에서 훨씬 작은 모델임에도 불구하고 프롬프트된 ChatGPT나 Llama2-Chat 70B를 크게 능가합니다. ChatGPT는 종종 다양한 오류에 혼란을 겪으며, 모순되거나 주관적인 진술을 과도하게 예측하는 경향이 있습니다. FAVA는 FActScore에서 가장 큰 성능 향상을 보여, 편집과 오류 유형 감지의 효과를 입증합니다.
인간 평가 결과
인간 평가 결과는 부록의 표 16에 제시되어 있습니다. FAVA는 편집 및 검출 작업에서 Rt+ChatGPT보다 각각 46.3%, 31.8% 더 높은 점수를 기록하며, 훨씬 뛰어난 성능을 보였습니다. 또한, FAVA는 검색 기반 ChatGPT보다 문단당 더 많은 오류(평균 2.4개 대 1.9개)를 인식했습니다. 이러한 결과는 FAVA가 LM 출력물에서 사실 오류를 감지하는 데 있어 강력한 성능을 가지고 있음을 추가로 입증합니다.

7.2 Analysis
데이터 규모의 영향
우리 모델을 다양한 크기의 합성 학습 데이터(10k, 20k, 30k 인스턴스)에서 평가하며, 세분화된 환각(hallucination) 검출 성능을 분석했습니다. 부록의 그림 7은 더 많은 학습 데이터를 사용한 FAVA 변형 모델이 세분화된 오류를 감지하는 데 있어 유의미하게 더 나은 성능을 보인다는 것을 보여줍니다.
검색 기능의 영향
FAVA의 Alpaca 13B 출력물에 대한 편집 성능을 다양한 검색 증거를 활용하여 평가했습니다: 상위 1개의 문서; 상위 5개의 문서; 상위 5개 문서의 순서 재배치; 상위 4개의 문서와 대상 엔터티의 소개 문단(엔터티 매칭) 혼합. 실험 결과는 표 5에 요약되어 있으며, 보다 자세한 결과는 부록 표 18에 제공됩니다.
실험 결과에 따르면, 상위 한 개 문서만 검색했을 때보다 상위 다섯 개 문서를 검색했을 때 성능이 4.5% 향상되었습니다. 문단 순서를 재배치하는 재순위(reranking) 모델을 사용하면 일부 개선이 있었으며, 이는 이전 연구(Liu et al., 2023)에서 보고된 대로 문맥 순서의 영향이 무시할 수 없음을 나타냅니다. 엔터티 매칭을 기반으로 참조 문서를 포함하면 성능이 50.1%로 향상되었으며, 이는 상위 5개 검색 결과보다 3.1%, 편집되지 않은 출력물보다 7.6% 개선된 수치입니다.
이 결과는 FAVA가 강력한 성능을 보여주지만, 더 많은 참조 문서를 검색하고 통합하는 데 있어 개선의 여지가 있음을 나타냅니다.
8 Conclusions
우리는 새로운 자동 환각 감지 작업을 소개합니다. 이 작업은 우리가 새롭게 도입한 분류 체계를 기반으로 하며, LLM의 환각을 여섯 가지 카테고리로 계층적으로 분류합니다. 우리는 첫 번째 인간 주석이 달린 세분화된 환각 벤치마크를 수집하고, 우리의 분류 체계를 따르는 세분화된 오류 편집 데이터를 위한 새로운 검색 기반 LLM을 소개합니다.
실험 결과는 FAVA가 편집 및 세분화된 검출 작업에서 강력한 기준 모델들을 크게 능가함을 보여주며, 자동화된 세분화된 오류 검출 및 편집에는 여전히 개선의 여지가 있음을 나타냅니다.
Reference
댓글
댓글 쓰기