Ash Space
GitHubHuggingFace
  • Contents
  • 🥑Resume / CV
    • Reseume / CV
  • 📄Paper Review
    • Paper List
      • [2017] Attention is all you need
      • [2023] CoVe : Chain of Verification Reduces Hallucination in Large Language Models
      • [2024] RAG Survey : A Survey on Retrieval-Augmented Text Generation for Large Language Models
      • [2023] Interleaving Retrieval with Chain-of-Thought for Knowledge-Intensive Multi-Step Questions
      • [2024] Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models
      • [2020] ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT
      • [2024] Retrieval Augmented Generation (RAG) and Beyond
      • [2009] Reciprocal Rank Fusion outperforms Condorcet and individual Rank Learning Methods
      • [2024] Don't Do RAG : When Cache-Augmented Generation is All you Need for Knowledge Tasks
      • [2024] Text2SQL is Not Enough : Unifying AI and Database with TAG
  • 🗂️Research Article
    • Reference List
      • Dataset
      • LLM
      • Prompt Engineering
      • LLMops
      • RAG & Agent
      • Etc
    • Compounded AI System : The Shift from Models to Compound AI Systems
    • LLM과 Grounding
    • Essence of RAG
    • How to reduce Hallucinations
    • Golden Gate Claude Review
    • Editorial Thinking
    • Embedding을 평가하는 방법
    • 나야, Chunk
    • 당신.. Chunking이 뭔지 정확히 알아..?
    • 그래서 제일 좋은 Chunking이 뭔데?
    • 웅장한 대결 AI Agent와 Agentic AI
    • UV써도 괜찮아~ 딩딩딩딩딩
    • 아무도 RAG 평가 셋 만드는 것에 관심가지지 않아~
    • Linguistic Prompts
    • Chroma야, Chunking 평가를 어떻게 한다고?
    • Generations Never Easy
    • Model Context Protocol
    • Chill칠치 못한 Function Calling
    • RAG 평가지표 정복하기
    • LLM Quantization 방법론 알아보기
    • LLM은 더우면 헛소리를 해?
    • Text2SQL 넌 내꺼야!
  • 🏵️Conference
    • 일할맛 판교 3월 세미나
    • LangChainOpenTutorial를 진행하며
    • Talk: Prompt and Language The Science of Prompts 후기
    • 2024년 회고
    • 제 7회 Kako Tech Meet Up 후기
    • Moducon 2023 행사 후기
    • GDGXGDSC DevFest Happy Career 행사 후기
    • 모두를 위한 한국어 오픈액세스 언어모델 못다한 이야기 (feat. 모두연) #1
    • 모두를 위한 한국어 오픈액세스 언어모델 못다한 이야기 (feat. 모두연) #2
    • 맨땅에서 구축해본 개인화시스템 구축기 Session 후기
  • ♟️Basic
    • 00 Introduction
    • 01-1 LLM 지도
    • 01-2 LLM의 중추 트랜스포머 아키텍처 살펴보기
Powered by GitBook
On this page
  • Ⅰ. How to reduce hallucinations in RAG?
  • Ⅱ. Really We can control the hallucinations in RAG?!
  1. Research Article

How to reduce Hallucinations

2024년 7월 7일

Last updated 7 months ago

thumnail

Ⅰ. How to reduce hallucinations in RAG?

현업에서 RAG를 적용하지 못하는 이유는 여러가지가 있지만 가장 크게 작용하는 요소 중 하나라고 생각되는것이 바로 거짓정보(=Hallucination)제어입니다. 오늘은 RAG approach에서 Hallucination을 제어하는 방법에 대해서 알아보겠습니다.

Ⅱ. Really We can control the hallucinations in RAG?!

정말 우리가 RAG를 사용함에 있어 hallucination을 완벽하게 제어할 수 있을까요? 아직까지 hallucinations을 완벽하게 제어할 수 있는 방법은 존재하지 않는것 같습니다..😂😂 그래서 우리는 최대한 통제하는 방향으로 연구하며 실험해야하는데요, 그전에 왜 hallucination이 RAG에서도 골칫덩이인지 한번 알아봅시다.

ⅰ. Why we show hallucinations of RAG?

우리는 왜 hallucination을 마주할까요? 제가 정리해본 바로는 다음과 같습니다. RAG 자체가 hallucination을 줄여주긴 하지만 완벽하게 방지하는 방법이 아닙니다. 외부의 맥락이 주입되면 답변을 생성하는데 사용하는 LLM과 Knowledge Conflict가 발생할 우려가 있죠. 또한 주입되는 외부지식이 정교하지 않을수도 있습니다. RAG는 하나의 방법론에 불과하기에 어떠한 목적으로 어떠한 Domain에서 사용하냐에 따라 거짓정보의 기준과 이를 최소화하는 접근전략을 다르게 정해야하기도 합니다. 이와 같은 내용들을 바탕으로 곰곰히 생각해보니 어쩌면 RAG라는 방법론에서 Hallucination을 없애는 방법이라는것은 존재하지 않을수도 있겠다는 생각을 하곤 합니다. 즉, 최소화 하는 방법을 접근해야 맞다는 것이죠.

ⅱ. General method to reduce hallucinations of RAG

그럼 일반적인 방법을 좀 살펴봅시다. 우리가 어떠한 접근을 해볼 수 있을까요? 가장 쉬운것을 RAG와 동시에 Grounding LLM을 사용해볼 수 있을것 같습니다.

쉽게 말하면 외부지식과 LLM 사이의 Knowledge Conflict를 최소화하기 위해 LLM에도 해당 Domain, task, your purpose에 대한 지식을 학습시켜 사용하는 것이죠.

System적으로 접근해보면 답변을 생성한 이후 hallucination이 포함된 답변인지 아닌지 체크해볼 수 있을것 같습니다. 체크방법에는 여러가지가 있겠지요. 자체적으로 scoring을 해볼 수도 있고 외부 API를 사용해볼 수도 있겠습니다.

물론 Generation 단계 이후가 아닌 Retriever 이후에 이 과정을 수행해볼 수 있을것 같습니다. 다만 대상이 달라지는 만큼 기존에는 "답변이 거짓되었느냐 아니냐"를 확인했다면 Retriever 이후에 수행하는 과정에서는 "추출된 Relavant Docs가 정말 relavant하냐 아니냐?"로 접근해야할 것입니다.

한편, Advanced RAG에서도 방법론적으로 알려주긴 합니다. Agentic RAG, CRAG, Self-RAG, Self-Reflection등등 여러가지 방법론이 존재하지만 hallucination의 유무를 LLM-as-a-judge로 한다는점에서 여전히 신뢰성이 의심됩니다.

그밖에 Prompt를 이용해 Verification하는 방식(=CoVe)도 존재합니다만 여전히 해당분야의 연구가 부족하긴 합니다. 조금 더 정확하게는 해당분야의 연구가 현업 도메인에 응용되어 사용되는것이 어려운것이죠. 이밖에 더 다양한 방법을 알고계신다면 같이 공유하면 좋을 것 같아요 :)

Why we show the Hallucinations?
Vanila RAG + Grounding
Vanila RAG + Ground Check API (w/ Upastage API)
Agentic Work flow
🗂️