NL-243, Zero-Resource Hallucination Prevention for Large Language Models, Findings of EMNLP 2024
◼ Comment
- 환각 검출을 대답하기 전에 하겠다는 접근방식의 논문이다
- 동기는 나름 신선하다고 느꼈다
- 이전의 연구들은 응답을 생성후, 환각이냐 아니냐를 판단하는 방식이다 (사후 탐지)
- 이렇게 사후 탐지를 하는 것은, 미래에 환각 응답을 생성을 방지할 능력이 부족하다고한다.
- 실제로 인간은 대답전부터 자신이 지식이 부족한지 아닌지를 쉽게 인식하여 이 문제를 피할 수 있으니까, LLM도 이런식으로 하고자 하는거 같다.
- 사전탐지 방식
- 방법론은 사실 뭔가 노벨티는 없는 느낌이다.
- 왜냐하면 사람처럼 하려면 질문과 LLM을 보고 hidden state단에서 혹은 logit 정도단에서 환각을 판단해야할거 같은데...
- 이전 방법과 유사하게 concept 뽑고 샘플링하고 이러한 방식이기 때문이다
- 크게 스텝을 나누자면 다음과 같다
- 1) concept extraction
- NER 모델을 통해 각 문장의 컨셉어를 추출한다
- 추출된 컨셉어를 그루핑하고 필터링하는 과정도 추가하는데, 자세한 내용은 안써있음
- 추출된 컨셉어들을 LLM이 잘알고 있다면 환각이 발생안할것이라는 거고, 모르는 개념이라면 환각이 발생할거라고 간주하는거다
- 2) concept guessing
- 모델에게 컨셉어를 설명해달라고 한다
- 생성된 설명에서 컨셉어에 해당하는 string을 mask 처리한다
- 다시 mask에 대한 개념이 뭔지 llm에게 물어본다
- 생성된 응답의 생성확률을 통해 이 개념의 친숙도 점수를 계산한다
- 3) aggergation
- 각 컨셉어에 대한 친숙도 점수가 있을텐데
- wiktionary에서 컨셉어의 빈도수를 통해 weight sum을 한다
- 좀 더 자세히는, 컨셉어가 여러 토큰으로 이뤄져있을 것이고 각 토큰에 대한 빈도수가 존재할 것이다.
- 토큰의 빈도수를 통해 컨셉어의 빈도수점수?를 계산한다
- 컨셉어 빈도수 점수에 따른 랭킹이 있을텐데, 이 랭킹에 따라 weight 값을 계산한다
- 이러한 접근법은 첫 연구라고 함.
- 따라서 베이스라인이 없긴한데.. 이전 환각연구랑 그래도 비교를 해봄
- 아마 기존 방법은 응답을 생성해서 환각을 사후검증을 한거 같고, 제안 방법은 입력만 가지고 환각검출을 한거 같음
- 기존방법에 대한 비교풀이 SoTA을 포함안하는거 같긴한데? 뭐 어쨌든 더 좋다고 주장한다
- 내가 느끼기엔
- hidden state단에서 사전 검증을 어떻게 하는 방법이 있으면 나름 좋은 연구가 될거 같음
- 여기서도 결국 llm에게 생성을 시키는 방법이기 때문에 말만 사전검증이지 실제로 사후검증처럼 같은 코스트가 드는 것은 큰 변화가 없어보이기 때문
- 하지만 이러한 접근법은 llm이 입력에 대해 환각을 유발하냐? 안하냐?의 포커스가 있기 때문에 다른 방향으로 확장할 수 있다고 본다
- 대표적으로 RAG로 응답해야할지 말지를 결정할때, LLM만으로는 지식이 부족하므로 외부 지식을 필요하다고 결정을 내리는데 도움이 될 수도 있다
Abstract
대형 언어 모델(LLMs)의 다양한 분야에서의 활용이 증가하면서 "환각(hallucination)" 문제에 대한 관심이 높아지고 있습니다. 환각은 LLM이 사실적으로 부정확하거나 근거 없는 정보를 생성하는 경우를 말합니다. 기존의 기술들은 보통 생성 이후에 환각을 식별하는 방식으로 작동하며, 이는 환각의 발생을 방지하지 못하고, 명령어 형식이나 모델 스타일의 영향을 받아 일관성 없는 성능을 보이는 한계가 있습니다.
본 논문에서는 SELF-FAMILIARITY라고 불리는 새로운 사전 탐지 자기 평가 기법을 소개합니다. 이 기법은 입력 명령어에 포함된 개념에 대한 모델의 친숙도를 평가하고, 모델이 해당 개념에 대해 익숙하지 않은 경우 응답 생성을 보류하는 방식으로 작동합니다.
특히 외부의 정답 데이터나 배경 정보가 제공되지 않는 zero-resource 환경에서 유용합니다. 또한, 제한된 내부 지식으로 인해 발생하는 환각 문제에 초점을 맞춘 Concept7이라는 새로운 데이터셋을 제안합니다.
SELF-FAMILIARITY 기법을 네 가지 서로 다른 대형 언어 모델에서 검증한 결과, 기존 기술보다 일관적으로 우수한 성능을 보임을 확인했습니다. 우리의 연구 결과는 LLM 기반 어시스턴트에서 환각 완화를 위한 선제적 전략으로의 중요한 전환점을 제시하며, 신뢰성, 적용 가능성, 해석 가능성의 향상을 약속합니다.
1 Introduction
대형 언어 모델(LLMs)의 광범위한 도입은 헬스케어 및 의학과 같은 다양한 사용 사례에서 그들의 활용에 대한 큰 관심을 불러일으켰습니다. 그러나 이러한 모델의 잠재력을 완전히 발휘하는 데 방해가 되는 주요 과제 중 하나는 환각(hallucination) 문제입니다. 이는 모델이 부정확하거나 조작된 정보를 생성하여 신뢰성과 신뢰도에 큰 격차를 초래하며, 종종 사실과 상충되는 결과를 생성하는 데 기여합니다(Zhang et al., 2023d).
그림 1은 사용자에게 내인성 성장호르몬 분비 부족으로 인해 발생하는 저신장을 치료하기 위해 개발된 새로운 약물 "Skytrofa"에 대해 ChatGPT에 질문한 사례를 통해 이러한 문제를 설명합니다.
여기서 ChatGPT는 이 약물의 중요한 요소들에 대해 부정확한 응답을 생성하는 모습을 볼 수 있습니다.
최근에는 LLM이 열린 대화에서 생성하는 환각 응답을 탐지(또는 수정)하기 위한 다양한 접근법이 제안되었으며, 이는 대략 두 가지 범주로 나눌 수 있습니다.
- 첫 번째 범주의 방법은 제3자의 지식 베이스와 Chain-of-Thought(CoT) 기술을 결합하여 잠재적인 환각 응답을 식별하고 수정하는 방법입니다(Gou et al., 2023; Zhang et al., 2023b; Min et al., 2023; Zhang et al., 2023c; Mündler et al., 2023; Liu et al., 2024).
- 두 번째 연구 방향은 특정 메트릭(예: perplexity)을 활용하여 응답의 정확성을 평가하는 매개변수 기반 방법(Manakul et al., 2023; Min et al., 2023)에 초점을 맞춥니다.
그러나 제안된 모든 방법은 내부 지식 부족으로 인한 환각 문제를 해결하는 데 상당한 한계를 보입니다.
- 첫째, 앞서 언급된 방법들은 주로 환각적 응답의 사후 탐지에 초점을 맞춥니다.
- 이러한 접근법은 응답의 환각 수준을 확인하기 위해 응답을 검토해야 하며, 미래에 이러한 응답 생성을 방지할 능력이 부족하여 신뢰성을 떨어뜨립니다.
- 반면, 인간은 지식이 부족한 상황을 쉽게 인식하여 이 문제를 피할 수 있습니다. 또한 기존 방법의 성능은 지시 기술과 모델 스타일에 크게 영향을 받아 다양한 대화 시나리오에서 강건성을 유지하기 어렵습니다.
- 이러한 복잡성은 환각적 응답을 구분하기 위한 명확한 임계값을 설정하는 데 장애가 됩니다. 예를 들어, 이진 쿼리는 종종 짧은 응답 시퀀스를 유발하여 더 긴 응답 시퀀스에서 얻은 메트릭과 크게 다른 결과를 초래합니다.
- 기존의 방법들은 사후 방법의 개념으로, 모델이 답변을 하고나서야 환각을 판단할 수 있음. 따라서 응답 생성을 방지할 능력이 부족하다는 것
- 사람은 실질적으로 답변전부터 자신이 지식이 부족한 상황인지 아닌지 등을 알 수 있어서 환각 문제를 잘 피할 수 있음
따라서, 인간과 유사한 방식으로 환각을 예방할 수 있는 선제적이고 예방적인 접근법이 인공지능(AI) 언어 어시스턴트의 실용적이고 효율적인 응용을 위해 필수적입니다.
이러한 효과적인 예방 방법을 설계하는 데는 여러 도전 과제가 따릅니다.
- 첫째, 제안된 접근법은 외부 지식(예: 검색 엔진에서 얻은 정보)에 의존하지 않아야 하는 제로 리소스 환경에서 작동해야 합니다.
- 이를 무시하면 방법의 보편성과 적용 가능성이 손상되어 예산 제약이 있거나 외부 접근이 불가능한 상황에 부적합해질 수 있습니다.
- 따라서 언어 모델의 내재된 지식에 대한 깊은 이해가 필수적입니다.
- 게다가, 강건성을 보장하는 것은 매우 중요합니다.
- 제안된 시스템은 다양한 지시 유형, 맥락적 변동성, 모델 스타일에 대해 강력해야 합니다.
- 인간 언어의 개방적이고 역동적인 특성을 감안할 때, 다양한 시나리오 전반에서 일관된 성능과 안정적인 강건성을 달성하는 것은 분명히 어려운 과제입니다.
이러한 과제를 동시에 해결하기 위해 우리는 SELF-FAMILIARITY라는 새로운 제로 리소스 사전 탐지 방법을 제안합니다(그림 2 참조).
- 이 접근법은 인간의 자기 평가 능력을 모방하여 모델이 익숙하지 않은 개념에 대해 논의하지 않도록 하여 환각된 정보를 생성할 위험을 줄입니다.
- 초기 단계에서는 Concept Extraction 단계에서 명령어에서 개념 엔티티를 추출하고 처리합니다.
- 이후 Concept Guessing 단계에서는 추출된 개념을 개별적으로 분석하며, 프롬프트 엔지니어링을 통해 각 개념의 친숙도 점수를 얻습니다.
- 마지막으로 Aggregation 단계에서는 다양한 개념에서 얻은 친숙도 점수를 결합하여 최종 명령어 수준의 친숙도 점수를 생성합니다.
- 마치 사람과 같은 사고흐름을 따르자는 느낌
- 문장에서 컨셉을 추출하고, 컨셉어가 어떤 뜻인지 추측하고 이에 대한 정보를 합쳐서 familiarity 점수를 계산하자
기존 방법과 비교하여 우리의 알고리즘은 다음과 같은 장점을 제공합니다.
- 우선, SELF-FAMILIARITY는 CoT(Chain-of-Thought) 기술과 매개변수 기반 방법의 강점을 통합합니다.
- CoT 방법과 유사하게, 우리의 알고리즘은 모델에 익숙하지 않은 개념을 식별하여 건설적인 응답을 제공할 수 있습니다.
- 그러나 우리의 알고리즘은 프롬프트 엔지니어링만을 사용하며, 모델이 강력한 추론 능력을 갖추지 않아도 되며, 이를 통해 기존 방법의 단점을 회피하면서 장점을 결합합니다.
- 또한, 우리의 알고리즘은 지시 스타일과 유형에 영향을 받지 않으며, 선제적이고 예방적이기 때문에 신뢰성과 강건성을 증가시킵니다.
- 마지막으로, 외부 지식이 필요하지 않습니다.
우리는 새로 제안된 사전 탐지 환각 명령어 분류 데이터셋 Concept-7을 사용하여 네 가지 대형 언어 모델에서 우리의 방법을 평가했으며, 이는 제한된 내부 지식으로 인해 발생하는 환각에 중점을 둡니다.
실험 결과, 제안된 SELF-FAMILIARITY는 모든 모델에서 이러한 유형의 환각 문제를 해결하는 데 있어 기존 방법보다 일관되게 우수한 성능을 보여 주었으며, 큰 응용 가치를 입증했습니다.
2 Related Work
우리의 이해로는, 제로 리소스 환경에서 명령어 내 개념의 이해를 분석하여 열린 대화에서 환각된 응답을 예방하는 데 전념한 기존 연구는 없는 것으로 보입니다. 따라서 우리가 다루는 맥락은 이전 연구들과는 뚜렷이 구별됩니다.
2.1 Hallucination Detection and Correction Methods
이전의 환각 탐지 및 수정 연구는 주로 특정 작업을 위한 조건부 텍스트 생성에 초점을 맞추었습니다.
이러한 작업에는
- 요약 생성(Maynez et al., 2020; Wang et al., 2020a; Cao et al., 2021),
- 이미지 캡셔닝(Rohrbach et al., 2018; Biten et al., 2022),
- 대화 생성(Shuster et al., 2021),
- 기계 번역(Zhou et al., 2020; Wang and Sennrich, 2020), 그리고
- 테이블-텍스트 변환(Wang et al., 2020b, 2021) 등이 포함됩니다.
- 이러한 연구들은 매우 작업 특화적(task-specific)인 성격 때문에, 열린 대화 환경에서의 환각 문제를 해결하는 데 한계가 있습니다.
열린 대화 환경에서는 사용된 전략에 따라 방법론이 크게 두 가지 범주로 나뉩니다.
- 첫 번째 그룹은 Chain of Thought(CoT) 또는 프롬프트 프로그래밍을 사용하여 응답을 평가하고 수정하는 방법입니다.
- 대표적인 예로 CRITIC(Gou et al., 2023)이 있는데, 이는 검색 엔진을 활용한 외부 입력과 함께 CoT 프로세스를 사용하여 응답 품질을 향상시키는 방식입니다.
- 이는 검색 기반 생성(RAG; Lewis et al., 2020)과 유사합니다.
- 일부 연구는 외부 지식을 요구하지 않으며(Zhang et al., 2023c; Mündler et al., 2023; Ji et al., 2023), 종종 모델 자체에 응답의 신뢰성을 평가하도록 요청합니다.
- 그러나 이러한 방법은 특정 응답에 맞게 설계되었으며, 모델의 내재적 추론 능력에 크게 의존하는 한계가 있습니다.
- 또 다른 문제는 알고리즘 출력이 일반적으로 자유 텍스트 형식이라는 점으로, 실제 분류 임계값을 모호하게 만들 수 있다는 점입니다.
- 두 번째 범주의 방법은 언어 모델의 매개변수(예: 토큰 확률 시퀀스)를 사용하여 환각 수준을 결정하는 데 중점을 둡니다.
- 이러한 방법은 일반적으로 우수한 일반화 능력을 보이며, 정밀한 출력 점수를 제공할 수 있습니다.
- Self-check GPT(Manakul et al., 2023)는 열린 텍스트 생성에서 매개변수 기반 방법을 선도적으로 사용한 연구입니다.
- Self-check GPT에서는 perplexity, 샘플링, unconditional 확률을 결합하여 환각 수준을 추정합니다.
- 그러나 이 연구는 biographyrelated 관련 문제에만 초점을 맞추며, CoT 기술에 비해 모델의 해석 가능성이 크게 감소한다는 한계가 있습니다.
여기서는 환각을 CoT/프롬프트로 해결하는 것과 토큰확률 (uncertainty)로 나눴네
2.2 Hallucination Detection Datasets
현재 열린 대화에서 환각 탐지를 위한 데이터셋은 주로 사후 탐지(post-detection) 시나리오에 초점을 맞추고 있습니다. 이러한 데이터셋(Lin et al., 2021; Liu et al., 2022; Muhlgay et al., 2023; Li et al., 2023; Manakul et al., 2023; Min et al., 2023; Mündler et al., 2023; Zhang et al., 2023c)에서의 작업은 올바른 응답을 선택하거나 응답이 잘못되었는지 판단하는 것을 포함합니다.
그러나 이러한 데이터셋은 특정 제약이 있습니다.
- 먼저, 기존 데이터셋은 사후 탐지에 초점을 맞추고 있어, LLM이 이러한 데이터셋에 존재하는 잘못된 응답을 생성하지 않을 수도 있는 실제 시나리오를 재현하지 못합니다.
- 모델이 특정 환각 응답을 정확히 분류할 수 있다 하더라도, 이는 모델이 이후에 다른 환각 응답을 생성하지 않을 것이라는 보장을 제공하지 않습니다.
또한, 기존 데이터셋은 일반적으로 다양한 환각 원인을 혼합한 설정을 제공하기 때문에, 지식 부족으로 인한 환각에 대한 모델 성능을 평가하는 것도 필요합니다. 따라서, 지식 부족으로 인한 환각을 사전 탐지(pre-detection) 설정에서 검증하기 위한 새로운 데이터셋을 만드는 것이 중요합니다.
기존의 데이터세트는 LLM이 응답한 문장이 환각이냐 아니냐를 판단하는게 초점이였다면
여기서는 답변전부터 LLM이 질문에 답변할 수 있나?를 사전 탐지가 목표인 것
3 Methodology
우리 알고리즘의 목표는 제로 리소스 환경에서 대상 명령어 PT에 존재하는 개념에 대해 언어 모델의 친숙도를 확인함으로써 PT가 potential hallucinatory 명령어일 가능성이 있는지 평가하는 것입니다.
그림 2에 제시된 바와 같이, 우리의 방법은 세 가지 주요 단계로 구성됩니다:
- (1) 개념 추출(Concept Extraction),
- (2) 개념 추론(Concept Guessing),
- (3) 통합(Aggregation).
3.1 Concept Extraction
친숙도를 평가하기 위해서는 자유 텍스트 형식의 명령어에서 개념 엔티티를 먼저 추출해야 합니다. 그렇지 않으면 점수가 명령어의 이해에 기여하지 않는 스타일적 요소나 포맷팅 요소(“잡음”)에 의해 크게 영향을 받을 수 있습니다.
예를 들어, 질문 “Can sound travel in a vacuum?”을 명제 형식인 “Sound can travel in a vacuum. Please judge the statement.”로 변환하더라도 요구되는 지식은 변하지 않지만, 이후 응답의 스타일에는 상당한 영향을 줄 수 있습니다.
또한, 명령어에 여러 개념이 포함되어 있으면 이후 프롬프트 엔지니어링의 난이도가 크게 증가할 수 있습니다. 이러한 개념을 분리하고 개별적으로 평가함으로써 스타일적 영향을 최소화하여 후속 절차의 강건성을 높일 수 있습니다.
우리는 주어진 명령어에서 개념을 추출하기 위해 개체명 인식(NER, Named Entity Recognition) 모델을 활용합니다:
여기서 추출된 엔티티 는 명령어의 주요 개념으로 간주됩니다. 은 추출된 개념의 수를 나타냅니다. 그러나 NER 모델은 종종 불필요한 잡음을 생성하거나 일부 개념을 완전히 포착하지 못할 수 있습니다.
이를 해결하기 위해, 우리는 추출된 개념을 정제하는 후속 처리 단계를 도입하며, 이는 아래와 같이 구성됩니다.
이 논문은 명령어가 환각을 유발할만한 명령어인지 판단하는 게 초점인데
명령어를 바로 환각인지 판단하지 않고, 컨셉어부터 추출한다. 이러한 이유로는 복합적으로 문장이 구성되면 프롬프트 엔지니어링이 어려워지고 문제가 어려워지기 때문이라고 한다.
즉 NER로 뽑은 객체명을 컨셉어(문장의 주요개념)라고 간주한다. 물론 NER 성능이 100프로는 아니기 때문에 post-processing을 다음단계에서 하는 듯
개념 그룹화(Concept Grouping)
추출된 개념은 종종 불완전성을 나타냅니다.
예를 들어, “2023 United States debt-ceiling crisis”가 [“2023”, “United States”, “debt-ceiling crisis”]로 잘못 분리될 수 있습니다.
이를 해결하기 위해, 인접한 개념을 순차적으로 병합하는 방법을 제안합니다. 우리는 개념을 PT 내 위치를 기준으로 정렬하고, 새로 병합된 개념이 원래 PT 내에 존재하는 경우, 해당 개념 쌍을 통합하여 확장된 통합 개념을 만듭니다.
개념 필터링(Concept Filtering)
개념 병합 이후에는 단순 개념을 제외하여 효율성을 높이는 단계가 필요합니다. 여기에는 “연도(year)”나 “나이(age)”와 같은 일반적으로 모델이 잘 이해하는 일반 개념이 포함됩니다.
이를 위해, 우리는 Wiktionary에서 가장 자주 사용되는 단어를 “일반 개념(common concepts)”으로 지정하고, 이 단어들에 포함된 개념은 제거합니다. 이를 통해 중요한 개념만 남겨 보다 효율적인 평가가 가능해집니다.
3.2 Concept Guessing
다음 단계는 제로 리소스(Zero-Resource) 환경에서 추출된 개념들에 대해 언어 모델(LM)의 친숙도를 평가하는 것입니다. 제로 리소스 환경에서 이 작업을 수행하면 외부 개념 지식에 의존할 수 없기 때문에 복잡성이 크게 증가합니다. 따라서, 모델의 이해도를 기존의 기준(gold definition)과 비교하여 결과를 도출하는 방식은 실질적으로 불가능합니다.
한편, CoT(Chain of Thought)와 같은 특정 방법을 통해 모델에 개념에 대한 친숙도를 직접 질의하는 방식이 가능할 수 있습니다. 그러나 이러한 접근법은 모델의 강력한 추론 능력을 요구하며, 자주 모호한 응답을 초래합니다. 따라서 보다 범용적으로 적용 가능하며, 정밀한 방법이 필요합니다.
이러한 필요를 해결하기 위해, 우리는 새로운 자기 평가 기법인 **Concept Guessing(개념 추론)**을 제안합니다. 이 접근법은 다음과 같은 과정을 통해 진행됩니다:
- 모델에 특정 개념에 대한 설명을 생성하도록 요청합니다.
- 이후 프롬프트 엔지니어링을 통해, 모델이 해당 설명을 기반으로 원래 개념을 재구성하도록 요청합니다.
- 모델이 초기 개념을 성공적으로 생성할 경우, 응답 시퀀스의 확률 점수를 해당 개념과 설명 간의 연결 강도(즉, 친숙도 점수)로 해석할 수 있습니다.
이 과정은 전문화된 '셔레이드(Charades)' 또는 '픽셔너리(Pictionary)' 게임과 비슷합니다. 언어 모델이 생성한 설명을 기반으로 원래 개념을 유창하게 도출할 수 있다면, 이는 설명의 충분성을 입증함과 동시에 해당 개념에 대한 모델의 숙련도를 반영합니다. 중요한 점은 이 방법이 개념의 "골드 정의"를 확보할 필요가 없다는 것입니다.
이를 표준화된 지표로 전환하기 위해, 다음 단계를 제안합니다:
약간 back-translation 느낌이긴한데
모델에게 컨셉어를 설명하도록 요청해서 쭈루룩 설명이 나오면
이 설명에서 컨셉어가 있는 위치를 MASK씌워서 MASK 토큰이 먼지를 생성하라고 시킨다
그래서 원래 컨셉어가 제대로 생성되면 친숙도 점수?로 간주하는 듯.. (그림2 참고)
3.2.1 Concept Explanation
우선, 표준 설명 프롬프트 를 사용하여 대상 개념 와 결합한 후 실험 중인 언어 모델(LM)에 질의합니다. 이 질의는 LM이 각 개념에 대한 설명을 생성하도록 유도하며, 이는 **탐욕적 검색(Greedy Search)**을 통해 이루어집니다.
탐욕적 검색은 응답을 생성하기 위해 다음 단어를 가장 높은 확률로 선택하며, 문장의 끝 토큰(end of sentence token)을 만나거나 정해진 최대 길이 Lf에 도달할 때까지 이 과정을 계속합니다.
수식으로 표현하면 다음과 같습니다:
여기서 는 를 의 미리 정의된 위치에 삽입하는 연산을 나타냅니다.
많은 경우, 생성된 설명에는 원래 개념 가 직접적으로 포함될 수 있습니다(그림 2 참고). 따라서, 모델이 단순히 원래 개념을 "복사"하여 "속임수"를 쓸 가능성이 있습니다. 이를 방지하기 위해, 에서 의 단어들을 **마스킹(masking)**합니다.
마스킹된 결과는 다음과 같이 정의됩니다:
이를 통해 모델이 직접적인 개념 복사를 회피하도록 보장할 수 있습니다.
- 컨셉어 = Operation Overload
- PE + ci = Explain the “Operation Overload” within one short paragraph. 와 같이 설명 생성
- 설명(Ri) = Operation Overload is part of the German blitzkrieg attack …
- 설명에 컨셉어가 직접 들어가므로, 복사 및 속임수 방지를 위하여 이를 마스킹
- R*i = “[MASK] is part of the German blitzkrieg attack …”
3.2.2 Concept Inference
마스킹된 설명 와 개념 추론 프롬프트 를 사용하여, 모델에게 원래 개념 를 생성하도록 요청할 수 있습니다.
그러나, 모델의 응답은 자유 형식의 텍스트로 생성되므로, 이를 표준 점수로 변환하는 데 어려움이 따릅니다.
예를 들어, 모델이 원래 개념을 정확히 생성했지만 "Pepsi" 대신 "Coca-Cola의 가장 큰 경쟁자"와 같은 다른 형식으로 표현할 수 있습니다. 이러한 불일치는 원래 개념이 성공적으로 재생성되었는지 판단하는 과정을 복잡하게 만듭니다.
MASK을 복원해도, 이를 제대로 복원했는지 평가하기가 어렵다. 단순히 exact match가 아니더라도 개념을 알수 있는 것이기 때문. 예) 코카콜라대신 펩시를 생성한다고 틀린 개념이 아닌 것처럼
이를 해결하기 위해, 우리는 제약된 빔 검색(Constrained Beam Search, ConsBeamSearch) 접근법을 적용합니다(Anderson et al., 2017). 이 방법은 모델이 빔 검색을 통해 원래 개념을 포함하는 응답을 찾도록 지시하며, 동시에 응답의 확률 점수를 제공합니다.
수식으로 표현하면 다음과 같습니다:
여기서 각 는 원래 개념 엔티티 를 포함하는 응답 와 해당 응답의 확률 점수 를 나타냅니다.
는 ConsBeamSearch 알고리즘의 빔 검색 크기를 의미합니다.
종료 조건은 문장의 끝 토큰(end of sentence token)에 도달하거나, 최대 길이 에 도달하는 시점으로 설정합니다.
빔 검색은 여러 결과를 반환하지만, 모델의 이해도는 가장 높은 확률 점수와만 관련이 있습니다. 따라서, 우리는 중 가장 높은 응답 점수 를 선택하여 개념 의 **친숙도 점수(familiarity score)**로 정의합니다:
이 과정을 통해 모델이 생성한 응답 중에서 가장 높은 품질의 결과를 바탕으로 모델의 개념에 대한 이해도를 평가할 수 있습니다.
- R*i = “[MASK] is part of the German blitzkrieg attack …”
- PI + R*i = What is related to “[MASK] is part of the German blitzkrieg attack …”? 을 LM에 던져서 빔서치로 생성
- 빔서치 결과들
- R1i = German operation overload blitzkrieg attack
- R2i = Is part of the operation overload
- R3i = blitzkrieg attack during world war II is Operation overload
- 빔서치 결과중에 컨셉어(operation overload)를 포함안하는 응답은 점수계산자체를 안하는것인듯. (constrained beam search라고 여기서 부르는 듯)
- 즉 컨셉어 포함된 빔서치 결과만 가져옴
- 각 응답의 해당 확률 점수가 계산된다.
- 여기서 말하는 확률 점수는 아마 token probabilty을 쭉 곱한 것을 말한게 아닐까 싶음
3.3 Aggregation
많은 상황에서 최종적으로 추출된 개념의 수가 하나 이상일 수 있습니다.
따라서 각 개념의 중요도를 순위화하고, 각 개념의 중요도를 기반으로 친숙도 점수를 병합하여 최종적인 명령어 수준의 결과를 생성해야 합니다.
3.3.1 Concept Frequency Score
어떤 개념의 중요성을 평가하기 위해, 해당 개념에 포함된 단어들의 빈도 순위를 기반으로 점수를 계산하는 방법을 제안합니다.
우리의 예상은, 더 드문 단어들로 이루어진 개념이 더 낮은 점수 에 대응할 것이라는 것입니다.
이를 위해, 개념 의 -번째 단어의 빈도 순위 를 Wiktionary에서 가져옵니다. 사전에 없는 단어이거나 대문자로 시작하는 단어의 경우, 순위를 사전의 길이로 설정합니다. 단어 분포가 일반적으로 long-tail 분포를 따르기 때문에, 우리는 지수 함수를 사용하여 빈도 순위를 빈도 점수로 변환하고 이를 곱하여 개념 수준 빈도 점수를 계산합니다:
여기서 는 개념 에 포함된 단어의 수를 나타냅니다. 는 결과 점수가 적절한 범위 내에 있도록 보장하는 정규화 계수입니다
- 컨셉어가 여러 단어로 이뤄져있을 것이고, 각 단어의 빈도순위를 wiktionary에서 가져온다
- 식 6처럼 exponetial을 취해서 다 곱한다 (계산상으로는 지수곱셈이라, 단어의 빈도수를 결국 다 더하는 개념이 될 듯)
- 전체적으로 빈도순위가 클수록(덜 빈번할수록) fi는 작아질것이고 이는 드문 단어로 구성되어 중요도가 높아짐을 의미한다는 것
3.3.2 Weighted Aggregation
다음으로, 빈도 점수를 기반으로 친숙도 점수를 가중 평균 방식으로 계산합니다. 이 접근법은 단일 점수를 최종 값으로 선택하는 단순한 방법에 비해 다중 엔티티 상황에서 더 높은 안정성을 제공합니다.
중요한 부분이 덜 중요한 꼬리 부분보다 더 큰 기여를 할 수 있도록, 우리는 비율을 갖는 기하급수적으로 감소하는 가중치 방식을 채택합니다:
여기서 는 가 내에서 크기 순으로 정렬되었을 때의 순위를 나타냅니다.
- fi을 weighted로 사용하는것은 아니고, 이를 기반으로 매긴 순위를 기반으로 weight을 계산
이렇게 계산된 는 지시의 환각(hallucination) 수준을 나타내는 데 사용되며, 점수가 사전에 정해진 임계값 보다 낮아질 경우 응답 프로세스를 종료합니다.
4 Experiments
4.1 Dataset
이 데이터셋은 192개의 기본 개념과 451개의 기본 지시문, 180개의 테스트 개념과 515개의 테스트 지시문을 포함하며, 이는 7개의 전문 도메인에서 수집되었습니다.
4.2 Baseline Methods
- 다른 방법론은 응답을 생성하고 환각을 검출하고, 이 방법은 질문만 가지고 검출하고 비교한 것같음 (reference-free 들로)
- 근데 비교방법이 막 SoTA들과 비교한건 아닌거 같은데.. selfchekgpt 라든지
특히 본 연구는 **제로 리소스 예방 설정(zero-resource prevention settings)**에 중점을 두고 있기 때문에, 외부 지식을 요구하는 방법은 제외하였습니다.
- Greedy-Perplexity: 각 입력에 대해 Greedy Search를 사용해 응답을 생성한 후, 해당 응답의 perplexity를 계산합니다. 음의 perplexity 점수를 모델의 친숙도 점수로 간주하며, 이는 (Manakul et al., 2023)의 접근 방식과 유사합니다.
- Greedy-AvgLogp: 각 입력에 대해 Greedy Search를 사용해 응답을 생성한 후, 응답의 평균 로그 토큰 확률 점수를 계산합니다. 이 방식 역시 (Manakul et al., 2023)의 접근 방식과 유사합니다.
- Greedy-MinLogp: Greedy-AvgLogp와 유사하지만, 최소 확률 점수를 사용합니다. 이는 (Manakul et al., 2023)에서 제안된 방법과 유사합니다.
- Sample-BERTScore: 주어진 프롬프트로부터 TS 응답들을 샘플링한 후, 각 문장 쌍 간의 BERTScore (Zhang et al., 2019)를 계산합니다. 그런 다음, 나머지 문장들과의 평균 유사도 점수가 가장 높은 문장을 중심 문장으로 선택합니다. 가장 높은 평균 유사도를 친숙도 점수로 간주하며, 이는 (Manakul et al., 2023; Zhang et al., 2023a)의 방법론을 따릅니다.
- Sample-SentenceScore: Sample-BERTScore와 유사하지만, 샘플링된 TS 응답들의 문장 임베딩 코사인 유사도를 Sentence-BERT (Reimers and Gurevych, 2019) 인코더를 사용해 비교합니다.
- Self-Detection: 질문을 패러프레이징한 응답의 일관성을 기반으로 샘플링하는 방법입니다 (Zhao et al., 2023). TS 질문을 샘플링한 후, Self-detection을 적용하여 일관성 점수를 계산합니다.
- Forward-Inference: 언어 모델이 지시에 포함된 도메인 관련 개념을 인식하는지를 직접 묻는 방식으로, 이는 (Zhang et al., 2023c; Mündler et al., 2023)의 CoT (Chain of Thought) 방식과 유사합니다. “Yes” 응답 시퀀스의 가능성을 친숙도 점수로 간주합니다.
- Forward-Self: 생성된 응답이 질문에 올바르게 답했는지를 같은 모델을 사용해 평가합니다 (Ji et al., 2023; Madaan et al., 2023). Forward-Inference와 유사하게, “Yes” 또는 “No” 응답의 가능성을 친숙도 점수로 사용합니다.
4.3 Tested Large Language Models
다양한 스타일의 지시문 정렬(instruction-aligned) 대형 언어 모델을 심층적으로 비교할 수 있도록, 다음의 다섯 가지 모델을 평가 대상으로 선정했습니다:
- Vicuna-13b-v1.3 (Zheng et al., 2023)
- Llama-2-13b-chat (Touvron et al., 2023)
- Falcon-7b-instruct (Almazrouei et al., 2023)
- mpt-7b-instruct
- Alpaca-7b (Taori et al., 2023)
우리의 접근 방식에서는 **제약된 빔 서치 생성 제어(constrained beam search generation control)**가 필요하므로, API 접근만을 제공하는 모델은 고려 대상에서 제외되었습니다.
4.4 Evaluation Metrics
우리는 다음의 평가 지표를 채택하였습니다:
- AUC (Area Under the Curve): 모델 성능의 전반적인 평가를 위해 사용됩니다.
- ACC (Accuracy): 예측된 친숙도 점수와 실제 점수가 일치하는 비율을 측정합니다.
- F1-Score (F-score): 정밀도(Precision)와 재현율(Recall)의 조화 평균을 사용하여 모델의 균형 잡힌 성능을 평가합니다.
- PEA (Pearson Correlation Coefficient): 예측된 친숙도 점수와 주석된 친숙도 점수 간의 선형 상관 관계를 측정합니다.
이러한 지표는 모델의 성능을 다각도로 분석하고 비교하는 데 사용됩니다.
4.5 Results on Instruction Setting
환각적 지시문 분류 결과 분석
표 2에 제시된 결과를 분석하며 두 가지 주요 통찰을 도출할 수 있습니다.
-
기존 방법의 성능 일관성 부족
- 본 연구의 방법을 제외하면, 다른 기준 방법들은 테스트된 다양한 모델에서 성능 일관성이 부족한 모습을 보였습니다.
- 특히, 선호되는 방법이 언어 모델(Language Models, LMs)에 따라 크게 달라졌습니다.
- 서론에서 강조한 바와 같이, 현재의 많은 방법들은 모델 스타일에 쉽게 영향을 받습니다. 결과적으로, 특정 방법의 성능은 사용된 모델에 따라 달라지며, 이는 이러한 방법들의 다양한 환경에서의 활용성을 제한합니다.
- Forward-Inference 방법은 이를 잘 보여주는 사례입니다. Vicuna-13b-v1.3에서는 우수한 성능을 보였지만, 다른 모델에서는 효율성이 크게 감소했습니다.
- 이는 CoT(Chain of Thought) 또는 **프롬프트 프로그래밍(prompt programming)**과 같은 기법들이 높은 품질의 결과를 제공할 수 있지만, 모델의 내재된 CoT 능력에 크게 의존한다는 가설을 뒷받침합니다.
- 많은 언어 모델이 이 목적을 위해 특별히 미세 조정되지 않았기 때문에, 이러한 기법의 활용성은 제한적입니다.
-
매개변수 기반 방법의 한계
- Greedy-Perplexity는 여러 모델에서 우수한 성능을 보였지만, mpt-7b-instruct에서는 환각 지시문을 전혀 탐지하지 못해 F1 점수가 0으로 나타났습니다.
- 이는 매개변수 기반 방법들도 강건성(robustness) 문제에서 자유롭지 않음을 보여줍니다.
- 유사하게, 다른 방법들도 동일한 문제를 겪었습니다.
대조적으로, 본 연구에서 제안한 방법은 다음과 같은 강점을 보였습니다.
- 우수한 성능
- 기존 접근 방식보다 더 뛰어난 결과를 제공했습니다.
- 일관된 성능
- 다양한 언어 모델에서 일관된 결과를 보였습니다.
- 이 부분이 큰 포인트인거 같긴함
- PEA 상관 점수
- 제안된 알고리즘으로 평가된 결과는 개념에 대한 골드 설명 기반의 친숙도 점수와 높은 상관 관계를 나타냈습니다.
이러한 결과는 본 연구의 접근 방식이 기존 방법들에 비해 강건성과 신뢰성이 뛰어남을 강조합니다.
4.6 Human Evaluation Results
추가 평가: GPT-4 및 크라우드소싱 활용
GPT-4를 기반으로 한 평가 외에도, Vicuna-13b-v1.3에 대한 개념 친숙도 점수를 크라우드소싱을 통해 주석(annotation)하고 이를 평가하였습니다. 표 3에 결과가 자세히 나와 있습니다.
-
결과 비교
- 다양한 방법의 결과와 순위는 GPT-4 기반 평가와 유사하게 나타났습니다.
- 이는 GPT-4를 활용한 자동 평가 방법론의 효과성을 입증합니다.
-
인간 기반 평가 결과
- 인간 주석에 기반한 평가에서도, 본 연구의 접근 방식은 모든 평가 지표에서 일관되게 우수한 성능을 보였습니다.
이 결과는 본 연구의 방법론이 자동 및 인간 평가 환경 모두에서 강력한 성능을 발휘하며, 다양한 조건에서도 신뢰할 수 있는 평가 방식을 제공함을 보여줍니다.
4.7 Ablation Study
개념 처리 전략의 기여 분석
다음은 알고리즘의 다양한 설정을 나타내는 표기법입니다:
- W/O Grouping: 추출된 개념들을 그룹화하지 않고 처리.
- W/O Filtering: 공통 개념을 필터링하지 않고 처리.
- W/O Ranking: 개념을 빈도 점수에 따라 정렬하지 않음. 대신, 지시문 내에서 개념의 위치를 기준으로 순서를 결정.
결과적으로, 이러한 기법 중 하나라도 제외할 경우 최종 성능이 하락한다는 것이 확인되었습니다. 이는 제안된 각 개념 처리 전략이 성능 향상에 효과적임을 보여줍니다.
지시문 수준 친숙도 점수 집계 방법 비교
우리의 가중 평균(weighted averaging) 방법과 다른 집계 기술들의 성능을 비교했습니다:
- Minimal Only: 가장 낮은 개념 친숙도 점수를 최종 결과로 선택.
- Most Infrequent Only: 가장 낮은 빈도 점수를 가진 개념의 친숙도 점수를 최종 결과로 선택.
결과 분석:
- 제안된 가중 평균 방법이 전반적으로 가장 우수한 성능을 보였으며, 이는 다양한 개념의 중요도 순위와 집합적인 성능을 모두 고려할 수 있기 때문입니다.
- 반면, 다른 두 방법은 개념 친숙도 점수의 일부만 고려하기 때문에 제한적인 결과를 보였습니다.
- 단, F1 지표에서는 제안된 방법이 다른 방법들에 비해 약간 낮은 성능을 보였는데, 이는 특정 상황에서 극단적인 점수를 선택하는 방법이 일부 효과를 발휘할 수 있음을 시사합니다.
이 연구는 제안된 처리 및 집계 방법이 모델의 강력한 성능에 핵심적인 역할을 한다는 것을 강조합니다.
4.8 Case Study
실제 사례 연구: 의료 도메인
본 섹션에서는 의료 도메인에서 환각적 응답(hallucinated responses)을 예방하기 위한 알고리즘의 적용 가능성을 입증하기 위해 실제 사례 연구를 수행합니다. 추가 사례는 부록 H에서 확인할 수 있습니다. 그림 3에 세부 사항이 나와 있습니다.
-
사례 개요
- **"Beyfortus"**는 최근 승인된 신약입니다.
- 먼저, "Without Guard" 설정에서, 알고리즘을 적용하지 않은 경우 모델이 망설임 없이 잘못된 정보를 생성합니다.
- 이와 같은 잘못된 정보는 사용자가 배경 정보를 적극적으로 찾아보지 않는 한 탐지하기 어렵습니다.
-
"With Guard" 설정
- 본 연구의 알고리즘을 SELF-FAMILIARITY를 활용하여 모델의 "Beyfortus" 개념 이해도를 평가하는 보호 장치(Guard)로 작동시켰습니다.
- 결과적으로, 모델이 마스킹된 설명을 바탕으로 **"Beyfortus"**와 관련된 응답을 생성하는 데 상당한 어려움을 겪는다는 것을 확인할 수 있었습니다.
- 이는 모델이 **"Beyfortus"**라는 개념과 잘못된 설명 사이에 내재된 연결을 학습하지 않았기 때문입니다.
- 검색해서 정보가 더 필요한 상황이란걸 인지할 수 있음
- 검색해서 얻은 문서를 통해 더 나은 정답을 도출함
-
배경 지식 추가를 통한 문제 해결
- 이러한 문제는 익숙하지 않은 개념에 대한 배경 지식을 도입함으로써 쉽게 해결할 수 있습니다.
- 다음 단계에서 검색 엔진을 활성화하여 **"Beyfortus"**와 관련된 정보를 배경 데이터로 검색한 후, 모델은 정확한 응답을 생성할 수 있었습니다.
결론
이러한 결과는 본 연구의 접근 방식이 환각적 응답을 예방하는 데 강력할 뿐만 아니라, 높은 해석 가능성을 제공하며 잘못된 응답을 수정하는 데 유용한 도구로 활용될 수 있음을 시사합니다.
5 Conclusion
우리는 SELF-FAMILIARITY라고 부르는 잠재적 환각 지시문에 대한 새로운 사전 탐지(pre-detection) 방법을 소개했습니다.
본 접근법은 **개념 추론(Concept Guessing)**을 활용하여 모델의 개념 설명 품질을 평가함으로써, 모델의 이해 수준을 판단합니다.
-
성과
- SELF-FAMILIARITY는 다양한 언어 모델에서 제로 리소스(zero-resource) 설정 하에 오직 자체 평가만으로 환각적 지시문의 사전 탐지에서 일관되게 최신(state-of-the-art) 성능을 달성하였습니다.
-
해석 가능성과 융합 가능성
- 제안된 방법은 환각을 유발한 개념을 식별함으로써 탁월한 해석 가능성을 보여줍니다.
- 이러한 독창적인 특징은 사후 탐지(post-detection) 및 수정 기법과의 통합을 가능하게 하여 방법론의 활용성을 더욱 높입니다.
-
미래 연구 방향
- 향후 연구에서는 더욱 세분화된 **하위 개념(sub-concept)**의 이해도를 평가하는 방안을 탐구하여, 현재의 알고리즘을 한층 정교하게 발전시킬 계획입니다.
Limitations
서론에서 언급한 바와 같이, 본 연구의 접근법은 주로 내부 지식의 부족으로 인한 환각 현상을 해결하는 데 초점을 맞추고 있습니다. 따라서, 잘못된 신념이나 결함 있는 추론에서 기인한 환각에 대해서는 대응 능력이 제한적임을 유의해야 합니다.
그럼에도 불구하고, 일반적인 환경에서는 여전히 우수한 성능을 보여줍니다.
제한 사항 및 도전 과제
- 명명된 엔티티 추출 실패
- 명명된 엔티티(named entities)를 성공적으로 추출하지 못하는 경우, 환각 탐지가 어려울 수 있습니다.
- 복잡한 귀속 관계
- 지시에 포함된 모든 엔티티를 식별하고 평가해야 하는 상황이 발생할 수 있습니다.
- 이러한 경우, 추론 시간이 크게 증가할 가능성이 있습니다.
미래 연구 방향
향후 연구에서는 모호하거나 "불확실한(fuzzy)" 엔티티가 포함된 시나리오를 효과적으로 처리할 수 있는 더욱 정교한 알고리즘을 개발하는 데 초점을 맞출 예정입니다.
Reference
댓글
댓글 쓰기