A Multi-Layer Framework for Hallucination Detection and Mitigation in Large Language Models Using Retrieval Grounding and Small Language Model Verification
이 논문은 응답을 원자적 주장으로 분해하고, 이를 검색을 통해 근거를 마련하며, 소형 언어 모델과 신경-기호 추론을 통해 검증함으로써 대규모 언어 모델의 사실적 신뢰성을 향상시키는 다층 프레임워크를 제안하며, 이는 해석 가능성과 계산 효율성을 유지하면서 HotpotQA 및 SciFact 데이터셋에서 상당한 성능 향상을 달성한다.
원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신에게 아주 재능 있고 말이 빠른 이야기꾼(대규모 언어 모델, 또는 LLM)이 있다고 상상해 보세요. 이 이야기꾼은 완벽하게 들리고, 흐름이 아름다우며, 믿기 힘들 정도로 자신감 넘치는 이야기를 지어낼 수 있습니다. 하지만 여기 함정이 있습니다. 때때로 이 이야기꾼은 지어낸 이야기를 합니다. 그럴듯해 보이지만 실제로는 틀린 날짜, 장소, 혹은 사실을 만들어낼 수 있습니다. 이것을 **"환각(Hallucination)"**이라고 부릅니다.
문제는 이야기가 너무 매끄럽게 들리기 때문에, 당신이 확인도 하지 않고 그대로 믿어버릴 수 있다는 점입니다.
이 논문은 당신이 최종 버전을 듣기 전에 이야기꾼의 결과물을 검증하는 새로운 방법을 제 제안합니다. 이야기를 다 듣고 나서 그것이 사실인지 추측하는 대신, 저자들은 다층 구조의 팩트 체크 공장을 구축했습니다. 이 공장이 어떻게 작동하는지, 간단한 비유를 사용하여 단계별로 설명하겠습니다.
1. 이야기꾼이 초안을 작성합니다
먼저, LLM이 당신의 질문에 대한 답을 작성합니다. 예를 들어 당신이 *"1903년 노벨 물리학상 수상자는 누구인가요?"*라고 묻는다고 가정해 봅시다.
LLM은 이렇게 말할 수도 있습니다: "마리 퀴리는 1903년 노벨 물리학상을 수상했으며, 1911년에는 두 번째 노벨 화학상도 수상했습니다."
이 단계에서 시스템은 이 답변을 미검증(unverified) 상태로 취급합니다. 그것은 단지 하나의 초안일 뿐입니다.
2. 이야기를 레고 블록으로 분해하기 (원자적 분해)
시스템은 답변 전체를 한꺼번에 검사하는 대신, 답변을 아주 작고 개별적인 "레고 블록"(원자적 주장)으로 나눕니다.
- 블록 1: "마리 퀴리는 1903년 노벨 물리학상을 수상했다."
- 블록 2: "그녀는 1911년에 두 번째 노벨 화학상을 수상했다."
왜 이렇게 할까요? 이야기는 99%는 사실이지만 단 하나의 작은 거짓말을 포함할 수 있기 때문입니다. 이야기 전체를 검사하면 그 하나의 거짓말을 놓칠 수 있습니다. 각 블록을 하나씩 검사함으로써, 당신은 정확히 어디에서 오류가 발생했는지 찾아낼 수 있습니다.
3. 사수의 검색 (검색 기반 근거 제시)
이제, 각 "블록"에 대해 시스템은 거대한 문서 도서관에서 증거를 찾기 위해 사수(검색 시스템)를 보냅니다.
- 사수는 마리 퀴리와 1903년에 관한 책이나 기사를 찾습니다.
- 만약 사수가 "네, 그녀는 1903년에 수상했습니다"라고 적힌 책을 발견하면, 그 블록에는 "지지됨(Supported)" 도장이 찍힙니다.
- 만약 사수가 "그녀는 1905년에 수상했습니다"라고 적힌 책을 발견하면, 그 블록에는 "반박됨(Contradicted)" 도장이 찍힙니다.
- 만약 사수가 빈손으로 돌아오거나, 그녀에 대해서만 언급하고 연도에 대해서는 언급하지 않는 책을 발견한다면, 그 블록에는 "불확실함(Uncertain)" 도장이 찍힙니다.
핵심 발견: 연구진은 이 사수 단계(검색 단계)를 제거하면 전체 시스템이 무너진다는 것을 발견했습니다. 실제 증거가 있는 도서관이 없다면, 시스템은 진실과 거짓을 구별할 수 없습니다.
4. 빠른 검사 판사 (소규모 언어 모델 검증)
다음으로, 시스템은 **소규모 언어 모델(SLM)**을 불러옵니다. 이것을 "블록"과 "사수의 노트"를 읽고 이것이 사실인지, 거짓인지, 혹은 불분명한지 결정하는 데 매우 능숙한 빠르고 효율적인 판사라고 생각하세요.
- 이 판사는 원래의 이야기꾼보다 작고 빠릅니다.
- 판사는 단순히 "참" 또는 "거짓"이라고만 말하지 않습니다. 신뢰도 점수를 제공합니다. 예를 들어, "이것이 사실일 확률이 90%입니다" 또는 "저는 40%의 확신밖에 없습니다"와 같이 말합니다.
- 증거가 약하다면, 판사는 짐작해서 말하는 대신 "아직 결정할 수 없습니다"(불확실함)라고 말합니다.
5. 현명한 어르신 (뉴로-심볼릭 추론)
때때로 증거가 까다로울 때가 있습니다. 예를 들어 사수가 서로 상충하는 두 권의 책을 찾아왔거나, 판사가 혼란스러워할 수 있습니다.
이 지점에서 뉴로-심볼릭 추론(Neuro-Symbolic Reasoning) 계층이 등장합니다. 이것을 논리의 규칙을 잘 아는 현명한 어르신이라고 생각하세요.
- 판사가 확신하지 못할 경우, 어르신은 엄격한 규칙을 적용합니다 (예: "날짜가 틀리면, 그 주장 전체가 틀린 것이다").
- 어르신은 또한 주장을 수정할 수도 있습니다. 만약 LLM이 "1911년"이라고 말했지만 증거가 "1903년"이라고 한다면, 어르신은 단순히 문장을 삭제하는 것이 아니라, "1903년"이라고 다시 쓰도록 수정합니다.
- 이 계층은 또한 결정이 내려진 이유를 설명하여 과정을 투명하게 만듭니다.
6. 최종 보고서 (신뢰도가 보정된 출력)
마지막으로, 시스템은 검사를 통과한 블록들만을 사용하여 답변을 다시 재구성합니다.
- 참인 블록은 유지됩니다.
- 수정된 블록은 교정됩니다.
- 거짓인 블록은 제거됩니다.
- 불확실한 블록은 제거되거나 "이 부분에 대해서는 확신할 수 없습니다"라고 표시됩니다.
시스템은 또한 **"신뢰 점수(Trust Score)"**를 제공합니다. 시스템은 당신에게 "이 답변에 대해 85%의 확신을 가지고 있습니다"라고 알려줍니다. 점수가 낮다면, 당신은 주의해야 한다는 것을 알 수 있습니다.
무엇을 발견했는가?
연구진은 두 가지 유형의 작업에 대해 이 공장을 테스트했습니다:
- 과학적 사실 검증: 과학적 주장이 사실인지 확인하는 작업.
- 복합 질문: 여러 정보 조각을 연결해야 하는 질문에 답하는 작업.
결과:
- 사수가 핵심이다: 사수(검색 단계)를 제거했을 때, 정답을 맞히는 시스템의 능력이 급격히 떨어졌습니다. 이는 AI의 기억력이 아닌 실제 증거가 필요함을 입증합니다.
- 작은 판사가 핵심적인 역할을 한다: 작은 규모의 빠른 판사(SLM)가 사실 여부를 결정하는 데 가장 많은 일을 했습니다. "현명한 어르신"(추론 계층)은 이러한 테스트에서 최종 점수를 크게 바꾸지는 않았지만, 결정의 이유를 설명하고 오류를 수정하는 데 매우 유용했습니다.
- 모르는 것은 모른다고 하는 것이 낫다: 이 시스템은 신중하도록 설계되었습니다. 시스템은 짐작하여 틀리기보다는 "모르겠습니다"(불확실함)라고 말하는 쪽을 택합니다. 이는 일부 참인 사실을 놓칠 수도 있음을 의미하지만, 자신 있게 거짓말을 하는 일은 거의 없습니다.
결론
이 논문은 AI의 작업을 검증하기 위해 반드시 슈퍼컴퓨터가 필요한 것은 아니라는 점을 보여줍니다. 답변을 작은 조각으로 나누고, 이를 실제 문서와 대조하며, 빠르고 작은 "미니 AI"를 사용하여 판단하고, 단순한 논리 규칙을 적용함으로써, 우리는 거짓말을 잡아내고 실수를 바로잡을 수 있습니다. 그 결과, 단순히 자신감 있게 들리는 것이 아니라 실제로 신뢰할 수 있는 AI를 만들 수 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.