RAG란?
- Retrieval-augmented generation(RAG; 검색증강생성)은 외부 지식 베이스에서 사실을 검색하여 대형 언어 모델(LLM)을 가장 정확하고 최신의 정보에 근거하는 AI 프레임워크
- 쉽게 말해, LLM이 생성을 할 때, 올바르고 최신의 정보를 사용하도록 도와주는 도구
- 예를 들어, RAG는 인터넷이나 다른 데이터베이스 같은 ‘외부의 지식 저장소’에서 관련 정보를 빠르게 찾아낸 후, 그 정보를 바탕으로 우리의 질문에 답을 해줌
RAG가 주목 받는 이유
- RAG의 중요성이 증가하는 이유는 대형 언어 모델(LLM)이 이미 매우 성숙하고 유익한 수준에 도달했기 때문임
- 마치 원유를 자동차를 움직이는 가솔린으로 변환하는 것처럼, 기업과 소비자 모두에게 생산성 향상을 가져다 줄 준비를 마쳤다는 뜻
RAG의 이점 3가지
- RAG의 장점으로는 답변을 생성하는 과정에서 외부 정보 활용이 가능하다는 점(확장성), 사용자에게 더 맞춤화된 답변을 제공할 수 있다는 점(유연성 및 확장성), 그리고 검증 가능한 출처를 기반으로 답변을 제공해 할루시네이션을 최소화할 수 있는 점(정확성) 등이 있
- 확장성: #오픈 북 접근 방식 #외부 정보 활용 가능
- 파인튜닝된 모델은 학습이 종료된 시점에 머무르기 때문에, 정보가 계속 변화하는 상황에서 지속적으로 최신 상태를 유지하기 어려움
- 반면, RAG는 최신 정보를 실시간으로 검색하여 활용하므로, 데이터의 변동성이 큰 경우에 품질과 비용 측면에서 더 효과적일 수 있음
- 이러한 이유로, 파인튜닝은 '닫힌 책'에, RAG는 '열린 책'에 비유되며, 파인튜닝은 도메인 특화된 학습이 가능하지만 한정된 지식에 기반하고, RAG는 지속적으로 업데이트되는 외부 지식을 활용
- 유연성: #사용자에게 더 맞춤화된(개인화된) 답변 제공
- 최신 문서나 정책을 모델에 업로드하면, 이 정보를 바탕으로 질문에 더 정확하게 답변할 수 있도록 해줌
- 이 시스템은 사용자의 의도를 파악하고, 다양한 정보 소스를 참조하여 보다 맞춤화된 답변을 생성할 수 있는 검색 기능(일반적으로 시맨틱 또는 하이브리드 검색 방식)을 사용
- 정확성: #할루시네이션 최소화 #검증 가능한 출처 기반 답변 제공
- RAG는 질문에 대해 더 정확하고 구체적인 답변을 제공할 수 있음
- 예를 들어, RAG는 회사의 정책 문서나 길동씨의 인사 파일에서 실제로 사용 가능한 휴가 일수를 검색하고, 그에 근거하여 "현재 사용 가능한 휴가 일수는 X일입니다"와 같은 구체적이고 검증 가능한 정보를 제공할 수 있음
- 이것이 가능한 이유는 모델이 RAG를 활용해 외부 데이터에 접근하여 개인화된 답변을 제공할 수 있기 때문
RAG 작동 방식

-
검색 단계
- 질문 임베딩:사용자의 질문(예: "3월의 이벤트를 알려줘")을 임베딩합니다. 이는 자연어로 된 질문을 수치적 벡터로 표현하는 과정입니다.
- 유사성 검색:Vector DB에서 질문과 데이터 문서의 유사성을 검색합니다.유사성에 따라 정렬된 문서 조각(청크 ID) 목록을 생성합니다.
- 관련도 순위 결정:가장 관련성 높은 데이터의 순위를 재조정하는 과정입니다.이 과정을 통해 관련도 순으로 검색 결과를 재정렬합니다.메타데이터 필터링을 통해 사용자 쿼리에 맞는 특정 정보(예: 특정 이름, 키워드, 날짜)를 매치하고, 관련 없는 정보를 제외합니다.
-
생성 단계
- 추론:Vector DB에서 관련 문서 조각을 가져옵니다.검색된 내용과 초기 사용자 질문을 바탕으로 최종 프롬프트를 구성합니다.
- 프롬프트 엔지니어링:언어 모델이 검색된 정보를 기반으로 사용자 질문에 적절하게 답변할 수 있도록 합니다.예를 들어, 특정 정보가 없는 경우 "이 사례에 대한 정보가 없습니다"라고 답변하는 것이 포함될 수 있습니다.
- 텍스트 응답 생성:생성된 텍스트가 문법적으로 정확하고 일관성 있는지 확인하는 후처리 과정을 거칠 수 있습니다.
