← AI 용어집

AI 용어집 · 기초 · 언어 모델

RAG 검색 증강 생성

RAG(검색 증강 생성)는 AI가 답하기 전에 문서나 데이터베이스에서 관련 자료를 먼저 찾아보고, 찾은 내용을 근거로 답을 만드는 방식이다. 모델이 학습하지 않은 최신 정보나 회사 내부 정보도 답에 활용할 수 있다.

쉽게 말하면 기억에만 의존해 답하는 학생이 아니라, 시험장에 참고서를 들고 들어가 필요한 쪽을 펼쳐 보고 답을 쓰는 '오픈북 시험'과 비슷하다. 다만 엉뚱한 쪽을 펼치거나 읽은 내용을 잘못 이해하면 여전히 틀린 답을 쓸 수 있다.

어떻게 작동하나

먼저 참고할 문서들을 몇백 토큰 정도의 작은 조각으로 나눈다(청킹). 각 조각을 뜻을 담은 숫자 목록인 임베딩으로 바꿔 벡터 DB에 저장해 둔다. 사용자가 질문하면 질문과 뜻이 가장 비슷한 조각들을 찾아 프롬프트에 붙여 넣는다. 그러면 대규모 언어 모델(LLM)이 이 자료를 읽고 답을 만든다. 즉 '찾기(검색)'와 '쓰기(생성)'를 한 흐름으로 묶은 구조다.

RAG의 두 단계참고 문서 → 작은 조각으로 나누기; 작은 조각으로 나누기 → 임베딩 모델; 임베딩 모델 → 벡터 DB; 사용자 질문 → 뜻이 가까운 조각 찾기; 벡터 DB → 뜻이 가까운 조각 찾기(조각 벡터); 뜻이 가까운 조각 찾기 → 질문 + 찾은 조각(상위 몇 개); 질문 + 찾은 조각 → LLM; LLM → 근거 있는 답변① 미리 해 두기 · 색인② 질문할 때 · 검색 → 생성참고 문서규정·설명서·위키작은 조각으로 나누기청킹임베딩 모델조각 → 벡터벡터 DB조각 + 벡터 저장사용자 질문뜻이 가까운 조각 찾기질문도 벡터로 바꿔 비교질문 + 찾은 조각프롬프트에 붙이기LLM자료를 읽고 답 작성근거 있는 답변참고 문서 출처 표시조각 벡터상위 몇 개
RAG의 두 단계 문서는 미리 조각내 벡터로 저장해 두고(①), 질문이 오면 뜻이 가까운 조각을 찾아 질문과 함께 LLM에 건넨다(②).

어떻게 발전해 왔나

2020년 구글 연구진의 REALM 논문은 언어 모델을 사전 학습하는 단계부터 위키백과 같은 대량 문서를 검색해 참고하도록 했다. 정답 표시 없이도 '검색기'를 함께 학습시킬 수 있다는 점을 처음 보였다. 같은 해 루이스(Patrick Lewis) 등의 논문은 '검색 증강 생성(RAG)'이라는 이름을 붙였다. 이 논문은 위키백과 검색기와 문장 생성 모델을 결합하는 범용 학습 방법을 제시했고, 생성 모델 하나만 쓸 때보다 더 구체적이고 사실에 맞는 문장을 쓴다고 보고했다. 2023년 가오(Yunfan Gao) 등의 서베이 논문은 이후 흐름을 단순한 '나이브 RAG', 검색 품질을 높인 '어드밴스드 RAG', 부품을 자유롭게 조합하는 '모듈형 RAG'로 정리했다.

왜 중요한가

LLM은 학습이 끝난 시점 이후의 정보를 모르고, 모르는 내용을 그럴듯하게 지어내는 환각을 일으키기도 한다. RAG를 쓰면 모델을 다시 학습시키지 않고 문서만 바꿔 넣어 지식을 최신으로 유지할 수 있어 비용이 적게 든다. 회사 규정이나 제품 설명서처럼 공개되지 않은 자료도 활용할 수 있다. 답과 함께 어떤 문서를 참고했는지 출처를 보여 줄 수 있어 사용자가 직접 확인하기도 쉽다.

알아 둘 점(한계)

RAG가 환각을 줄여 주지만 없애 주지는 않는다. 올바른 자료를 가져와도 모델이 맥락을 잘못 읽으면 틀린 답이 나올 수 있다. 2023년 'Lost in the Middle' 논문은 긴 입력 속 관련 정보가 처음이나 끝에 있을 때보다 중간에 있을 때 모델이 그 정보를 잘 활용하지 못한다고 보고했다. 그래서 검색 결과를 많이 붙일수록 늘 좋은 것은 아니다. 또 문서를 잘게 자르면서 앞뒤 맥락이 사라져 필요한 조각을 못 찾는 문제가 있어, 리랭커나 하이브리드 검색 같은 보완 기법이 함께 쓰인다.

예시

사내 규정을 묻는 챗봇이나 제품 설명서를 근거로 답하는 고객 지원 봇이 대표적인 RAG 활용 사례다. Anthropic은 2024년 9월 'Contextual Retrieval'이라는 방법을 소개했다. 문서를 조각낼 때 각 조각에 원래 문서의 맥락 설명을 덧붙여 검색 실패를 줄이는 방식인데, 회사는 이 방법으로 검색 실패가 49% 줄었고 리랭킹까지 더하면 67% 줄었다고 밝혔다. 같은 글에서 회사는 참고 자료가 약 20만 토큰(500쪽 분량)보다 작으면 RAG 없이 자료 전체를 프롬프트에 넣는 편이 더 간단할 수 있다고도 설명했다.

함께 보면 좋은 용어

참고