대형 언어 모델(Large Language Models, LLM)의 흥미로운 현상인 **환각(hallucinations)**에 대해 이야기해보겠습니다. LLM 환각은 모델이 사실이 아닌 정보를 그럴듯하게 생성하는 현상으로, 이는 인간처럼 사실을 "아는" 것이 아니라 학습 데이터의 패턴을 기반으로 단어를 예측하기 때문에 발생합니다.
이 글은 테슬라의 전 AI 수석 디렉터였던 Andrej Karpathy의 YouTube 영상 *"Deep Dive into LLMs like ChatGPT"*에서 영감을 받아, LLM 환각이 학습 파이프라인에서 어떻게 나타나는지, 그리고 이를 완화하기 위한 전략을 살펴봅니다.
LLM 환각이란 무엇인가?
LLM 환각은 모델이 잘못된 정보나 완전히 허구의 내용을 마치 사실처럼 생성하는 현상입니다. 예를 들어, falcon-7b-instruct 모델에 "Zyler Vance는 누구인가요?" 라고 물었을 때, 모델이 다음과 같이 답변했다고 가정해봅시다:
"Zyler Vance는 2018년 영화 클로버필드 패러독스에 등장하는 가상의 인물입니다."
하지만 Zyler Vance는 존재하지 않는 이름이며, 해당 영화와 전혀 관련이 없습니다. 즉, 모델은 학습 데이터에서 본 패턴을 기반으로 그럴듯한 이야기를 만들어낸 것입니다.
초기 LLM 모델에서는 이러한 환각이 자주 발생했지만, 완화 전략이 발전하면서 점차 줄어들었습니다. 하지만 여전히 환각을 완전히 없애지는 못하고 있습니다. 그렇다면 왜 이런 현상이 발생할까요? 이를 이해하려면 LLM의 학습 파이프라인을 들여다봐야 합니다.
LLM 학습 파이프라인: 3단계로 알아보기
LLM은 크게 세 가지 주요 학습 단계를 거쳐 만들어집니다:
- 사전 학습(Pretraining)
- 지도 미세 조정(Supervised Fine-Tuning, SFT)
- 인간 피드백을 통한 강화 학습(Reinforcement Learning with Human Feedback, RLHF)
각 단계를 살펴보며 환각의 기원을 찾아봅시다.
1. 사전 학습(Pretraining)
사전 학습은 LLM의 첫 번째 단계로, 인터넷에서 수집한 방대한 고품질 텍스트 데이터를 사용합니다. 이 과정에서 모델은 언어 패턴, 문법, 일반적인 사실을 학습하게 됩니다. 결과물은 **기반 모델(base model)**로, 문맥에 따라 다음 단어를 예측하는 역할을 합니다.
예시: FineWeb 데이터셋은 기업용 언어 모델에서 사용되는 대표적인 사전 학습 데이터셋입니다.
2. 지도 미세 조정(Supervised Fine-Tuning, SFT)
기반 모델은 단순히 다음 단어를 예측하는 수준에 머물기 때문에, 이를 도움이 되는 어시스턴트로 변환하려면 추가 학습이 필요합니다. 이때 인간 라벨러가 작성한 대화 데이터가 사용됩니다.
이 데이터는 다양한 주제에 대한 질문과 이상적인 답변으로 구성되어 있으며, 모델은 이를 통해 어시스턴트처럼 응답하는 법을 배웁니다.
예시: OpenAssistant/oasst1 데이터셋은 35개 언어로 된 161,443개의 메시지를 포함한 오픈소스 대화 데이터셋입니다.
3. 인간 피드백을 통한 강화 학습(RLHF)
SFT를 거친 모델도 여전히 잘못된 응답이나 편향된 답변을 생성할 가능성이 있습니다. 이를 보완하기 위해 RLHF 단계에서 모델을 조정합니다.
- 인간 라벨러가 모델의 여러 응답을 평가하고 점수를 매김
- 평가 데이터를 바탕으로 보상 모델(reward model) 학습
- LLM이 보상 모델의 피드백을 받아 응답 개선
환각은 왜 발생할까?
환각의 주된 원인은 지도 미세 조정(SFT) 단계에서 비롯됩니다.
SFT에서 모델은 인간 라벨러가 작성한 대화 데이터를 학습합니다. 그런데 이 데이터에는 다음과 같은 특성이 있습니다:
인간 라벨러는 질문을 받으면 조사하거나 기존 지식을 활용하여 자신감 있는 답변을 작성한다.
예를 들어, 학습 데이터에 이런 대화가 포함될 수 있습니다:
사용자: "엘론 머스크는 누구인가요?"
어시스턴트: "엘론 머스크는 테슬라와 스페이스X의 CEO로, 혁신적인 기업가입니다."
이처럼 학습 데이터는 항상 자신감 있는 답변으로 가득 차 있습니다. 따라서 모델은 모르는 질문에도 "모른다"고 답하기보다, 학습된 패턴을 따라 그럴듯한 답변을 생성합니다.
예: "Zyler Vance는 누구인가요?" → 모델은 존재하지 않는 인물에 대한 허구의 정보를 생성.
즉, 모델은 "모른다"는 응답을 학습하지 않았기 때문에 항상 아는 척을 하게 되는 것입니다.
환각을 줄이는 방법: 두 가지 전략
환각을 완화하려면 모델이 모르는 질문에 "모른다"고 답할 수 있도록 해야 합니다. 이를 위한 두 가지 주요 전략이 있습니다.
1. 모델 탐색(Model Interrogation)
모델이 무엇을 알고 무엇을 모르는지 알아내려면 모델 탐색 기법을 활용할 수 있습니다. Meta의 Llama 3 모델에서는 다음과 같은 방법을 사용합니다:
- 사전 학습 데이터에서 짧은 텍스트 스니펫을 추출
- 모델을 사용해 해당 스니펫에 대한 사실적 질문 생성
- 모델이 생성한 답변을 원본 스니펫과 비교하여 정확성 평가
- 답변이 틀린 경우 "모른다"고 응답하도록 학습
2. 웹 검색 활용
모델이 모르는 질문에 대해 단순히 "모른다"고 답하는 대신, 웹 검색을 통해 정보를 찾아 답변하도록 할 수도 있습니다.
이를 위해 특수 토큰(예: <SEARCH_START>, <SEARCH_END>)을 도입하는 방법이 있습니다.
작동 방식
- 모델이 <SEARCH_START> 토큰을 생성하면 검색 쿼리 실행
- 검색 결과를 컨텍스트에 추가
- 모델이 검색된 정보를 기반으로 답변 생성
예시: 사용자: "최신 AI 트렌드는 무엇인가요?" 모델: <SEARCH_START> 최신 AI 트렌드 <SEARCH_END> → 검색 후 정확한 답변 생성.
결론: 환각, 여전히 풀어야 할 숙제
LLM 환각은 학습 파이프라인, 특히 SFT 단계에서 비롯된 필연적인 결과입니다. 모델은 통계적으로 그럴듯한 텍스트를 생성하도록 설계되었기 때문에 사실이 아닌 정보를 만들어낼 가능성이 있습니다.
초기 모델에서는 환각이 심각했지만, 모델 탐색 및 웹 검색 같은 완화 전략 덕분에 개선되었습니다. 하지만 환각을 완전히 없애는 것은 아직 해결되지 않은 과제입니다.
앞으로 LLM이 더욱 신뢰할 만한 지식 기반으로 자리 잡으려면 환각을 줄이는 노력이 계속되어야 합니다. AI 기술이 발전하면서 더 나은 해결책이 나오기를 기대해 봅니다!
'Machine Leaning > LLM' 카테고리의 다른 글
KAG: 전문 분야 지식 애플리케이션을 위한 RAG의 개선된 대안 (0) | 2025.02.28 |
---|