Self-contradictory Hallucinations of Large Language Models: Evaluation, Detection and Mitigation, arXiv 2023
분야 및 배경지식
- hallucination
- 환각, 그럴듯한 거짓말
- 언어모델이 말이 되지 않거나(=nonsensical) 사실이 아닌(=unfaithful) 내용을 생성하는 문제
문제점
- self-contradiction (자기 모순)
- 언어모델이 동일한 컨텍스트가 주어졌을 때 상반되는 두 개의 문장을 생성하는 문제
- 유명하거나 덜 알려진 주제 모두에서 발생
해결책
- 언어모델이 스스로 자기모순을 만들고(Trigger), 감지하고(Detect), 약화시키는(Mitigate) 새로운 프레임워크
- 반복(iterative)을 통해 자기 모순을 개선
- extract_contexts
- 문장으로부터 여러 컨텍스트를 추출
- 컨텍스트란 아래 세 개의 요소를 가진 튜플로 정의
- x의 주제, x의 Prefix, 정보추출(IE) 시스템을 통해 추출된 관계쌍 (주어, 관계, 목적어)
- gLM.gen_sentence
- 컨텍스트에 상응하는 새로운 문장 생성
- 기존의 문장과 동일한 범위를 가지도록 제한적으로 생성
- 관계쌍에서 목적어만을 생략하여 새로운 문장 생성 시 약간의 자유도를 제공
- 대안으로 rephrase, continuation, Q&A 또한 실험하였으나 각각 과도한 제약과 너무 약한 제약이라는 한계가 존재
- aLM.detect
- 컨텍스트 내에서 두 개의 문장이 서로 모순인지 여부를 판단
- precision-recall을 활용하여 평가하는 외부 분류기
- chain-of-prompt를 활용하여 설명을 먼저 생성하고 그 이후에 결론을 내도록 프롬프팅 (2번의 프롬프팅)
- 대안으로 directly ask, step-by-step, multi-path 등을 고려하였으나 chain-of-thought이 가장 효과적
- step-by-step: 결론을 내리기 전 추론 과정을 보여줄 것을 유도
- multi-path: 여러 개의 설명을 제공하도록 유도 후 다수결을 통해 결정
- aLM.revise
평가
- 태스크
- open-domain text generation
- 외부에 기반한 지식 없음
- 모델
- Chat-GPT (gpt-3.5-turbo-0301)
- GPT-4 (gpt-4-0314)
- Vicuna-13B
- 데이터셋
- 위키피디아로부터 유명세(popularity), 사람과 사물(human and non-human), 도메인 등을 다양하게 고려하여 주제를 선택
- main test set, big test set을 만들어 검증 진행
- 평가기준
- Trigger: self-contradictory 및 non-contradictory 쌍의 개수, PPL (유창성)
- Detection: precision, recall, F1
- Mitigation: self-contradiction, informativeness, PPL (유창성)
의의
- black-box 언어모델에도 사용할 수 있는 프레임워크
한계
- 감지 후에도 여전히 false negative가 존재
- detection과 mitigation이 더욱 강력해질 필요가 있음