🤖 AI/ML

Hallucination

할루시네이션

LLM이 사실이 아닌 내용을 생성하는 현상. RAG로 완화.

📖 상세 설명

Hallucination(할루시네이션)은 LLM이 사실이 아닌 정보를 마치 사실인 것처럼 자신있게 생성하는 현상입니다. 존재하지 않는 논문을 인용하거나, 실제로 일어나지 않은 사건을 설명하거나, 틀린 정보를 정확한 것처럼 제시하는 것이 대표적인 예입니다.

Hallucination이 발생하는 근본 원인은 LLM의 작동 방식에 있습니다. LLM은 "다음에 올 가능성이 높은 토큰"을 예측하는 방식으로 텍스트를 생성하므로, 통계적으로 그럴듯해 보이지만 사실이 아닌 내용을 만들어낼 수 있습니다.

Hallucination은 크게 두 유형으로 분류됩니다. Intrinsic Hallucination은 입력된 정보와 모순되는 내용을 생성하는 것이고, Extrinsic Hallucination은 입력에 없는 검증 불가능한 정보를 추가하는 것입니다.

Hallucination 완화 전략으로는 RAG(Retrieval-Augmented Generation), Grounding, Chain-of-Thought 프롬프팅, 낮은 temperature 설정, 그리고 출력에 대한 사후 검증 시스템 구축이 있습니다. 완전한 제거는 불가능하지만 상당히 줄일 수 있습니다.

💻 코드 예제

from openai import OpenAI

# Hallucination 감소를 위한 프롬프트 전략
def reduce_hallucination_query(question, context=None):
    client = OpenAI()

    system_prompt = """당신은 정확한 정보만 제공하는 AI 어시스턴트입니다.
    다음 규칙을 반드시 따르세요:
    1. 확실하지 않은 정보는 "확실하지 않습니다"라고 말하세요
    2. 제공된 컨텍스트에 없는 정보는 추측하지 마세요
    3. 출처를 알 수 없는 통계나 수치는 사용하지 마세요
    4. 모르는 것은 모른다고 솔직하게 답하세요"""

    messages = [{"role": "system", "content": system_prompt}]

    if context:
        messages.append({
            "role": "user",
            "content": f"참고 문서:\n{context}\n\n질문: {question}\n\n위 문서만을 기반으로 답변하세요."
        })
    else:
        messages.append({"role": "user", "content": question})

    response = client.chat.completions.create(
        model="gpt-4",
        messages=messages,
        temperature=0.1,  # 낮은 temperature로 창의성 제한
        max_tokens=500
    )

    return response.choices[0].message.content

# 사용 예시 - Grounding으로 Hallucination 방지
context = """
회사 휴가 정책:
- 연차: 입사 1년차 15일, 2년차 이상 20일
- 병가: 연간 10일 (진단서 필요)
- 경조사: 결혼 5일, 출산 10일
"""

answer = reduce_hallucination_query(
    "회사 연차가 며칠인가요?",
    context=context
)
print(answer)

🗣️ 실무에서 이렇게 말하세요

AI 서비스 품질 회의에서

"고객 문의 챗봇에서 Hallucination이 발생해서 잘못된 환불 정책을 안내했어요. RAG로 공식 문서를 참조하게 하고, temperature를 0.2로 낮추면 이런 문제가 크게 줄어듭니다."

기술 면접에서

"Hallucination을 완전히 없애는 건 불가능합니다. LLM의 본질이 확률적 텍스트 생성이기 때문이죠. 대신 RAG로 Grounding하고, 중요한 정보는 반드시 사람이 검토하는 Human-in-the-Loop 프로세스를 구축해야 합니다."

프로덕트 검토에서

"법률 자문 AI에서 Hallucination은 치명적이에요. 모델이 '확실하지 않습니다'라고 답할 수 있도록 학습시키고, 판례 인용 시 실제 존재하는지 DB에서 검증하는 단계가 필요합니다."

⚠️ 흔한 실수 & 주의사항

1
자신감 있는 오답

LLM은 틀린 정보도 매우 확신에 차서 답변합니다. 중요한 의사결정에는 반드시 다른 소스로 교차 검증하세요.

2
인용 및 참조 주의

LLM이 인용하는 논문, 책, URL은 상당수가 존재하지 않습니다. 항상 직접 확인하고 실제 출처를 검증하세요.

3
고위험 도메인 주의

의료, 법률, 금융 분야에서 Hallucination은 심각한 결과를 초래할 수 있습니다. 이런 분야에서는 반드시 전문가 검토가 필요합니다.

🔗 관련 용어

📚 더 배우기