고급 RAG 기법: 더 정확한 응답을 위한 텍스트와 시각 자료의 연결
대규모 언어 모델 (LLM)은 텍스트나 시각 자료 등 다양한 유형의 콘텐츠를 이해하고 생성하는 데 탁월한 능력을 보여주었으며, 여러 산업 전반에서 널리 채택되고 있습니다. 다재다능함에도 불구하고 LLM은 제한된 도메인 지식과 오래된 데이터로 인해 종종 부정확하거나 조작된 정보—환각으로 알려진—를 생성합니다.
검색 증강 생성(Retrieval-Augmented Generation, RAG)은 LLM의 생성 능력과 외부 소스에서 관련 정보를 가져오는 검색 시스템을 결합하여 이러한 문제를 해결하는 기법입니다. LLM 응답을 실제 최신 데이터에 기반하게 함으로써 RAG는 답변의 정확성과 문맥적 관련성을 높이고 시스템의 전반적인 효율성을 향상합니다. 생성과 검색의 이러한 결합은 혁신을 촉진하고, 데이터 처리를 변화시키며, 실제 애플리케이션에서 LLM을 더 신뢰할 수 있게 만듭니다.
Zilliz가 주최한 최근 비정형 데이터 밋업에서, 이전에 LlamaIndex의 Typescript 및 파트너십 책임자였던 Yi Ding은 RAG에 대한 새로운 접근 방식인 Small to Slide에 관한 인사이트를 공유했습니다. 이 방법은 프레젠테이션이나 이미지가 포함된 문서와 같은 시각 데이터를 다룰 때 멀티모달 LLM의 성능을 향상합니다. 이 블로그에서는 RAG의 작동 방식, RAG의 과제, 그리고 Small to Slide RAG와 같은 고급 RAG 기법을 살펴보겠습니다.
RAG 이해하기
RAG는 LLM의 강력함과 벡터 데이터베이스로 구동되는 지식 베이스에서 특정 정보를 검색하는 능력을 결합합니다. 사용자가 질문을 하면 RAG 시스템은 데이터베이스에서 관련 정보를 검색하고 이 정보를 사용해 더 정확한 응답을 생성합니다. RAG 프로세스가 어떻게 작동하는지 살펴보겠습니다.
그림: RAG 작동 방식
RAG 시스템은 세 가지 핵심 구성 요소, 즉 임베딩 모델, 벡터 데이터베이스, 그리고 LLM으로 구성됩니다.
사용자가 질문을 하면 시스템은 동일한 임베딩 모델을 사용해 쿼리를 벡터로 변환합니다.
그런 다음 벡터 데이터베이스는 유사도 검색을 수행하여 가장 관련성 높은 정보를 검색합니다. 이렇게 검색된 정보는 원래 질문과 결합되어 "문맥이 포함된 질문"을 구성한 뒤 LLM으로 전송됩니다.
LLM은 이 풍부해진 입력을 처리하여 더 정확하고 문맥적으로 관련성 높은 답변을 생성합니다.
이 방법은 전문 지식이나 동적으로 자주 업데이트되는 정보를 처리하는 데 특히 유용하며, AI 시스템이 정확하고 신뢰할 수 있는 응답을 제공하도록 보장합니다.
예를 들어, 대형 전자상거래 플랫폼은 이 접근 방식을 사용하여 제품 추천 시스템을 구동할 수 있습니다. 이 시스템은 수백만 개의 제품 설명, 고객 리뷰, 사용 데이터를 처리하고 이를 벡터로 저장할 수 있습니다. 사용자가 제품을 검색하면, 시스템은 단순히 키워드뿐만 아니라 쿼리의 의미론적 의미까지 고려하여 가장 관련성 높은 항목을 빠르게 검색합니다.
RAG의 과제와 고급 RAG 기법
RAG는 강력한 기능을 제공하지만, 특히 데이터가 크고 복잡해질수록 그 효과에 영향을 미칠 수 있는 과제도 마주합니다.
속도: 더 큰 데이터베이스를 검색하는 데는 더 오래 걸립니다. 이는 GPU 또는 기타 고성능 시스템에 최적화하는 것과 같은 하드웨어 가속 컴퓨팅을 활용하여 완화할 수 있습니다.
정확도: 가장 관련성 높은 정보를 검색하고 있는지 보장하는 것은 어렵습니다. 개발자는 필요에 따라 성능과 데이터 정확도의 균형을 맞출 방법이 필요합니다.
멀티모달 데이터: 기본 RAG는 이미지나 차트와 같은 비텍스트 데이터에 어려움을 겪습니다. 이러한 경우 다양한 유형의 벡터 데이터를 처리하는 것이 중요해집니다.
다음 섹션에서는 이러한 과제를 해결하고 RAG 시스템의 속도, 정확도, 다용성을 향상시키는 여러 고급 RAG 기법—Small to Big RAG, Small to Slide RAG, ColPali—을 살펴보겠습니다.
Small to Big RAG
Small to Big RAG는 RAG 시스템의 정확도를 향상시키는 방법입니다. 핵심 아이디어는 정밀한 검색을 위해 문서를 더 작고 의도 중심적인 청크로 나누되, 정확히 일치하는 부분만 반환하는 것이 아니라 더 큰 문맥 섹션을 검색하여 LLM이 의미 있고 완전한 응답을 생성할 수 있도록 하는 것입니다. 이는 더 작은 청크가 특정 세부 사항에 집중하여 검색 정밀도를 높이는 반면, 중요한 문맥을 놓쳐 불완전하거나 부정확한 답변으로 이어질 수도 있기 때문입니다.
한 가지 예를 살펴보겠습니다.
다음 쿼리를 생각해 보세요: “Ms. Churilo는 어디에서 일하나요?”
처리될 때, 임베딩 모델은 “work” 같은 더 중요한 용어보다 덜 일반적인 단어인 “Churilo”를 우선시할 수 있습니다. 그 결과 시스템은 “Churilo”가 언급된 문장을 검색할 수는 있지만, 핵심 정보인 “Chris는 현재 Zilliz의 마케팅 VP입니다.”를 제공하지 못할 수 있습니다.
Small to Big RAG는 그녀의 역할이 언급된 전체 단락을 검색하여 이 한계를 해결하고, LLM이 정확하고 완전한 응답을 제공하는 데 필요한 전체 문맥을 제공합니다.
그림: 기존 RAG에서의 잘못된 검색
Small to Big RAG는 복잡하거나 다층적인 텍스트 데이터를 처리하는 데 특히 효과적입니다. 예를 들어 기술 지원 시스템에서 관련 키워드가 포함된 단일 문장을 검색하면 이해에 중요한 주변 세부 정보가 누락될 수 있습니다. 대신 Small to Big RAG는 쿼리와 관련된 모든 섹션을 검색합니다. 예를 들어 사용자가 “비밀번호를 어떻게 재설정하나요?”라고 묻는 경우, 시스템은 직접적인 답변이 담긴 단락을 검색하고 보안 권장 사항과 같은 추가 문맥을 포함하여 응답을 더 포괄적이고 유용하게 만들 수 있습니다.
더 작은 임베딩의 정밀성과 더 넓은 검색의 문맥적 깊이를 결합함으로써, Small to Big RAG는 정확성과 완전성 사이의 균형을 보장합니다. 이 접근 방식은 AI 시스템이 정확할 뿐만 아니라 문맥이 풍부한 답변을 제공할 수 있게 하여 실제 애플리케이션에서의 신뢰성을 향상시킵니다.
Small to Slide RAG
Small to Big RAG는 텍스트 기반 데이터를 처리하는 데 뛰어나지만, 슬라이드, 차트, 그래프와 같은 시각 자료에 포함된 정보를 포착하는 데는 어려움이 있습니다. Small to Slide RAG는 슬라이드와 같은 시각 요소에서 텍스트를 임베딩하되 전체 슬라이드 이미지를 검색함으로써 이 문제를 해결하는 개선된 RAG 방법입니다. 이렇게 검색된 결과는 텍스트와 이미지를 모두 분석할 수 있는 멀티모달 LLM에 제공되어 처리됩니다.
작동 방식은 다음과 같습니다:
텍스트 임베딩: 시스템은 슬라이드에서 텍스트를 추출하고 임베딩합니다.
시각 자료 검색: 텍스트만 검색하는 대신, 관련 정보가 포함된 전체 슬라이드 이미지를 검색합니다.
멀티모달 처리: 검색된 슬라이드 이미지는 시각적 구성 요소와 텍스트 구성 요소를 동시에 처리할 수 있는 멀티모달 LLM(예: 비전 기능을 갖춘 GPT-4)에 입력됩니다.
이 방법은 중요한 정보가 시각 자료를 통해 전달되는 복잡한 문서를 처리하는 데 특히 유용합니다. 예를 들어, 분기별 재무 보고서에서는 핵심 인사이트가 그래프나 차트에 들어 있는 경우가 많아 기존의 텍스트 기반 RAG 시스템이 이를 놓칠 수 있습니다. 전체 슬라이드 이미지를 검색하고 분석함으로써 Small to Slide RAG는 중요한 세부 사항이 누락되지 않도록 하여 더 정확하고 포괄적인 응답을 제공합니다.
Small to Slide RAG의 강점을 보여주기 위해 Yi Ding은 Nvidia 슬라이드 덱을 사용한 실제 예시 데모를 진행했습니다. 여기에서 데모를 확인할 수 있습니다.
그림: 기존 RAG와 Small to Slide RAG가 검색한 컨텍스트 비교
이 데모에서 Yi Ding은 동일한 질문인 "NVIDIA AI Enterprise는 어떤 SaaS 플랫폼을 지원하나요?"에 답할 때 기존 RAG 시스템과 Small to Slide RAG가 검색한 컨텍스트를 비교했습니다.
기존 RAG: 기존 텍스트 기반 RAG 시스템은 완전한 답변을 제공하는 데 어려움을 겪었습니다. 슬라이드에서 추출한 텍스트에만 의존했기 때문에 차트와 다이어그램에 포함된 중요한 정보를 놓쳤습니다. 이러한 한계로 인해 불완전하고 정보성이 떨어지는 응답이 나왔습니다.
Small to Slide RAG: 반대로 Small to Slide RAG는 훨씬 더 나은 결과를 제공했습니다. 시스템은 관련 정보가 포함된 실제 슬라이드 이미지를 검색하여 멀티모달 LLM(예: 비전 기능을 갖춘 GPT-4)에 입력했습니다. 이를 통해 모델은 텍스트와 시각 요소를 모두 해석할 수 있었고, 훨씬 더 포괄적이고 정확한 답변을 생성했습니다.
이 예시는 Small to Slide RAG의 고유한 강점을 보여줍니다. 즉, 핵심 정보가 텍스트와 시각 자료 전반에 걸쳐 분산되어 있는 복잡한 문서를 처리할 수 있는 능력으로, 시각적으로 풍부한 콘텐츠를 처리하는 데 매우 유용한 도구가 됩니다.
이러한 RAG 방법이 원활하게 작동하려면 복잡한 쿼리와 검색 작업을 관리할 인프라가 필요합니다.
ColPali: 한계의 확장
강연의 마지막에 Yi는 ColPali,라는 새로운 기법을 소개했습니다. 이는 Retrieval-Augmented Generation(RAG)의 한계를 확장하는 새로운 문서 검색 모델입니다. 시각 데이터(예: 슬라이드 및 PDF)가 포함된 문서를 텍스트로 변환하는 기존 방법과 달리, ColPali는 문서의 시각적 특징을 직접 다루므로 오류가 발생하기 쉬운 텍스트 추출 단계 없이 정보를 인덱싱하고 검색할 수 있습니다.
ColPali의 작동 방식
아직 초기 단계이지만, ColPali는 시각 데이터에 집중함으로써 우리가 일반적으로 문서 검색을 수행하는 방식을 바꿉니다:
문서는 이미지로 취급되어 텍스트 변환을 완전히 우회합니다.
이미지당 시각적 n-그램과 유사한 여러 임베딩이 생성되어 세밀한 시각적 특징을 포착합니다.
검색은 시각적 임베딩을 쿼리와 비교하여 문서에서 가장 관련성 높은 영역을 식별하는 방식으로 수행됩니다.
그림: 특정 영역이 강조 표시된, 카자흐스탄의 석유 생산에 관한 프랑스어 문서
위 이미지에 표시된 예시를 살펴보겠습니다. 카자흐스탄의 석유 생산에 관한 프랑스어 문서입니다. 해상 석유 생산에 대해 질문하면, ColPali는 차트와 도표처럼 쿼리와 가장 관련성이 높은 문서의 특정 영역을 강조 표시합니다. 이를 통해 텍스트 요소와 시각적 요소가 모두 고려되어 콘텐츠에 대한 포괄적인 이해를 제공합니다.
ColPali가 흥미로운 이유
ColPali는 기존 RAG 시스템에 비해 몇 가지 주요 장점을 제공합니다:
이미지와 직접 작업함으로써 복잡한 문서(예: PDF)를 텍스트로 변환할 때 발생하는 부정확성을 피합니다.
레이아웃, 도표, 서식 등 텍스트 기반 방법에서는 종종 손실되는 시각 정보를 포착합니다.
ColPali는 시각적 데이터의 검색과 탐색을 가능하게 하여 기술 설계, 법률 문서 등과 같은 분야에서 가능성을 열어줍니다.
ColPali의 실제 적용 사례로는 건축 설계 검토가 있을 수 있습니다. 청사진과 기술 도면을 직접 분석하는 AI 시스템을 상상해 보세요. 특정 설계 요소에 대해 질의하면, 시스템은 텍스트 주석과 시각적 특징을 모두 통합하여 도면의 관련 부분을 강조 표시할 수 있습니다.
ColPali의 과제와 한계
ColPali는 유망하지만 아직 초기 단계이며 몇 가지 과제가 있습니다:
높은 계산 요구량: 이미지당 여러 임베딩을 생성하고 비교하는 것은 계산 집약적이므로, 실용적인 사용을 위해서는 GPU 가속이 필수적입니다.
제한된 생태계: 더 확립된 RAG 기법과 비교하면, ColPali를 구현하는 데 사용할 수 있는 도구와 리소스가 더 적습니다.
언어 및 학습 특화 모델: ColPali 모델은 현재 특정 학습 데이터셋에 의존하며, 이는 다양한 도메인 전반에 걸친 일반화를 제한할 수 있습니다.
각 RAG 기법의 장단점
위에서 논의한 각 기법은 고유한 장점과 한계를 제공합니다.
그림: 다양한 RAG 기법의 비교
텍스트 기반 RAG는 구현이 가장 간단하며, 광범위한 도구 지원의 이점을 누립니다. 그러나 멀티모달 정보를 유지하는 데 어려움이 있고 청킹을 항상 완벽하게 처리하지는 못합니다. 반면에 Small to Slide는 멀티모달 데이터 포착을 개선하지만, 더 복잡한 설정이 필요하고 특정 데이터 유형에서 가장 잘 작동합니다. 마지막으로 ColPali는 텍스트 변환의 필요성을 피하고 내장된 출처 표시를 통합함으로써 프로세스를 단순화하지만, GPU와 맞춤형 모델이 필요해 일부 프로젝트에서는 접근성이 제한될 수 있습니다.
고급 RAG 구현: 실무적 고려 사항
자체 프로젝트에서 이러한 고급 RAG 기법을 구현하려는 경우, 다음 사항을 염두에 두세요.
데이터 평가
작업 중인 데이터의 유형을 살펴보세요. 차트, 이미지 또는 복잡한 레이아웃이 포함된 문서가 많다면 Small to Slide RAG와 같은 접근 방식이 특히 유용할 수 있습니다. 예를 들어 텍스트, 표, 차트가 혼합되어 있는 경우가 많은 재무 보고서를 분석하는 시스템을 구축한다면, Small to Slide RAG가 텍스트 전용 접근 방식보다 더 포괄적인 인사이트를 제공할 수 있습니다.
계산 리소스
Small to Slide RAG 및 ColPali와 같은 방법은 기존 RAG보다 계산 집약적일 수 있습니다. 특히 대규모 데이터셋을 다룰 때 필요한 리소스를 갖추고 있는지 확인하세요.
모델 선택
이러한 고급 기법은 종종 특정 유형의 모델을 필요로 합니다. Small to Slide RAG의 경우 텍스트와 이미지를 처리할 수 있는 멀티모달 LLM이 필요합니다. 필요에 맞는 모델을 선택하고 이를 실행할 리소스가 있는지 확인하세요.
벡터 데이터베이스 기능
필요에 맞게 조정된 RAG 시스템을 구현하려면 올바른 벡터 데이터베이스를 선택하는 것이 중요합니다. 예를 들어 Small to Big RAG를 구현하는 경우, 더 작은 청크에서 생성된 임베딩을 사용해 더 큰 텍스트 청크를 효율적으로 검색할 수 있는 벡터 데이터베이스가 필요합니다. 애플리케이션이 10억 규모 데이터셋과 같은 방대한 양의 벡터 데이터를 다룬다면 확장성이 핵심이 됩니다. Milvus와 그 관리형 서비스인 Zilliz Cloud 같은 솔루션은 이러한 시나리오를 위해 설계되어, 매우 확장 가능하고 효율적인 벡터 검색을 제공합니다.
평가 지표
검색된 정보의 관련성, 생성된 응답의 정확성, 검색 및 생성 속도를 포함하여 RAG 시스템의 성능을 평가할 명확한 지표를 개발하세요.
반복 개발
RAG는 빠르게 발전하고 있습니다. 다양한 접근 방식을 쉽게 테스트하고 비교할 수 있는 반복 개발 프로세스를 계획하세요. 기본적인 RAG 구현으로 시작한 다음, Small to Big RAG 또는 Small to Slide RAG와 같은 더 고급 기법을 점진적으로 도입하세요. 개발 프로세스를 이끌기 위해 성능과 사용자 피드백을 지속적으로 평가하세요.
결론
RAG 기법은 계속 발전하고 있으며, 다양한 요구를 해결하기 위해 텍스트 기반 RAG, Small to Slide RAG, ColPali와 같은 여러 접근 방식을 제공합니다. 텍스트 기반 RAG는 일반 애플리케이션을 위한 탄탄한 출발점을 제공하지만, 더 전문화된 사례, 특히 시각 데이터를 처리하는 경우에는 Small to Slide RAG 또는 ColPali와 같은 고급 방법의 이점을 얻을 수 있습니다.
올바른 방법을 선택하는 것은 데이터와 사용 가능한 리소스에 따라 달라집니다. 각 접근 방식은 AI 시스템의 효율성과 정확성을 개선하는 방법을 제공하여 복잡성, 속도, 비용 간의 더 나은 균형을 가능하게 합니다. 특정 요구사항에 접근 방식을 맞춤으로써 RAG를 활용해 사용자에게 적절한 시점에 적절한 형식으로 적절한 정보를 제공하는 시스템을 구축할 수 있습니다.
추가 리소스
계속 읽기

1 Table = 1000 Words? Foundation Models for Tabular Data
TableGPT2 automates tabular data insights, overcoming schema variability, while Milvus accelerates vector search for efficient, scalable decision-making.

Vector Databases vs. Time Series Databases
Use a vector database for similarity search and semantic relationships; use a time series database for tracking value changes over time.

AI Integration in Video Surveillance Tools: Transforming the Industry with Vector Databases
Discover how AI and vector databases are revolutionizing video surveillance with real-time analysis, faster threat detection, and intelligent search capabilities for enhanced security.



