[AI] LLM의 한계, 해결책 RAG

박감자·2025년 10월 1일

시작 전에...

이 글은 GPT가 왜 오답을 내고도 그렇게 뻔뻔한지
찾아보다가 정리하는 개념글입니다.
(절대 GPT한테 화나서 적는 글 아님)

RAG 개념 글에 가까워서 LLM 설명은 유튜브에게 맡기겠습니다.

LLM (Large Language Model)

LLM(Large Language Model)이란 "방대한 양의 데이터로 사전 학습된 초대형 딥 러닝 모델"이다.

대규모의 데이터를 바탕으로 인간과 유사한 텍스트를 생성하는 모델이 LLM이다.

아주 간단한 예를 들어 내 세대라면
"길을 잃었다..." 뒤에 "...어딜 가야 할까"가 자동으로 나오는데
(그냥 예시입니다, 길 잃으면 경찰서 가시거나 지도앱을 켜셔야 합니다;;;)

LLM이 인터넷을 돌다가 많은 사람들이 동일하게 반응하는 방대한 데이터를 받아들였다면 모델이 통계적으로 가장 많이 나왔던 "어딜 가야 할까"를 인간처럼 자연스럽게 예측할 수 있다. 즉, 아이유의 분홍신을 LLM이 쿵짝이 잘 맞도록 "길을 잃었다"만 적어도 "어딜 가야 할까"를 출력해주는 거다.

다시 정리하자면 LLM은 통계적으로 다음 할 말을 예측하여 가장 높은 확률로 높았던 단어와 적절한 확률이 나왔던 단어들을 섞어 자연스러운, 인간적인 답변을 내놓는 것이다.

더 자세한 학습 과정은 이 글에서는 설명하지 않지만 "어떻게"가 궁금하다면 3Blue1Brown LLM 영상을 참조하길 바란다.

LLM의 한계 => 환각 (Hallucination)

그럼 내가 겪었던 문제로 돌아와서 방대한 데이터를 기반으로 답을 하고 있음에도 어째서 GPT는 오답을 출력하는 걸까? 사람처럼 데이터가 없다면 "잘 모르겠습니다" 할 수는 없는 걸까?

LLM이 "답을 만들어내서" 보여주는 현상을 LLM Hallucination이라고 한다. 최근 이 현상이 나오는 이유를 정리한 OpenAI 블로그 내용을 정리하자면

언어 모델의 강화 학습 단계에서, 자연스러운 답변을 생성하도록 트레이닝이 된 모델이라면 환각이 일어날 수 밖에 없다. 쉬운 예시로 모르는 객관식 문제가 나왔을때 몰라서 아무것도 찍지 않는 것보다 무언가라도 찍어서 제출하는 것이 문제를 맞출 확률을 높인다. 서술형도 마찬가지로 주제에 대해 조금 적기만 하더라고 안 적는 것보다는 정답일 확률이 높다.

GPT도 모든 불확실한 질문에 대해서 오답을 만들어내는 건 아니라고 한다. 그렇지만, 확률적으로 오답을 내는 것이 더 좋은 모델이었던 셈이다.

RAG, LLM 환각을 줄여줄 해결책

RAG(Retrieval-Augmented Generation)는 LLM으로 응답을 생성하기 전에 외부데이터를 참조하도록 하는 프로세스다.

LLM 환각은 크게 두 종류로 나눌 수 있다.

  1. 데이터가 너무 오래되어 신빙성이 부족한 경우
  2. 출처가 없어 신빙성이 부족한 경우

그렇기 때문에 새로운 데이터(Knowledge Sources) 세트를 두어 응답을 생성하기 전 먼저 데이터 들을 살펴본다면 오답률을 줄일 수 있다. 또 해당 데이터에서 적합한 유사 정보를 찾지 못했다면 기존의 LLM보다 "잘 모르겠습니다"가 빠르게 나올 수 있다. 이것이 RAG 기술의 핵심이다.

그림에서 1-4(Enhance Context 없이)-5의 순서로 응답을 생성하는 것이 LLM 만을 사용한 방식이다.
그리고 1~5번까지 순서대로 응답을 생성한 것이 RAG이다.

데이터의 정보가 바뀐다면 Knowledge Source의 갱신된 데이터를 추가해주기만 하면 된다. 그럼 자연스레 최신 정보를 사용자에게 보여줄 수 있다. 현재의 LLM이 외부 데이터를 참조 못하는 건 아니지만 GPT-5만 해도 "인터넷 검색의 상위 3개를 정리해줘"에 40초가 걸리는 걸 본면.... RAG가 앞으로의 LLM 기술에 필수적인 기술이라고 말할 수 있다. (사용자 경험을 위해서라도 말이다)

마무리

RAG가 왜 필요하고 간단히 어떻게 작동하는지 정리를 해봤다.
GPT의 오답에 화가 나서 "왜 이 모양이지"라고 검색하다
새로운 지식을 얻게 되었다. 이런 도움을 바란게 아니었는데...
정답을 그냥 빨리 알려달란 말이다....

참조

https://www.youtube.com/watch?v=HnvitMTkXro
https://openai.com/ko-KR/index/why-language-models-hallucinate/
https://www.youtube.com/watch?v=T-D1OfcDW1M
https://aws.amazon.com/ko/what-is/retrieval-augmented-generation/
https://aws.amazon.com/ko/what-is/large-language-model/
https://yensr.tistory.com/159

profile
코딩하는 감자

0개의 댓글