- Turing Post Korea
- Posts
- '12가지' RAG (Retrieval-Augmented Generation) 유형
'12가지' RAG (Retrieval-Augmented Generation) 유형

2020년 처음 등장한 이후, RAG (Retrieval-Augmented Generation)은 LLM 어플리케이션을 만드는 여러 방법들 중 주요한 하나로 자리잡으면서 점점 더 큰 관심을 받고 있습니다. RAG은 LLM 어플리케이션이 더 정확한, 그리고 더 맥락에 맞는 답변을 할 수 있도록 도와주는 중요한 방법으로, 순전히 모델에 정보된 정보에 의존하지 않고, 답변을 생성하는 과정에서 적절한 외부 문서나 데이터를 참조하도록 하기 때문입니다. 이런 방식은, 특정하고 정확한 정보를 제공하는 것이 중요하거나, 아니면 최신의 정보를 기반으로 답변을 주어야 하는 경우에 특히 유용합니다.
아래, 각기 다른 경우에 활용할 수 있는 12가지 유형의 RAG을 정리했습니다:
오리지널 RAG 모델은 사전 학습된 언어 모델 (매개변수 메모리; Parametric Memory)을 위키피디아 같은 문서를 고밀도 벡터로 인덱스화한 외부 지식 소스 (비 매개변수 메모리; Non-parametric Memory)를 결합합니다. RAG는 생성 과정에서 이 소스에서 관련 정보를 검색하여 모델의 정확도와 특이도를 향상시킵니다. —> [논문 보기]
마이크로소프트에서 만든 Graph RAG은, 데이터를 ‘텍스트 데이터’와 그 ‘상호 관계’를 나타내는 그래프 구조로 구성합니다. Graph RAG는 ‘쿼리’ 중심의 요약을 대규모로 처리하기 위해 고안된 RAG 시스템입니다. —> [논문 보기]
LongRAG는 더 큰 텍스트 단위(100단어 대신 4,000토큰)를 처리해서, 검색해야 하는 단위 수를 줄여주는 개선된 버전의 RAG 모델입니다. "Long Retriever" 및 "Long Reader"를 활용하는 이 접근 방식은 별도의 훈련 없이도 큰 텍스트에서 답을 추출하는 정확도와 성능을 향상시킵니다. —> [논문 보기]
Self-RAG (Self-Reflective approach)를 사용하면 모델이 필요할 때만 정보를 검색하고 검토할 수 있습니다. 추론이라든가 팩트 체크가 필요한 작업에서 ChatGPT 같은 다른 모델보다 뛰어난 성능을 발휘합니다. —> [논문 보기]
Corrective RAG (CRAG)는 외부의 ‘검색 평가기’를 사용해서 검색된 문서의 품질을 개선합니다. 핵심적인 정보에 더 집중함으로써 생성된 콘텐츠의 정확성 (Accuracy)과 견고성 (Robustness)을 향상시킵니다. —> [논문 보기]
EfficientRAG는 멀티-홉 QA (MQA)의 각 단계에서 LLM을 호출하는 것이 아니라, 단계를 지나면서 새 쿼리를 생성하고 관련 없는 정보를 필터링하여 적절한 답변을 효율적으로 생성할 수 있도록 해 줍니다. —> [논문 보기]
Golden-Retriever는 ‘Reflection-based Question Augmentation’이라는 테크닉을 사용해서 산업의 Knowledge Base에서 도메인의 전문 용어나 문맥을 먼저 처리하고 가장 관련성이 높은 문서를 검색하도록 도와주는 RAG 모델입니다.
—> [논문 보기]대화형 시스템을 위한 Adaptive RAG은 항상 외부 지식을 검색하는 게 아니라, 대화의 맥락을 먼저 살펴 RAG이 필요한지 결정을 합니다. 이 접근방법은 필요 시에만 RAG를 사용하므로 답변의 품질을 높이고 더 정확한, 확도 높은 답을 할 수 있도록 해 줍니다. —> [논문 보기]
Modular RAG는 복잡한 RAG 시스템을 독립적 모듈과 전문화된 구성 요소로 분해하는 고급 프레임웍입니다. 기존 RAG에서 보는 단순한 '검색 후 생성' 프로세스와는 달리, Modular RAG는 라우팅, 스케줄링, 프로세스 결합과 같은 유연하고 사용자가 설정할 수 있는 구조를 제공합니다. —> [논문 보기]
Speculative RAG은 여러 개의 답변 초안을 병렬적으로 생성하는 소형의 ‘전문 언어모델’, 그리고 여러 가지 이러한 초안을 검증하여 최적의 답을 찾는 대형의 ‘종합 언어모델’ 두 가지 유형의 언어모델을 결합합니다. 이렇게 하면 시스템의 효율성과 속도를 모두 향상시킬 수 있습니다. —> [논문 보기]
RankRAG은 관련된 컨텍스트들의 순위를 매기고 그 순위 정보를 질문에 답하는 데 사용하도록 모델을 훈련시키는 프레임워크입니다. 지식이 많이 필요한 작업에 탁월한 성능을 보일 수 있습니다. —> [논문 보기]
Multi-Head RAG은 모델의 어텐션 메커니즘에서 서로 다른 부분을 사용해서 쿼리의 다양한 측면을 포착함으로써 관련성이 높은 정보를 쉽게 찾고 사용할 수 있게 해 줍니다. 특히 복잡한 쿼리의 경우에 검색 정확도를 향상시킬 수 있습니다. —> [논문 보기]
튜링 포스트 코리아에서 커버한 다른 RAG 관련 글도 참고해 보세요! 😃 ✌️
읽어주셔서 감사합니다. 재미있게 보셨다면 친구와 동료 분들에게도 뉴스레터를 추천해 주세요.
Reply