영상 링크: VoiceVision RAG - Integrating Visual Document Intelligence with Voice Response — Suman Debnath, AWS
채널명: AI Engineer
VoiceVision RAG - 음성 응답을 활용한 시각 문서 지능 통합 핵심 요약
- 이 영상은 ‘시각기반 RAG(검색 증강 생성; Retrieval-Augmented Generation)‘의 최신 연구와 오픈소스 프레임워크 적용 방법을 실습 위주로 다룸
- 전통적 멀티모달 RAG 아키텍처 3가지와 각 방식의 장점, 한계, 구현법을 비교하며 시작함
- 전통적 방식의 한계(이미지 기반 PDF, 텍스트 추출 오류, 문서 내 지식 관계 단절 등)를 구체 데이터셋·상황(예: IKEA 조립 매뉴얼)에 빗대어 설명
- 최신 연구논문 ‘Pali’ 모델 기반의 시각적 문서 단위 검색법(이미지 패치 단위 임베딩·검색, Late Interaction, 맥스닷 연산) 원리 설명
- Pali 방식의 장점인 ‘텍스트/테이블/이미지 분리 불요’, 문서별 패치 임베딩과 쿼리-패치간 dot 연산에 의한 의미적 유사도 검색 핵심 메커니즘 상세 시연
- 실제 코드 데모: PDF → 이미지 변환, 패치 임베딩 생성, 벡터DB(Qdrant) 입력, 텍스트 쿼리로 유사 이미지 추출, 멀티모달 LLM(예: Claude, Olama 등)로 답 생성
- AWS에서 최근 오픈한 경량 에이전트 프레임워크 Strands 소개·시연 (자체 툴 등록, 이미지·음성 응답 결합형 RAG, 기본 음성 합성 등)
- Strands 프레임워크 내에서 커스텀 검색/생성/음성화 툴 통합하여, “음성+이미지” 응답을 자동화하는 에이전트 구현 예시
- 실제 사업 적용 예시(보험 등), 하이브리드 아키텍처·스케일 한계·모델 파인튜닝 등 실제 질문과 응답 포함 실제 경험 및 팁 공유
세부 요약 - 주제별 정리
”전통적 멀티모달 RAG 아키텍처는 복수 데이터 분리와 처리로 복잡성과 한계를 가진다”
- 멀티모달 RAG의 대표적 아키텍처 3가지를 그림과 함께 제시
-
- 원본을 이미지/텍스트/테이블로 분리 후 개별 임베딩, 멀티모달 LLM에 입력해 답 생성을 하는 방식
-
- 모든 엔티티(이미지·텍스트·테이블)에 대해 요약문을 생성해 임베딩 저장, 쿼리도 임베딩 후 텍스트 LLM으로 답 생성
-
- (2)과 유사하나 summary-원본 엔티티 해시맵을 따로 저장, 쿼리 후 요약-원본 맵핑을 통해 멀티모달 LLM에 전달
-
- 각 방식마다 사용 모델, 데이터 저장 방식, 검색 흐름이 다름: 예시로 요약문 대비 원본데이터 복원 불가, 임베딩 단순화와 모달리티 종속성 등 차이 설명
- 관객 질문을 통해 “이미지 내의 테이블 등 서브 엔티티 구분, OCR 오류 등”에서 발생하는 처리상 한계를 실례로 언급
- 정부·관공서, 고속도로 톨게이트, IKEA 매뉴얼 등 실무 사례: 이미지가 주된 문서, OCR로 텍스트 추출이 불가/부정확한 경우 기존 방법론의 비효율성 강조
- “가장 비용 효율적/간단한 방법을 먼저 시도하고, 기존 구조로 문제해결이 불가능할 때만 시각 기반 RAG로 전환”이 권장됨
”최신 시각문서 RAG(Pali)는 문서 전체를 이미지로 보고 패치 임베딩을 활용한다”
- 2024년 7월경 공개된 Google ‘Pali’논문·모델 기초: 문서페이지 전체를 “이미지”로 간주하여 패치(조각)로 분할, 각 패치 임베딩 벡터 생성
- 예: 10페이지 PDF → 10개 이미지 → 각 이미지 15패치 → 총 150 임베딩 벡터로 변환
- 별도의 텍스트/이미지/테이블 분리, OCR, 요약, 해시-매핑 등 필요 없음. 추후 쿼리-패치 유사도 계산만으로 의미적 검색이 가능함 강조
- IKEA 매뉴얼(그림+이모지 조립 안내, 텍스트 없음), 전부 이미지로 구성된 보험증서 등 기존 방식을 대체할 필요성 시나리오 제시
- 모델 구조: 입력 이미지는 패치로 전처리, Vision Transformer 기반 Encoder 경유 → Linear(FC) Projector → 통일된 임베딩 차원 생성
- 쿼리는 반드시 텍스트(이미지 업로드는 지원 안 함), 동일 모델에서 벡터화 후 DB 내 패치 임베딩과 의미 유사도 검색
”Pali 등 시각기반 모델의 임베딩 원리는 contrastive learning과 패치 기반 dot-product 유사도 검색에 있다”
- Vision-Language 모델의 학습 방식(Contrastive Learning): 이미지-양성 텍스트 샘플 페어(음성 샘플도 포함)로 벡터 간 거리를 좁히도록 학습
- 이미지 임베딩과 텍스트 임베딩이 학습 이후 같은 의미의 엔티티는 공간상 거리가 인접하도록 최적화
- 모델 구조상 임베딩 차원의 증가(예: 128→256)는 개별 엔티티 의미정보의 세밀성을 높임 (구체적 비유: 자기소개 정보 갯수와 질의 응답 정확도 관계)
- 패치 임베딩의 dot-product(맥스 dot) late-interaction 방식: 각 쿼리 토큰 임베딩과 패치 임베딩 행렬 생성→ 행별 최대값 추출→ 합산 점수로 문서별 랭킹
- 이 방식이 “질문 내 각 토큰이 의미적으로 가장 적합한 패치와 어디에서 매칭되는지”를 미시적 수준에서 파악 (단순 크로스 엔트로피나 요약-요약 매칭보다 강인함)
- 실 DB 검색에선 “맥심(dot) 연산”이 가능한 Qdrant 등 일부 벡터DB만 지원. OpenSearch 등은 커스텀 확장이 필요
”실제 Pali-RAG 검색 파이프라인은 PDF->이미지->패치->임베딩->DB 입력 단계로 자동화된다”
- 실습 데모에서 PDF 파일 여러 개를 페이지별 이미지(jpg/png)로 변환
- 각 이미지를 RGB→고정 사이즈 전처리(Pali 모델 Preprocessor)
- 배치 단위로 임베딩 추출(배치 2~3 권장, 랩탑 환경에서는 메모리 초과 주의. 실무경험상 배치 크기 조절 실패시 랩탑 다운 사례 언급)
- 임베딩 데이터(패치 개수=임베딩 벡터 개수)와 메타데이터(문서ID, 페이지 등) 생성. Qdrant 벡터DB에 입력
- Qdrant는 multivector mode, maxim dot-product search 사용 설정 필수
- 코드에서 collection 생성 시 임베딩 벡터 크기(128/256 등) 설정, 이미 존재할 시 중복 방지
- 실제 데모 데이터는 인도 10학년 과학 교과서 등 공개 책 PDF, Text 없는 도식 이미지 포함
”질의 및 검색은 텍스트 쿼리 임베딩→멀티벡터 semantic search→유의미 페이지 이미지 반환으로 구현”
- 사용자가 질의(예: ‘trophic level이란?’)를 텍스트로 입력
- 동일한 Preprocessor와 Pali 모델로 쿼리 임베딩 생성
- Qdrant 벡터DB에 쿼리 임베딩 제출, top-N(예: 5개) 유사도 상위 페이지 검색 (dot-product 점수 기반)
- 검색 결과는 PDF 내 해당 페이지 이미지 정보 반환(실제 GUI 상 이미지를 리스트로 표시)
- RAG 파이프라인의 끝단에서는 기존의 multimodal LLM(Anthropic Claude, Olama 등) API에 쿼리·이미지 묶음을 전달하여, 문장 답변 생성이 이어짐(이미지는 native로 삽입)
- 올라마 등 모델은 입력 이미지 인코딩(예: base64 변환 등) 규격 요구, 베드락(bedrock)는 별도 입력 래퍼 필요
”Strands 프레임워크를 활용하면 검색–생성–음성응답 전체를 에이전트 워크플로우로 구현 가능”
- AWS 오픈소스 agentic 프레임워크 StrandsAgent(2024 출시) 소개: pip install 한 줄 설치, 매우 경량 구조
- 기본 원리: ‘모델(Model)-툴(Tool)’ 2가지 스트랜드로 에이전트 구성, 모델 지정/툴 임포트만으로 챗봇 흐름 빌드
- 커스텀 툴(예: Qdrant에서 이미지 검색 함수)을 데코레이터 @tool로 등록하여 agent 워크플로우 통합 가능
- “read file”, “write file”, “speak” 등 기본 툴에 추가하여, 자신만의 검색/이미지/음성 툴 조합이 용이
- 사진/이미지 읽기, 음성 출력(speak) 등 multimodal 응답 간결 구현 실습 예시 제공
- 데모: 수치식 이미지(3Blue1Brown) 생성, 요약생성→파일저장→음성출력까지 완전 자동화 흐름 4줄 코드로 데모
”Strands RAG 시스템에서 질의–이미지검색–멀티모달 답변–음성화가 자동화된다”
- 최종 워크플로:
- 질의 입력 → 커스텀 Qdrant Search Tool 호출 → 임베딩 마칭된 이미지 반환
- 검색 이미지와 질문이 multimodal LLM 입력 포맷으로 래핑
- 베드락/올라마 등 LLM에서 최종 자연어 답변 생성
- speak 툴을 추가하면 음성(TTS) 접근성까지 실현 (프롬프트 내 성별 조정 등, 매개변수화 가능)
- 실습 내에서 직접 ‘female/male voice’ 등 프롬프트 조작, 해당 system prompt 생략 여부, 툴 스펙 문서 참조 등 상세 팁 제시
- 프롬프트/파라미터 설정에 따라 시스템 답변의 음성 품질, 스타일, 요약 길이 등 동적으로 조정 가능
”실제 현업 활용 및 스케일링, 하이브리드·파인튜닝 등 관련 Q&A에서 실무적 인사이트 공유”
- 보험권 사례: 운전면허증, 보험증권(이미지 기반 문서) → OCR 기반·시각적 RAG(Pali) 모두 실 테스트, 키 차이점 비교
- Pali 모델 단점: 데이터 삽입(임베딩 생성) 단계에서 컴퓨팅 부하가 크고, 검색 질의(semantic search) 단계에서는 매우 빠름
- 대규모 데이터스케일(수백만 벡터): 실제 검색 계산은 트리기반 HNSW(탐색공간 pruning 트리) 등 인덱싱 기법 활용, 효율적 검색 구조임을 강조
- ‘이 방식이 기존 텍스트 기반 RAG를 대체하냐’는 질문에 “데이터 특성상 필요할 때만 적용”, 불필요한 복잡성 방지 견지
- Pali 패치 임베딩 특성: 단락이 여러 패치에 걸쳐 있을 때, 훈련과정에서 일관성 있게 의미를 추출하도록 설계
- 하이브리드 구조 질문: 한 워크플로 내에서 PDF 일부는 기존, 일부는 Pali 적용 등도 메타데이터 연계로 실험 중이라고 답변
- 파인튜닝 관련: Pali 등 사전학습/파인튜닝 모델 즉시 사용(자체 파인튜닝은 미시도), 논문 및 연구데이터셋 출처 참조 권유
- IKEA 데이터 등 ‘텍스트화가 불가능한 이미지 데이터셋’에서 효과적이므로, 실질적으로 가장 직관적 활용사례로 추천
- 필요 시 AWS 크레딧 등 지원 안내로 마무리