슬라이드 덱 기반 멀티모달 RAG
요약
본 글은 슬라이드 덱과 같은 시각적 콘텐츠를 활용하는 멀티모달 RAG(Retrieval Augmented Generation) 구현 방법을 다룹니다. 기존의 텍스트 중심 RAG의 한계를 극복하기 위해, '멀티모달 임베딩' 방식과 '멀티 벡터 리트리버' 두 가지 접근 방식을 제시합니다. 또한, 실제 실적 발표 자료를 활용한 공개 벤치마크와 개발 템플릿을 제공하여 구현 가이드를 제공합니다.
핵심 포인트
- 슬라이드 덱 기반 RAG는 시각적 콘텐츠 활용이 핵심입니다.
- 멀티모달 임베딩은 간단하지만 검색 범위가 제한적일 수 있습니다.
- 이미지 요약 기반 리트리버는 복잡하지만 상세한 설명이 가능합니다.
- 공개된 LangChain 벤치마크와 템플릿을 통해 구현 및 평가가 용이합니다.
주요 링크
- LangChain 공개 벤치마크 평가 노트북
- 프레젠테이션용 멀티모달 RAG를 위한 LangChain 템플릿
동기 부여 (Motivation)
검색 증강 생성(Retrieval augmented generation, RAG)은 LLM 앱 개발에서 가장 중요한 개념 중 하나입니다. 다양한 유형의 문서를 LLM의 컨텍스트 창에 전달하여 대화형 채팅이나 질의응답(Q+A) 비서 기능을 구현할 수 있습니다. 지금까지 많은 RAG 앱들이 텍스트에 초점을 맞추었지만, 상당한 양의 정보는 시각적 콘텐츠로 전달됩니다. 예를 들어, 슬라이드 덱은 투자자 발표부터 내부 회사 커뮤니케이션에 이르기까지 다양한 사용 사례에서 흔히 사용됩니다. GPT-4V와 같은 멀티모달 LLM의 등장으로, 이제 슬라이드 덱에 자주 포함되는 시각적 콘텐츠를 활용한 RAG 구현이 가능해지고 있습니다. 아래에서는 이 문제를 해결하는 두 가지 다른 방법을 보여줍니다. 또한, 슬라이드 덱 기반 RAG 평가를 위한 공개 벤치마크를 공유하고 이를 사용하여 이러한 접근 방식 간의 트레이드오프(trade-offs)를 강조합니다. 마지막으로, 슬라이드 덱용 멀티모달 RAG 앱을 빠르게 생성할 수 있는 템플릿을 제공합니다.
설계 (Design)
이 작업은 텍스트 문서에 대한 RAG 앱과 유사합니다. 사용자 질문을 기반으로 관련 슬라이드를 검색하여, 이를 멀티모달 LLM(GPT-4V)에 전달해 답변을 합성하는 방식입니다. 이 문제를 접근할 수 있는 일반적인 방법은 적어도 두 가지가 있습니다.
(1) 멀티모달 임베딩 (Multi-modal embeddings): 슬라이드를 이미지로 추출하고, 멀티모달 임베딩을 사용하여 각 이미지를 임베딩합니다. 사용자 입력을 기반으로 관련 슬라이드 이미지를 검색한 다음, 해당 이미지를 GPT-4V에 전달하여 답변을 합성합니다. 이전에 Chroma 및 OpenCLIP 임베딩을 사용한 이 방식의 쿡북(cookbook)을 공개한 적이 있습니다.
(2) 멀티 벡터 리트리버 (Multi-vector retriever): 슬라이드를 이미지로 추출하고, GPT-4V를 사용하여 각 이미지를 요약합니다. 이미지 요약본에 원본 이미지 링크와 함께 임베딩을 생성하고, 이미지 요약본과 사용자 입력 간의 유사성을 기반으로 관련 이미지를 검색한 다음, 최종적으로 해당 이미지를 GPT-4V에 전달하여 답변을 합성합니다. 이전에 멀티 벡터 리트리버를 사용한 이 방식의 쿡북을 공개한 적이 있습니다.
접근 방식들 간의 트레이드오프(trade-off)는 명확합니다. 멀티모달 임베딩은 텍스트 기반 RAG 앱에서 수행하는 것을 반영하여 설계가 더 간단하지만, 그래프나 시각적으로 유사한 테이블을 검색할 수 있는지에 대해서는 옵션이 제한적이고 의문점이 있습니다. 반면에 이미지 요약(image summaries)은 성숙한 텍스트 임베딩 모델을 사용하며 그래프나 그림을 상당한 디테일로 설명할 수 있습니다. 하지만 이 설계 방식은 더 높은 복잡성과 이미지 요약 비용이라는 단점을 안고 있습니다.
평가 (Evaluation)
이러한 방법들을 평가하기 위해, 우리는 시각적 요소와 정성적 요소가 혼합된 현실적인 슬라이드 덱인 Datadog의 최근 실적 발표 자료를 선택했습니다. 이 슬라이드 덱에 대해 10개의 질문으로 구성된 작은 공개 LangChain 벤치마크를 만들었습니다. 이 벤치마크에서 평가하는 방법에 대한 문서는 여기와 여기에서 확인할 수 있습니다.
사전 점검(sanity check)으로서, 슬라이드 내용에 대한 자연어 설명만으로도 슬라이드를 검색하는 것이 가능하다는 것을 알 수 있습니다 (아래 코드 참조).
저희 벤치마크의 질문-답변 쌍은 슬라이드의 시각적 콘텐츠를 기반으로 합니다. 저희는 LangSmith를 사용하여 위에서 언급된 두 가지 RAG 방법을 평가하고, 텍스트 추출을 사용한 RAG(Top K RAG (text only))와 비교했습니다.
접근 방식 (Approach)
점수 (CoT 정확도)
Top k RAG (text only)
20%
멀티모달 임베딩 (Multi-modal embeddings)
60%
이미지 요약이 포함된 멀티벡터 리트리버 (Multi-vector retriever w/ image summary)
90%
LangSmith는 각 실험의 결과를 나란히 검토할 수 있는 비교 뷰를 제공합니다. 여기에는 평가 실행을 자세하게 비교할 수 있는 공개 페이지가 있습니다. 아래 이미지는 실행 비교 뷰를 보여줍니다.
위의 비교 분석을 사용하여, 우리는 각 질문에 대한 검색된 콘텐츠를 비교할 수 있습니다. 이 슬라이드는 평가 세트의 모든 질문-답변 쌍과 연관된 LangSmith 트레이스를 함께 심층적으로 제공합니다.
통찰 (Insights)
통찰 (Insights)
멀티모달 접근 방식은 텍스트 전용 RAG의 성능을 훨씬 능가합니다. 우리는 멀티모달 접근 방식이 텍스트만 로드하는 RAG(20%)보다 현저한 개선(60% 및 90%)을 보인 것을 확인했습니다. 이는 슬라이드 내용에 대한 추론 시 시각적 맥락을 유지하는 것이 중요하다는 점을 고려할 때 예상된 결과입니다.GPT-4V는 이미지에서 구조화된 데이터를 추출하는 데 강력합니다. 예를 들어, 이 트레이스를 참고하세요. 질문은 고객 수를 묻고 있으며, 이는 광범위한 시각적 콘텐츠가 포함된 슬라이드에서만 검색될 수 있습니다. GPT-4V는 해당 슬라이드에서 이 정보를 정확하게 추출할 수 있었습니다.
정확한 이미지를 검색하는 것이 핵심 과제입니다. 슬라이드에 언급되었고 위에서도 언급했듯이, 올바른 이미지가 검색되면 GPT-4V가 일반적으로 질문에 올바르게 답변할 수 있었습니다. 하지만 이미지 검색이 핵심 과제였습니다. 우리는 이미지 요약(image summarization)이 멀티모달 임베딩보다 검색을 상당히 개선하지만, 요약을 사전 계산하는 데 더 높은 복잡성과 비용이 따른다는 것을 발견했습니다. 핵심적인 필요는 시각적으로 유사한 슬라이드 간에 차이를 둘 수 있는 멀티모달 임베딩입니다. OpenCLIP은 실험해 볼 가치가 있는 다양한 모델들을 가지고 있습니다.
배포 (Deployment)
이 사용 사례를 위한 멀티모달 RAG 애플리케이션 테스트를 용이하게 하기 위해, 우리는 Chroma와 OpenCLIP 멀티모달 임베딩을 모두 사용하는 템플릿을 공개합니다. 이를 통해 시작하는 것이 매우 쉬워집니다: 프레젠테이션을 업로드하고 README를 따르면 됩니다(벡터스토어를 구축하고 플레이그라운드를 실행하기 위한 단 두 개의 명령어만 필요합니다). 아래에서는 Datadog 실적 발표 자료에 대한 대화형 채팅 플레이그라운드(왼쪽)와 올바른 슬라이드의 검색을 보여주는 LangSmith 트레이스(오른쪽)를 확인할 수 있습니다.
결론 (Conclusion)
결론 (Conclusion)
Multi-modal LLMs는 RAG 애플리케이션을 위해 슬라이드 덱의 시각적 콘텐츠를 해제할 잠재력을 가지고 있습니다. 저희는 Datadog의 투자자 프레젠테이션 슬라이드 덱에 대한 질문-답변 쌍으로 공개 벤치마크 평가 세트를 구축했습니다(여기). 이 벤치마크에서 두 가지 접근 방식을 사용하여 multi-modal RAG를 테스트했습니다. 그 결과, 두 방식 모두 text-only RAG의 성능을 능가함을 발견했습니다. 저희는 multi-modal RAG에 대한 접근 방식 간의 트레이드오프를 파악했습니다: 각 슬라이드의 텍스트 요약은 검색(retrieval)을 개선할 수 있지만, 각 슬라이드의 요약을 사전에 생성해야 하는 비용이 따릅니다. Multi-model이 더 높은 성능 상한선(performance ceiling)을 가질 가능성이 높지만, 현재 옵션들은 다소 제한적이며, 저희 테스트에서는 텍스트 요약보다 성능이 떨어졌습니다. multi-modal RAG 앱의 테스트 및 배포를 지원하기 위해, 저희는 또한 템플릿도 공개합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기