Today I Learned
오늘은 RAG 기술에 대해서 어렴풋이만 알고 정확하게는 몰랐던 것 같아 개괄적으로 정리를 해봤다.
RAG(Retrieval-Augmented Generation)

이미지 출처 : elastic
RAG란?
RAG는 언어 모델의 생성 능력과 외부 데이터 검색 기능을 결합한 기술
기존 LLM의 정적인 학습 데이터를 외부 지식으로 보완하여 더 정확하고 관련성 높은 응답을 생성하는 방식. 이를 통해 대규모 언어 모델이 자체적으로 보유하지 못한 최신 정보나 구체적인 데이터를 외부에서 보완할 수 있다.
RAG 기술의 작동 원리
RAG 기술은 주로 두 단계로 구성된다. 아래와 같이 두 단계가 유기적으로 결합되어, 보다 정확하고 풍부한 정보를 제공한다.
- 검색(Retrieval) 단계: 주어진 질의와 관련된 정보를 대규모 외부 데이터베이스에서 검색
- 생성(Generation) 단계: 검색된 정보를 바탕으로 언어 모델이 자연어 응답을 생성
RAG의 작동 방식
- 데이터 준비
텍스트 데이터를 그대로 저장할 경우, 의미 기반의 유사도 계산이 어렵다.
따라서 텍스트를 임베딩 모델을 이용해 고차원 벡터로 변환한다.
이를 통해 질의와 문서 간의 의미적 유사도를 측정할 수 있다.
- 외부 데이터를 벡터 형태로 변환
- 벡터 데이터베이스에 저장
- 정보 검색
- 사용자 쿼리를 벡터로 변환
- 관련성 높은 문서 검색
- 생성
- 검색된 정보와 쿼리를 결합
- LLM을 통한 응답 생성
장점
- 정확성 향상 : 외부 정보를 활용하여 최신 정보와 구체적인 사실을 반영
- 유연한 응답 생성 : 검색된 데이터를 기반으로 다양하고 자연스러운 응답을 생성
- 지식의 보완 : 대규모 언어 모델이 가지고 있는 한계를 외부 데이터로 보완
활용 분야
- 질문 응답 시스템 : 사용자 질의에 대해 신속하고 정확한 답변을 제공
- 챗봇 개발 : 자연스러운 대화와 더불어 최신 정보를 반영한 응답을 생성
- 정보 검색 및 요약 : 방대한 데이터를 신속하게 검색하고 요약하여 필요한 정보를 제공