Model Details of colbertv1-camembert-base-mmarcoFR
colbertv1-camembert-base-mmarcoFR
This is a
ColBERTv1
model for
French
that can be used for semantic search. It encodes queries and passages into matrices
of token-level embeddings and efficiently finds passages that contextually match the query using scalable vector-similarity (MaxSim) operators.
First, you will need to install the following libraries:
pip install -U ragatouille
Then, you can use the model like this:
from ragatouille import RAGPretrainedModel
index_name: str = "my_index"# The name of your index, i.e. the name of your vector database
documents: list = ["Ceci est un premier document.", "Voici un second document.", "etc."] # Corpus# Step 1: Indexing.
RAG = RAGPretrainedModel.from_pretrained("antoinelouis/colbertv1-camembert-base-mmarcoFR")
RAG.index(name=index_name, collection=documents)
# Step 2: Searching.
RAG = RAGPretrainedModel.from_index(index_name) # if not already loaded
RAG.search(query="Comment effectuer une recherche avec ColBERT ?", k=10)
Using ColBERT-AI
First, you will need to install the following libraries:
from colbert import Indexer, Searcher
from colbert.infra import Run, RunConfig
n_gpu: int = 1# Set your number of available GPUs
experiment: str = "colbert"# Name of the folder where the logs and created indices will be stored
index_name: str = "my_index"# The name of your index, i.e. the name of your vector database
documents: list = ["Ceci est un premier document.", "Voici un second document.", "etc."] # Corpus# Step 1: Indexing. This step encodes all passages into matrices, stores them on disk, and builds data structures for efficient search.with Run().context(RunConfig(nranks=n_gpu,experiment=experiment)):
indexer = Indexer(checkpoint="antoinelouis/colbertv1-camembert-base-mmarcoFR")
indexer.index(name=index_name, collection=documents)
# Step 2: Searching. Given the model and index, you can issue queries over the collection to retrieve the top-k passages for each query.with Run().context(RunConfig(nranks=n_gpu,experiment=experiment)):
searcher = Searcher(index=index_name) # You don't need to specify checkpoint again, the model name is stored in the index.
results = searcher.search(query="Comment effectuer une recherche avec ColBERT ?", k=10)
# results: tuple of tuples of length k containing ((passage_id, passage_rank, passage_score), ...)
Evaluation
The model is evaluated on the smaller development set of
mMARCO-fr
, which consists of 6,980 queries for a corpus of
8.8M candidate passages. We report the mean reciprocal rank (MRR), normalized discounted cumulative gainand (NDCG), mean average precision (MAP), and recall at various cut-offs (R@k).
Below, we compare its performance with other publicly available French ColBERT models fine-tuned on the same dataset. To see how it compares to other neural retrievers in French,
check out the
DécouvrIR
leaderboard.
NB: Index corresponds to the size of the mMARCO-fr index (8.8M passages) on disk when using ColBERTv2's residual compression mechanism.
Training
Data
We use the French training set from the
mMARCO
dataset,
a multilingual machine-translated version of MS MARCO that contains 8.8M passages and 539K training queries.
We sample 12.8M (q, p+, p-) triples from the official ~39.8M
training triples
.
Implementation
The model is initialized from the
camembert-base
checkpoint and optimized via a combination of the pairwise softmax
cross-entropy loss computed over predicted scores for the positive and hard negative passages (as in
ColBERTv1
)
and the in-batch sampled softmax cross-entropy loss (as in
ColBERTv2
). It was trained on a single Tesla V100 GPU
with 32GBs of memory during 200k steps using a batch size of 64 and the AdamW optimizer with a constant learning rate of 3e-06. The embedding dimension was set
to 128, and the maximum sequence lengths for questions and passages length were fixed to 32 and 256 tokens, respectively.
Citation
@online{louis2024decouvrir,
author = 'Antoine Louis',
title = 'DécouvrIR: A Benchmark for Evaluating the Robustness of Information Retrieval Models in French',
publisher = 'Hugging Face',
month = 'mar',
year = '2024',
url = 'https://huggingface.co/spaces/antoinelouis/decouvrir',
}
Runs of antoinelouis colbertv1-camembert-base-mmarcoFR on huggingface.co
56
Total runs
0
24-hour runs
-3
3-day runs
13
7-day runs
13
30-day runs
More Information About colbertv1-camembert-base-mmarcoFR huggingface.co Model
More colbertv1-camembert-base-mmarcoFR license Visit here:
colbertv1-camembert-base-mmarcoFR huggingface.co is an AI model on huggingface.co that provides colbertv1-camembert-base-mmarcoFR's model effect (), which can be used instantly with this antoinelouis colbertv1-camembert-base-mmarcoFR model. huggingface.co supports a free trial of the colbertv1-camembert-base-mmarcoFR model, and also provides paid use of the colbertv1-camembert-base-mmarcoFR. Support call colbertv1-camembert-base-mmarcoFR model through api, including Node.js, Python, http.
colbertv1-camembert-base-mmarcoFR huggingface.co is an online trial and call api platform, which integrates colbertv1-camembert-base-mmarcoFR's modeling effects, including api services, and provides a free online trial of colbertv1-camembert-base-mmarcoFR, you can try colbertv1-camembert-base-mmarcoFR online for free by clicking the link below.
antoinelouis colbertv1-camembert-base-mmarcoFR online free url in huggingface.co:
colbertv1-camembert-base-mmarcoFR is an open source model from GitHub that offers a free installation service, and any user can find colbertv1-camembert-base-mmarcoFR on GitHub to install. At the same time, huggingface.co provides the effect of colbertv1-camembert-base-mmarcoFR install, users can directly use colbertv1-camembert-base-mmarcoFR installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
colbertv1-camembert-base-mmarcoFR install url in huggingface.co: