-
Multimodal RAGDEV 2024. 11. 14. 21:02
Multimodal model
멀티모달은 일반적으로 텍스트, 이미지, 오디오, 비디오와 같은 두 개 이상의 감각 채널을 포함하는 다양한 통신 또는 정보 처리 모드의 통합
GPT4o
위 예시와 같이 이미지 + 질문 → LLM → 추론 결과
Question
위와 같은 서비스를 만든다고 했을 때 드는 질문
모든 이미지를 사전 학습 하기는 쉽지 않을 수 있고, 최신의 이미지(신상 운동화)로 질의를 한다면 어떻게 결과를 줄 수 있을까?
아디다스 최신 운동화
쉐도우터프 SFTM, 출시 예정
이름을 잘 맞춘 것 같지만, 신발에 쓰여있는 S.F.T.M을 인식해 모델명으로 말한 듯. 신발에도 S.F.T.M으로 쓰여있다.
CLOT BY 에디슨 첸 가젤, 출시 예정
이미지에서 힌트를 찾을 수 없으니 자신이 알고 있는 것 중에 비슷하게 생긴 신발을 찾은 듯하다.
텍스트 기반이 아닌 멀티모달 환경에서 어떻게 RAG를 적용할 수 있을까?
Naive RAG
Navie RAG?
2024.11.08 - [DEV] - simple RAG pipeline
text 기반의 RAG 과정 = 문서 → 청킹 → 임베딩 → 벡터디비 저장 → 유저질의 임베딩 → 벡터 유사도 검색 → 유저질의 + 검색된 청크 → 모델 추론 → 결과
Multimodal RAG
아직은 새로운 기술이고 표준이라고 말할 것이 없지만 현재 일반적으로 사용되는 패턴을 알아보면..
비정형데이터(HTML, PDF, PPT...)에서 정형데이터로 분류하는 작업 → multimodal embedding을 통해 이미지, 텍스트, 표 등을 임베딩 후 질의와 비슷한 이미지, 테스트, 테이블 등을 검색
Multimodal Embedding
이미지는 멀티모달 모델을 통해 이미지를 텍스트로 요약한 결과를 임베딩
웃는 개 사진과 'a dog smiling'이라는 텍스트가 가까운 위치에 존재
overview
문서에 있는 이미지, 테이블, 텍스트를 분리하여 multimodal LLM을 통해 각각 텍스트로 summarize 하여 벡터디비에 저장 후 검색하여 사용
Use case
PDF 분석1
https://codelabs.developers.google.com/multimodal-rag-gemini#4
pdf에 있는 텍스트, 테이블, 이미지(차트) 정보를 멀티벡터 임베딩 후
pdf: https://storage.googleapis.com/benchmarks-artifacts/langchain-docs-benchmarking/cj.zip
아래와 같은 질의를 던지면
query: What are the EV / NTM and NTM rev growth for MongoDB, Cloudflare, and Datadog?
아래와 같은 질의와 관련된 문서, 차트를 검색
검색된 문서와 차트를 분석해 아래와 같은 결과 생성
PDF 분석2
자동차 설명서를 멀티벡터 임베딩으로 색인 후
자동차 대시보드에 불이 들어온 사진을 찍으면 원인을 파악해 줌
https://io.google/2024/explore/0ea0faf7-55df-442a-89a0-26cd2bf5a19a/intl/ko/
고려할 부분
표+이미지까지 찾아야 게임체인저
LLM의 description 성능이 중요, 이미지 안의 정보를 얼마나 추출할 수 있는지가 멀티모달 RAG의 성능을 좌우할 수 있다.
google 메모 앱
아직 멀티모달 기능은 지원하지 않는 것 같다.
PDF 분석1의 문서를 넣고 같은 질의 입력 시 결과를 주지 못함
한정된 문서 안에서 결과를 주는 것은 어렵지 않을 것 같은데, 범위가 모든 이미지가 된다면 레이턴시, 정확도가 보장되지 않을 가능성
멀티모달 임베딩을 한다고 해도 모든 이미지를 색인할 수 없을 것 같고, 한다고 해도 의미가 없을 수 있을 것 같다.Unstructed Data
멀티벡터 임베딩을 잘하기 위해서는 pdf, ppt, html과 같은 비정형 데이터에서 테이블, 이미지, 텍스트를 잘 추출할 수 있는 기술이 중요
GraphRAG
비정형 데이터를 구조화하고 요약한 정보에서 엔티티를 추출해 연결한다면 더 복잡한 문제를 해결할 수 있다.
'프랑스의 수도는 어디인가요?'와 같은 쿼리는 기본적인 RAG에서 잘 동작하지만
"17세기의 과학적 공헌이 20세기 초 물리학에 어떤 영향을 미쳤는가?"와 같은 질문에도 잘 대답할 수 있어야 한다.
https://towardsdatascience.com/an-easy-way-to-comprehend-how-graphrag-works-6d53f8b540d0
728x90'DEV' 카테고리의 다른 글
AI agent frameworks (4) 2024.11.16 AI Agent concept (3) 2024.11.15 ETL, ECL and vector DB (0) 2024.11.13 Chunking in RAG application (0) 2024.11.12 RAG 개선, 평가 방법 (0) 2024.11.11