Multi-Modal Context에서 Retrieval-Augmented Generation 벤치마킹
요약
본 논문은 Multi-modal Large Language Models (MLLMs)이 다중 모드 검색 문서를 활용하여 질문에 답하는 능력을 평가하는 $M^2RAG$ 벤치마크를 제안합니다. 이 벤치마크는 이미지 캡셔닝, multi-modal QA 등 네 가지 작업을 포함하며, Multi-Modal Retrieval Augmented Instruction Tuning (MM-RAIT) 방법을 통해 MLLMs의 지식 활용 효과를 높이는 방식을 제시합니다.
핵심 포인트
- $M^2RAG$: MLLMs의 다중 모드 검색 기반 답변 능력을 평가하는 벤치마크.
- 평가 작업: 이미지 캡셔닝, multi-modal QA, 사실 검증, 이미지 재순위 지정 포함.
- MM-RAIT 방법론: MLLMs에 다중 모드 인컨텍스트 학습을 추가하여 지식 활용도를 높임.
- 구현 과정: 특정 패키지 설치 후, 데이터셋 준비 및 단계별 검색/추론 스크립트 실행 필요.
저희 논문의 소스 코드: Multi-Modal Context에서의 Retrieval-Augmented Generation 벤치마킹
아래 링크를 클릭하여 저희 논문과 데이터셋을 확인하세요.
이 작업이 유용했다면, 저희 논문을 인용해 주시고 별점 🌟을 부탁드립니다.
@misc{liu2025benchmarkingretrievalaugmentedgenerationmultimodal,
title={Benchmarking Retrieval-Augmented Generation in Multi-Modal Contexts},
author={Zhenghao Liu and Xingsheng Zhu and Tianshuo Zhou and Xinyi Zhang and Xiaoyuan Yi and Yukun Yan and Ge Yu and Maosong Sun},
...
$M^2RAG$ 벤치마크는 Multi-modal Large Language Models (MLLMs)이 multi-modal 검색 문서를 사용하여 질문에 답하는 방식을 평가합니다. 이 벤치마크에는 이미지 캡셔닝, multi-modal QA, 사실 검증, 이미지 재순위 지정(image reranking)의 네 가지 작업이 포함되어 있으며, MLLMs가 multi-modal 컨텍스트로부터 지식을 활용하는 능력을 평가합니다.
Multi-Modal Retrieval Augmented Instruction Tuning (MM-RAIT) 방법은 MLLMs를 multi-modal in-context learning에 추가로 적응시켜, 이러한 검색 문서에서 지식을 활용하는 효과를 높입니다.
🌵 1. 이 환경에서 Pip 또는 Conda를 사용하여 다음 패키지를 설치하세요
Python==3.10
Pytorch
transformers==4.44.2 (finetune qwen2-vl의 경우 4.46.1)
...
사용된 모든 패키지의 버전 파일인 requirements.txt를 제공합니다. 환경 설정에 문제가 있는 경우, 이 문서를 참고해 주세요.
🌵 2. 사전 학습 모델 준비: MiniCPM-V 2.6, Qwen2-VL, 그리고 VISTA
MM-RAIT는 MiniCPM-V 2.6 및 Qwen2-VL 모델을 기반으로 구축되었습니다. VISTA는 검색 multi-modal 문서를 위해 사용됩니다.
- 먼저,
git clone을 사용하여 이 프로젝트를 다운로드하세요:
git clone https://github.com/NEUIR/M2RAG
cd M2RAG
- 다음으로, M2RAG를 직접 다운로드하여 사용하거나, 'data/data_preprocess'의 지침을 따라 단계별로 구축할 수 있습니다. 다운로드한 데이터셋은 data 폴더에 배치해 주세요.
(❗️주의:imgs.tsv의 경우, 이 링크에서 데이터를 다운로드하고7z x imgs.7z.001을 실행해야 합니다.)
data/
└──m2rag/
├──fact_verify/
...
데이터셋과 기본(vanilla) 모델이 준비되면, 아래 지침에 따라 저희의 제로샷(zero-shot) 결과를 재현할 수 있습니다.
- 1단계: 테스트 세트와 멀티모달 코퍼스에서 각 태스크별 질의(queries)를 인코딩합니다.
cd script
bash get_embed_test.sh
- 2단계: 각 질의에 대해 가장 관련성이 높은 상위 N개의 멀티모달 문서를 검색(retrieve)합니다.
bash retrieval_test.sh
- 3단계: 검색된 문서를 사용하여 기본 RAG 추론을 수행합니다.
bash inference_cpmv.sh 또는 bash inference_qwen.sh
Image Reranking 태스크의 경우, 다음을 사용해 주십시오:
bash compute_ppl_minicpmv.sh 또는 bash compute_ppl_qwen2vl.sh
MiniCPM-V 2.6 모델을 예시로 사용하여 본 논문의 결과를 재현하는 방법을 보여드리겠습니다. Qwen2-VL도 동일합니다. 또한, 파인튜닝된 체크포인트(fine-tuned checkpoints)도 제공합니다. 이 단계는 건너뛰고 바로 추론으로 진행할 수 있습니다.
- 첫 번째 단계: 학습 데이터를 준비합니다.
bash get_embed_train.sh
bash retrieval_train.sh
cd ../data/
...
- 두 번째 단계: LoRA를 사용하여 MiniCPM-V 모델을 파인튜닝합니다.
cd ../script
bash finetune_cpmv.sh
- 최종 단계: 파인튜닝된 모델을 추론에 사용합니다.
bash inference_cpmv.sh
Image Reranking 태스크의 경우, 다음을 사용해 주십시오:
bash compute_ppl_minicpmv.sh
src/evaluation 폴더로 이동하여 모델 성능을 다음과 같이 평가합니다:
- Image Captioning 및 Multi-modal QA 태스크의 경우, 다음을 사용하십시오:
python generation.py --reference_file path_to_reference_data --candidate_file path_to_generation_data
- Multi-Modal Factify Verification 태스크의 경우, 다음을 사용하십시오:
python evaluation/classification.py --true_file path_to_reference_data --pred_file path_to_generation_data
- Image Reranking 태스크의 경우, 다음을 사용하십시오:
python -m pytorch_fid path/to/reference_images path/to/rerank_images
질문, 제안 및 버그 보고가 있으시면 아래 이메일로 연락 주십시오:
zhuxingsheng@stumail.neu.edu.cn zhoutianshuo@stumail.neu.edu.cn }
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기