3
stars
140
commits
Jupyter Notebook
primary language
Feb 21, 2025
updated
This repository contains the code used to reproduce the training of the vision retrievers with late interaction in the ColPali: Efficient Document Retrieval with Vision Language Models paper. The original code is available Here
Visual Document Retrieval (VDR) is an emerging research area that focuses on encoding and retrieving document images directly, bypassing the dependence on Optical Character Recognition (OCR) for document search. A recent advancement in VDR was introduced by Colpali, which significantly improved retrieval effectiveness through a late interaction mechanism. Colpali's approach demonstrated substantial performance gains over existing baselines that do not use late interaction on an established benchmark. In this study, we investigate the reproducibility and replicability of VDR methods with and without late interaction mechanisms by systematically evaluating their performance across multiple pre-trained vision-language models.
The reproducibility used Python 3.11.6 and PyTorch 2.5 to train and test models. All other environment setup is followed by Colpali's setting, you can find more deatiled information in Here. Don't use 'pip install colpali-engine' directly for this reproducibility, the code has changed a bit from the original.
To install the training package, run:
pip install -e .
To install the inference package, run:
cd vidore-benchmark
pip install -e .
RQ1.1 Can we completely reproduce CoPali and achieve the same effectiveness on visual document retrieval?
RQ1.2 Does CoPali significantly outperform the single-vector variants in terms of the effectiveness?
Results of RQ1.1 and RQ1.2 in Table 1 are the outputs of the experiments run using scripts in bash_RQ1.
Results of RQ2.1 in table 2 are the outputs of the experiments run using scripts in bash_RQ21.
Results of RQ2.2 in figure 2 are the outputs of the experiments run using scripts in bash_RQ22.
Results of RQ3.1 in figure 3 and 4 are the outputs of the experiments run using scripts in bash_RQ31.
Results of RQ3.2 in figure 5, table 3 and 4 are the outputs of the experiments run using scripts in bash_RQ32.
Jupyter Notebook
65.0%
Python
31.8%
Shell
3.2%
3
stars
140
commits
Jupyter Notebook
primary language
Feb 21, 2025
updated
This repository contains the code used to reproduce the training of the vision retrievers with late interaction in the ColPali: Efficient Document Retrieval with Vision Language Models paper. The original code is available Here
Visual Document Retrieval (VDR) is an emerging research area that focuses on encoding and retrieving document images directly, bypassing the dependence on Optical Character Recognition (OCR) for document search. A recent advancement in VDR was introduced by Colpali, which significantly improved retrieval effectiveness through a late interaction mechanism. Colpali's approach demonstrated substantial performance gains over existing baselines that do not use late interaction on an established benchmark. In this study, we investigate the reproducibility and replicability of VDR methods with and without late interaction mechanisms by systematically evaluating their performance across multiple pre-trained vision-language models.
The reproducibility used Python 3.11.6 and PyTorch 2.5 to train and test models. All other environment setup is followed by Colpali's setting, you can find more deatiled information in Here. Don't use 'pip install colpali-engine' directly for this reproducibility, the code has changed a bit from the original.
To install the training package, run:
pip install -e .
To install the inference package, run:
cd vidore-benchmark
pip install -e .
RQ1.1 Can we completely reproduce CoPali and achieve the same effectiveness on visual document retrieval?
RQ1.2 Does CoPali significantly outperform the single-vector variants in terms of the effectiveness?
Results of RQ1.1 and RQ1.2 in Table 1 are the outputs of the experiments run using scripts in bash_RQ1.
Results of RQ2.1 in table 2 are the outputs of the experiments run using scripts in bash_RQ21.
Results of RQ2.2 in figure 2 are the outputs of the experiments run using scripts in bash_RQ22.
Results of RQ3.1 in figure 3 and 4 are the outputs of the experiments run using scripts in bash_RQ31.
Results of RQ3.2 in figure 5, table 3 and 4 are the outputs of the experiments run using scripts in bash_RQ32.
Jupyter Notebook
65.0%
Python
31.8%
Shell
3.2%