통계 실험실 차트
넘스탯 로고
넘스탯
LEARN · SIMULATE · VERIFY

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼

로그인
학습 메뉴
도움말

할루시네이션(환각)

마일스톤 학습법으로 단계별 완전 정복
LLM
할루시네이션
환각
사실성
RAG
지식 컷오프
temperature
신뢰성
이 개념 직접 실험하기 — 근거 없는 답이 무너지는 장면
이 학습을 통해 달성할 수 있는 목표
기초 이해
  • • LLM이 사실을 조회하지 않고 다음 토큰을 확률로 고른다는 점 이해
  • • 생성 절차에 사실 확인 단계가 구조적으로 없다는 사실 파악
  • • 두 문장짜리 말뭉치 예제로 확신에 찬 오답이 만들어지는 과정 따라가기
심화 학습
  • • 조립형 지어내기, 오염된 학습 데이터, 지식 컷오프 이후 정보 부재 세 유형 구분
  • • 출처 요구·temperature 조정·RAG 각각의 효과와 한계 설명
  • • temperature를 낮추면 오답이 오히려 고정된다는 점을 손계산으로 확인
실무 적용
  • • 내재적·외재적 환각 구분과 충실성·사실성의 차이 이해(Ji et al. 2023)
  • • 데이터 측·모델 측 원인 분류에 따라 맞는 완화책을 고르는 판단
  • • 거절 경로·원문 대조·사람 검토를 겹쳐 잔여 위험을 관리하는 설계 수립
한눈에 보기

할루시네이션(환각)은 언어모델이 사실이 아니거나 주어진 근거로 뒷받침되지 않는 내용을, 사실인 것처럼 유창하게 생성하는 현상이다. 모델이 사실을 조회하는 것이 아니라 Loading...처럼 다음 토큰을 확률적으로 고르기 때문에 발생한다.

이 내용은 넘스탯의 근거 없는 답이 무너지는 장면에서 직접 실험으로 확인할 수 있습니다.

학습 로드맵

각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다

기초 이해
개념 정의와 기본 원리
15
클릭
심화 학습
공식 유도와 다양한 예시
35
클릭
실무 적용
실제 케이스와 고급 응용
45

학습 진도 (완료한 단계)

0%

기초 이해모델은 사실을 찾지 않고 다음 단어를 고릅니다

기초 이해: 모델은 사실을 찾지 않고 다음 단어를 고릅니다

난이도 2/5
약 15분

LLM에게 없는 논문의 제목을 물어보면, 모른다고 하지 않고 아주 그럴듯한 제목과 저자와 연도를 만들어 냅니다. 이것을 할루시네이션(환각)이라고 부릅니다. 왜 이런 일이 생길까요? 답은 의외로 단순합니다. LLM은 사실을 어딘가에서 찾아보고 대답하는 프로그램이 아니기 때문입니다. LLM이 하는 일은 딱 하나입니다 — 지금까지의 문장을 보고, 다음에 올 확률이 가장 높은 단어(토큰)를 고르는 것. 이 과정을 수천 번 반복하면 글이 됩니다. 이 절차 어디에도 "이게 사실이 맞나?"를 확인하는 단계가 없습니다. 구조에 없는 기능은 아무리 잘 만들어도 저절로 생기지 않습니다.

언어 모델 — 다음 토큰의 확률을 예측한다이전 단어가 주어지면 다음 토큰의 확률분포를 예측 → 반복하면 문장이 생성됩니다“나는 밥을 ___52%먹었다19%샀다12%만들었다8%버렸다5%남겼다※ 매개변수·데이터를 키우면 성능↑(스케일링 법칙) · GPT-3는 예시 몇 개만으로 새 과제 수행(few-shot)
핵심 포인트
  • LLM은 사실 데이터베이스를 조회하지 않는다 — 다음 토큰의 확률만 계산한다
  • 생성 절차에 사실 확인(fact-check) 단계가 구조적으로 없다
  • 유창함은 정확함과 별개의 능력이며, 유창할수록 오류가 눈에 덜 띈다
  • 모델은 "모른다"고 말할 근거를 스스로 갖고 있지 않다 — 확률이 낮아도 최선의 후보는 언제나 존재한다
간단한 예시

말뭉치에 딱 두 문장만 있다고 해봅시다 (넘스탯 LLM 강의 8장 실습 예제). 문장 1: 세종대왕은 / 한글을 / 만들었어요 문장 2: 에디슨은 / 전구를 / 발명했어요 이 말뭉치로 "앞 단어 하나를 보고 다음 단어를 맞히는" 아주 작은 언어모델을 만듭니다. 세어 보면 이어짐은 네 가지뿐입니다. 세종대왕은 → 한글을 (1회) 한글을 → 만들었어요 (1회) 에디슨은 → 전구를 (1회) 전구를 → 발명했어요 (1회) 이제 사용자가 이렇게 입력합니다. "세종대왕은 전구를 ___" 모델은 바로 앞 단어 "전구를"을 보고 다음 단어를 고릅니다. 말뭉치에서 "전구를" 다음에 온 단어는 "발명했어요" 하나뿐이므로 P(발명했어요 | 전구를) = 1/1 = 1.0 (100%) 모델의 출력: "세종대왕은 전구를 발명했어요." 이 문장은 말뭉치에 한 번도 등장한 적이 없고, 사실도 아닙니다. 그런데 모델은 100% 확신으로 이 문장을 만들었습니다. 거짓말을 한 것이 아니라, 배운 규칙을 정확히 따랐을 뿐입니다. 할루시네이션은 고장이 아니라 이 구조의 정상 동작입니다.

이해도 확인하기

정답: 모델이 계산하는 것은 바로 앞 문맥에서 다음 단어가 나올 확률뿐이기 때문입니다. "세종대왕이 전구를 발명했는가"라는 사실 질문을 던지는 단계 자체가 절차에 없습니다. 모델에게는 "전구를 → 발명했어요"라는 강한 이어짐만 보입니다.

정답: 그러려면 모델이 자기가 모른다는 사실을 알아야 하는데, 확률 계산에는 "모름" 상태가 없습니다. 후보 단어들 중 확률이 가장 높은 것은 언제나 존재하고, 그 확률이 낮더라도 모델은 그것을 출력합니다. 요즘 모델이 가끔 "확실하지 않다"고 말하는 것은 사람이 그렇게 답하도록 따로 학습시킨 결과이지, 계산 과정에서 저절로 나오는 것이 아닙니다.

정답: 버그가 아니라 설계상 따라오는 성질입니다. 다음 토큰 예측이라는 목표를 잘 달성할수록 그럴듯한 문장을 잘 만들게 되고, 그럴듯함에는 사실과 사실이 아닌 것이 함께 들어 있습니다. 그래서 성능이 좋아져도 완전히 사라지지 않습니다.

LLM 이론 페이지로 돌아가기