-
RAG for Vision: 멀티모달 컴퓨터 비전 시스템을 구축한다면?AI/VLM 2024. 12. 11. 00:10
Visual RAG가 무엇이고, 왜 중요한지, 컴퓨터 비전 파이프라인에 어떻게 적용될 수 있는지 알아보겠습니다.
먼저 들어가기전에 Visual Prompting에 대해서 알아보겠습니다.
RAG는 프롬프트의 원리와 정보 검색의 원리를 결합한 방법입니다.
Prompting 은 특정 지침이나 쿼리를 제공하여 MLLM(Multimodal Large Language Model)과 같은 기초 모델이 작업을 수행하도록 안내합니다.
Vision 도메인에서 Visual Prompting은 시각적 입력(이미지, 선, 점 등)을 사용하여 대규모 비전 모델에 특정 작업을 수행하도록 지시합니다. 여기에는 종종 모델이 명시적으로 훈련받지 않은 작업도 포함됩니다.
다음 그림은 프롬프트이 가능한 모델을 어떻게 구성하여 대규모 시스템을 만드는 예시 이며, 그림을 통해 visual prompt를 통해 모델간 연결이 가능하다는 점을 볼 수 있습니다.
Yolo-world 출력을 SegmentAnything의 입력으로 사용(출처: Tenkys) 따라서, 프롬프트 설계는 RAG와 같은 고급 기술의 기반을 제공한다는 사실을 알 수 있습니다.
Retrieval Augmented Generation(RAG)란?
GenAI 모델(예: GPT-4 또는 LLaVA)에 프롬프트를 입력하면, 그에 대한 응답은 (제로샷) 모델에서 제공됩니다. 이 모델은 정보 컷오프 또는 자체 훈련 데이터(양적, 질적 제한)로 인해 제약을 받습니다. 따라서 모델의 지식은 특정 시점 이후로는 업데이트되지 않으며 정적입니다.
하지만, RAG은 시스템이 관련 컨텍스트를 검색하여 이를 원래 프롬프트와 결합할 수 있도록 합니다. 이렇게 보강된 프롬프트를 사용해 모델에 질의하면, 얻을 수 없던 데이터를 제공받을 수 있습니다.
RAG 작동 방식 이해
아래 그림을 통해 일반적인 RAG의 워크플로우는 그리면 검색, 증강, 생성으로 구성할 수 있습니다.
1. 검색(query) : 쿼리나 프롬프트가 주어지면 시스템은 먼저 지식 기반이나 외부 데이터 소스에서 관련 정보를 검색합니다.
2. 증강(Augmentation): 검색된 정보는 모델의 입력을 증강하거나 향상시키는데 사용 됩니다.
3. 생성(Generation) : 마지막으로 모델은 원래 쿼리와 검색된 정보를 기반으로 응답을 생성합니다.
RAG 구성 : 검색, 증강 및 생성 RAG는 컴퓨터 비전에서 어떻게 사용 되나요?
1. 전통전직인(텍스트) RAG vs Visual RAG
아래 그림에서 볼 수 있듯이 Visual RAG는 기존 RAG의 개념을 비전 작업에 적용합니다.
기존 RAG가 텍스트 입력을 처리하고 관련 텍스트 정보를 검색하는 반면, Visual RAG는 이미지를 처리하고 때로는 텍스트가 동반되기도 하며 시각적 데이터나 이미지-텍스트 쌍을 검색합니다.
인코딩 프로세스는 텍스트 인코더에서 비전 인코더로 전환되며 (CLIP과 같은 기초 모델이 사용) 지식 기반(벡터 데이터베이스)는 텍스트 문서가 아닌 시각적 정보를 저장합니다.
언어용 RAG와 시각 모델용 RAG 비교 마 마지막으로, Visual RAG의 증강은 검색된 시각적 데이터를 입력과 결합하여 텍스트 설명, 수정된 이미지 또는 멀티모달 콘텐츠를 포함한 다양한 출력을 생성할 수 있게 합니다.
Visual RAG는 시각적 이해와 외부 지식을 결합 해야 하는 작업에 효과적 입니다. 예를 들어 비전 시스템이 지식 기반에서 이러한 엣지 케이스의 관련 시각적 및 텍스트 정보를 검색하여 희귀한 물체를 식별하는데 도움이 될 수 있습니다.
2. 시각적 RAG 또는 미세조정
미세조정 대신 RAG를 사용하는 경우 생산에서 비전시스템을 구축할 때 일반적인 문제는 RAG와 fine-tunning 중에서 선택하는 것 입니다. 위 그림에서 볼 수 있듯이 답은 이진이 아니며 여러 요인에 의해 달라집니다.
- 비용 : Fine-tunning을 하기 위해서는 모델을 재교육 해야 하기 때문에 비용이 더 많이 듭니다.
- 추론 : RAG는 추론시 많은 컴퓨팅 자원이 필요합니다.
- 시간 : 가중치가 업데이트되므로 fine-tunning이 초기 시간 투자가 더 필요하지만 장기적으로는 시간이 덜 소요 될 수 있습니다.
초기 시작은 RAG로 시작하는게 이상적이며, 도메인 지식과 모델의 고도화를 위해서는 다음 단계로 미세 조정을 진행하는게 효과적입니다.
두가지 모두 적용할 순 없을까?
일부 사례에서는 두 가지 접근 방식을 결합할 수 있습니다.
- 특정 도메인을 가진 task : 예를 들어, 표준 진단 절차가 있지만 빠르게 진화하는 연구 및 새로운 사례 연구가 있는 의료 영상 분야 입니다. (표준 진단 : fine-tuning, 새로운 사례 : Visual RAG)
- 전자상거래와 제품 인식 : fine-tuning된 모델은 제품 카테고리를 인식할 수 있고, Visual RAG는 동적 인벤토리에서 최신 제품 정보나 비슷한 품목을 검색할 수 있습니다.
- 컨텐츠 검토 시스템 : fine-tunning을 통해 일반적인 위반 유형을 처리할 수 있고, Visual RAG는 새로운 추세나 상황에 따른 위반에 적응할 수 있습니다.
Multi modal RAG
1. 비디오 이해를 위한 Multi modal Visual RAG
비디오 이해를 위한 멀티모달 Visual RAG 파이프라인의 특정 구현을 살펴보면 아래와 같습니다. 아래 그림을 통해 비디오 데이터에서 의미 있는 통찰력을 추출할 수 있는지 보여줍니다.
비디오 이해를 위한 시스템에 적용된 Visual RAG 시스템 구성 요소와 상호 작용을 분석해 보겠습니다.
1. Knowledge Base : 시스템은 비디오와 이미지가 포함된 지식 기반으로 시작합니다. 이는 시각적 콘텐츠를 이해하는 기초 역할을 합니다.
2. Embedding Model : CLIP(Contrastive Language-Image Pre-Training)와 같은 임베딩 모델은 지식 기반 콘텐츠와 사용자 쿼리를 모두 공통 벡터 공간으로 변환하는데 사용됩니다. 이를 통해 다양한 모달리티(텍스트와 시각적 데이터)간의 비교가 가능합니다.
3. Vector Database : 지식 기반의 내장된 표현은 벡터 데이터베이스에 저장되므로 효율적인 유사성 검색이 가능합니다.
4. User Query : 사용자는 "오후 5시 이전에 주차된 흰색 차량을 찾아주세요"와 같은 쿼리를 입력합니다.
5. Query Processing: 사용자 쿼리는 임베딩 모델을 통해 전달되어 지식 기반 콘텐츠와 동일한 벡터 공간으로 변환됩니다.
6. Retrieval & Rank : 시스템은 쿼리 임베딩과 저장된 임베딩 간의 유사성을 기반으로 벡터 데이터베이스에서 관련 정보를 검색합니다. 그런 다음 순위를 매겨 가장 관련성 있는 매치를 찾습니다.
7. Augmentation : 검색된 정보는 맥락을 정제하고 언어 시각 모델에 맞게 준비하기 위한 증강을 거치게 됩니다.
8. LLaVA Fine-Tunned: LLaVA(Large Language and Vision Assistant)의 미세조정된 버전은 증강된 정보를 처리합니다. LLaVA는 텍스트와 시각적 입력을 모두 이해할 수 있는 멀티모달 모델입니다.
9. inference : LLaVA 모델은 처리된 데이터에 대한 추론을 수행하여 사용자 질의에 대응하는 응답을 생성합니다.
10. Response: 최종 출력은 시각적 응답입니다. 이 경우, 사용자의 쿼리와 일치하는 거리에 주차된 흰색 자동차를 보여주는 이미지 입니다.
위 시스템은 컴퓨터 비전의 모델이 어떻게 연결될 수 있는지 보여주는 예시입니다.Next Steps
위 비디오 이해를 위한 Visual RAG는 완벽하지 않고 프로토타입을 기준으로 구성된 시스템이며, 이를 실제 서비스에 도입하기 위해서는 대량의 비디오 데이터와 동시 사용자 쿼리를 효율적으로 처리할 수 있는 확장성이 필요합니다.
또한 예외 처리를 통해 시각적 콘텐츠가 모호하거나 쿼리가 불분명한 시나리오에 대한 처리 방법이 필요합니다.
'AI > VLM' 카테고리의 다른 글
Transformer²: 자기 적응형 LLM(Self-Adaptive LLMs) (2) 2025.02.10 LLM2CLIP: Powerful Language Model Unlocks Richer Visual Representation (1) 2024.12.31 '제미나이키친' : VLM으로 음식 레시피 Assistant 구현 (3) 2024.12.23 [assay] 대규모 비전 모델(LVM)과 비전 언어 모델(VLM) 이해 (8) 2024.09.19