AI

RAG란 (RAG 필요성, RAG 핵심 구성요소) (추가자료 링크: RAG vs 파인튜닝, 데이터 전처리)

cloudlim 2025. 11. 4. 11:27

RAG란 Retrieval Augmented Generator의 약자. 검색 증강 생성이라는 건데 풀어서 생각하면 RAG의 의미를 더 쉽게 이해할 수 있다. 생성형 AI 기술이기에, RAG라는 기술도 chatGPT나 Gemini처럼 답변을 생성(Generate)한다. 그럼 chatGPT 그리고 Gemini와 RAG의 차이는 무엇인가.

 

파운데이션 모델은 대규모 데이터세트를 기반으로 훈련한다. 이렇게 훈련된 모델은 자신의 학습 데이터를 기반으로 답변을 생성한다. 여기서 문제가 발생한다. 학습데이터라는 게 결국 현재까지 그리고 앞으로도 만들어질 모든 지식을 총라한 게 아니기 때문에, 답변에 최신성 문제(혹은 지식 단절 문제)가 발생한다. 그렇다면 이 문제는 어떻게 해결할 수 있는가?

 

방법 중 하나는 최신 데이터를 계속해서 학습시키는 것이다. 그러나 이 방법은 시간과 비용이 너무나도 많이 발생한다. 그럼 다른 대안이 있는가? 그게 바로 RAG이다. 쉽게 말해 모델에게 오픈북 시험을 보는 것과 비슷하다. 사용자가 입력한 명령어에 대해 먼저 책을 한번 찾아보고1️⃣ 이를 기반으로 답변2️⃣하도록 하는 기술이다.

결국 데이터를 검색하고(Retriever), 이를 기반으로 답변을 생성하는 게(Generator)가 핵심이라 할 수 있다. 

 

1️⃣ Retriever: 사용자 질문에 맞는 정보를 Vertor DB에서 검색해 오는 역할
2️⃣ Generator(LLM): 검색된 정보를 바탕으로 자연스럽게 문장을 생성하는 역할

 

사용자 질문에 맞는 정보를 찾아오는 과정은 다음과 같다.

1. 사용자 질문을 숫자로 변환환다.

2. Vector DB에서 숫자와 유사한 값을 가진 정보를 검색한다.

3. 찾아온 정보와 사용자 질문을 파운데이션 모델에게 전달한다.

4. 파운데이션 모델이 응답을 생성한다.

 

여기서 숫자로 변환하는 과정은 임베딩 모델이 수행한다. 임베딩 모델이라는 거는 정보를 벡터화한다는 걸 의미하는데, 쉽게 말해 숫자로 변환한다는 거다. 컴퓨터는 자연어를 이해하지 못하기 때문에 이러한 처리 과정을 진행한다.

(임베딩 관련 참고: 임베딩이란 무엇인가?)

 

그렇다면 이 과정은 어떻게 구현할 수 있을까?

RAG는 사용자 질문을 벡터화하고 이와 관련된 정보를 Vector DB에서 찾는다. 따라서 Vector DB에 정보가 준비되어야 한다. AI가 참고해야하는 정보도 벡터화되어 있어야 한다는 걸 의미한다. 이 벡터화는 임베딩 모델이 수행한다. 그럼 문서나 자료를 임베딩모델한테 전달하기만 하면 될까? 그렇진 않다. 주어진 자료를 벡터화하는 건 임베딩 모델이 수행하겠지만, 자료를 얼만큼 줄 것인가는 전략적으로 결정해야 한다.

 

자료를 얼만큼씩 줄것인가에 대한 것이 바로 청킹인데, 이 과정을 책에 비유할 수 있다. 책 한장에는 한정된 텍스트가 들어간다. 한장을 채우면 다음장에는 전 페이지와 연결되는 내용이 적혀있고, 그렇게 한장 한장을 넘기며 책을 읽는다. 한 페이지에 책의 내용을 담을 수 없기에 여러 장에 내용을 정리하고 이를 묶어 책이 된다. 마찬가지로 정보도 너무 크면 여러 페이지로 나눠야 한다. 이렇게 나누는 걸 청킹이라 한다. 

 

청킹된 데이터를 임베딩 모델에 전달하면 모델이 이걸 벡터화하여 벡터DB에 저장한다. 이렇게 데이터가 준비됐다면, 사용자 질문에 답변을 생성하기 전에 준비된 DB를 한번 조회하고 이를 기반으로 답변하도록 워크플로우를 구현하면 된다. 이때 사용자 질문을 벡터화하는 것도 데이터 준비 과정에서 사용했던 임베딩 모델과 동일한 걸 사용한다. 그리고 사용자 쿼리와 관련된 정보를 탐색한다. 이것도 종류가 있는데 콘텐츠에 따라 성능이 달라지기에 테스트 과정이 필요하다.(Vector DB검색 종류: ANN 검색, kNN검색) 그리고 이렇게 검색된 데이터와 사용자쿼리를 종합하여 파운데이션 모델에게 전달하면 해당 모델이 답변을 생성한다.

 


 

기타 참고 자료

RAG vs 파인튜닝 vs AI agent

 

LLM 핵심 기술 비교 : RAG, Fine tuning, AI 에이전트의 차이는?

기업들이 AI 도입을 고민하면서 가장 어려워하는 것 중 하나가 바로 어떤 방식으로 AI를 활용할지 선택하는 것입니다. LLM, RAG, 파인튜닝, AI 에이전트. 이 용어들을 들어봤지만, 우리 회사에는 무

app.dalpha.so

 

RAG 관련 Azure 서비스

ㅁ

 

데이터 준비 시 전처리

 

RAG 시스템을 위한 문서 전처리 가이드: AI가 이해하기 쉬운 형태로 만들기

 

devocean.sk.com