Information Retrieval / 2026

Cross-Lingual Retrieval and Reranking (TP3)

Compared lexical, hybrid, and dense retrieval with multilingual rerankers over 3.19 million documents, placing 4th on the class Kaggle leaderboard and studying ranking-quality versus runtime trade-offs.

BGE-M3FAISS HNSWCross-encoder fine-tuningNDCG@10

For an Information Retrieval course assignment, I built cross-lingual retrieval and reranking pipelines over 3,194,510 documents and placed 4th on the class Kaggle leaderboard. The task required finding relevant passages when queries and documents could be in different languages.

Experiments

I compared ten submitted configurations, starting with BM25 and feature-based LightGBM reranking, then trying multilingual neural rerankers. Hybrid experiments combined BM25 and multilingual-e5 candidates through Reciprocal Rank Fusion. BGE-M3 dense retrieval with a FAISS HNSW index gave a stronger candidate pool than those earlier configurations.

For the highest-scoring pipeline, I fine-tuned BGE-reranker-v2-m3 using hard negatives from dense retrieval, then reranked the top 100 candidates into a top-10 result list.

Quality and runtime

The submitted report records these results. Runtimes refer to the reported test-inference runs, not a controlled serving benchmark.

ConfigurationValidation NDCG@10Public leaderboard NDCG@10Reported test inference
BGE-M3 dense retrieval, top 100.47780.4380735 seconds
BGE-M3 top 100 + fine-tuned BGE reranker0.61530.5633313,524 seconds

Dense-only retrieval offered the faster option. Adding the fine-tuned reranker produced the best reported score, but at a much higher inference cost. The experiments showed how much the initial candidate pool matters: a reranker cannot recover a relevant passage that the retriever never returns.

To work within Kaggle compute and storage limits, I used checkpointed embedding shards, FP16 storage, cached indexes, and reusable Hugging Face artifacts. The 4th-place result refers to the course’s class leaderboard, not a global Kaggle ranking.