brunch

You can make anything
by writing

C.S.Lewis

by 최재철 Jun 08. 2024

기본RAG에서 고급RAG까지

RAG(Retrieval-Augmented Generation)는 사용자가 제공하는 별도의 정보를 통해 컨텍스트(Context)를 강화함으로써 LLM의 성능을 향상시키는 중요한 기술이 되었습니다. 이 접근 방식(Skill) 은 또한 LLM 내부 학습된 데이타보다 우선적으로 사용자가 제공하는 검증된 데이터를 기반으로 하여 정보를 출력하기에 LLM에서 기본적으로 발생하는 환각 문제의 대부분을 해결합니다. 


RAG라는 개념이 처음나오서면부터 많은 사람들이 실험하고 테스트하면서 그 형태가 점점 발전되고 있습니다. 다음은 최근 연구를 바탕으로 기본 RAG 에서 고급 RAG까지 그 특징을 살펴보도록 하겠습니다. 

RAG 관련 연구들 (출처 : https://blogs.novita.ai/)

기본 RAG

기본 수준에서 RAG는 검색(Retrieval) 및 생성(Generation) 구성 요소의 조합으로 시작합니다. 검색 시스템은 외부 데이터베이스에서 관련 문서나 데이터를 검색한 다음 생성 모델의 출력을 보강하는 데 사용됩니다. 이 설정에는 일반적으로 다음이 포함됩니다.  


단순 검색 메커니즘 : 기본 벡터검색 알고리즘을 활용하여 입력 쿼리를 기반으로 관련 문서를 가져옵니다.

직접 입력        : 검색에 사용하는 정보는 별다른 전처리나 보정 없이 생성 모델(LLM)에 직접 입력됩니다.


이 수준은 LLM 모델이 내부적으로 가지고 있지 않는 정보, 곧 도메인 지식 정보를 제공하여 응답의 정확성을 높이는 것을 목표로 합니다.  주로 회사 메뉴얼, 사용설명서 등에 활용되고 있습니다. 



중급 RAG

중급 RAG는 기본 RAG 위에 보다 정교한 검색을 위해서 여러가지 기법들이 사용됩니다. 그 특징은 다음과 같습니다.  


고급 검색 및 순위 지정 : 가장 관련성이 높은 문서의 우선 순위를 지정하기 위해 고급 검색 알고리즘 및 순위 메커니즘(Re-Rank)을 구현합니다. 이 프로세스에는 일치하는 문서를 찾는 것뿐만 아니라 관련성과 품질을 기준으로 순위를 매기는 작업도 포함됩니다.

필터링 : 필터링은 품질이 낮거나 관련성이 낮은 문서를 제거하여 결과를 더욱 구체화합니다.

향상된 전처리과정 :  정보가 일관되도록 데이터를 전처리함으로써 생성 모델이 보다 효과적인 출력을 할 수 있도록 도와줍니다. 여러 출처의 정보를 통합하고 재구성하는 등의 일반적인 데이터핸들링 기술이 사용됩니다.

청킹사이즈 및 임베딩모델 변경 : 여러 임베딩모델을 사용하여, 검색 신뢰도 측정하고 이에 따라 최적의 임베딩 모델을 선택합니다. 또한 청킹 사이즈를 조정함으로써 계산 리소스를 최적화하고 응답 품질을 향상시킬 수 있습니다.


이 수준은 기본 RAG 도메인지식활용에 목표를 두었다면, 중급 RAG에서는 실제활용함에 있어서 여러가지 시행착오를 경험하고, 검색 품질을 높이는 데 목표를 하고 있습니다. 검색이 품질이 중요한 법률문서 분석, 판결문 검색 등에 활용될 수 있다.   


고급 RAG

고급 RAG 시스템의 주요 기능은 다음과 같습니다.


전문 임베딩기법사용 : DPR(Dense Passage Retrieval) 또는 ColBERT 같은 기타 다른 임베딩기법을 활용합니다.

Meta 정보 활용 : 보다 효과적인 검색을 위해 과거 검색엔진에서 사용했던 방식처럼 메타정보들을 이용하는 것입니다. 날짜 메타정보를 사용하여 최신 문서를 우선적으로 처리하거나 검색을 특정 시간 범위로 제한할 수 있습니다. 이 접근 방식을 통해 모델은 더 잘 일반화되고 새로운 작업 및 도메인에 빠르게 적응할 수 있습니다.

계층적 및 다단계 검색 : 초기 문서 세트가 여러 검색 및 순위 재지정 단계를 통해 반복적으로 구체화되는 다단계 검색 프로세스를 구현합니다. 한번에 검색을 출력하는 것이 아니라, 단계적인 접근방법을 채택하는 것입니다. 이러한 계층적 접근 방식은 가장 관련성이 높고 품질이 높은 정보만 사용되도록 보장합니다.

교차 언어 및 다중 모드 검색 : 고급 RAG 시스템은 서로 다른 언어로 된 문서의 정보가 통합되는 교차 언어 검색과 텍스트, 이미지, 비디오와 같은 다양한 형식의 데이터를 통합하는 다중 모드 검색을 지원합니다.


이 수준은 NLP 전문가가 꼭 필요한 단계로,  최첨단 기술과 프레임워크를 통합하여 검색 증강 생성의 효과와 효율 극대화에 목표를 두고 있습니다.


마치며 ..

지금까지 기본RAG 부터 고급RAG 까지 살펴보았습니다. 현재의 고급RAG 기술이라고 여겨지고 있는 것들이 몇년, 몇개월안에는 기술이 보편화되어서 기본RAG로 여겨질 거 같습니다. 

그런데, 최신 기술이 중요한 것이 아니라, 도메인에 맞게 사업에 맞게 활용하는 것이 중요하다고 생각합니다.

 

RAG 시스템에 대한 여러분들의 다양한 생각이 궁금합니다. ^^


참고자료


Dense Passage Retrieval for Open-Domain Question Answering


Investigating the Factual Knowledge Boundary of Large Language Models with Retrieval Augmentation 


ColBERT가 개발자가 RAG의 한계를 극복하도록 돕는 방법


[Capstone #1] RAG : Retrieval-Augmented Generation


작가의 이전글 라마3란?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari