Ce référentiel contient le code d'évaluation pour la récupération d'informations polonaises Benchmark (PIRB). La référence couvre 41 tâches de récupération d'informations multidomaines polonaises. Son objectif est d'évaluer les méthodes de récupération des informations polonaises et multilingues sur un large éventail de problèmes avec différentes caractéristiques, testant ainsi la capacité de généralisation des modèles et leurs performances zéro-shot. Il comprend des ensembles de données préexistants tels que MAUPQA, Beir-PL et Poleval-2022. Nous avons également ajouté de nouveaux ensembles de données non publiés auparavant. Le groupe "Web DataSets" contient de vraies questions et réponses à partir de services Web polonais.
Pour évaluer un modèle ou une liste de modèles sur PIRB, utilisez le script run_benchmark.py
. Le seul paramètre requis pour le script est --models_config
, qui devrait pointer vers un fichier JSON contenant une configuration des modèles. Le référentiel prend en charge de nombreuses méthodes de récupération de texte, notamment des récupérateurs clairsemés et denses, une récupération hybride, ainsi que des pipelines de récupération en deux étapes combinant des modèles Retriever et Reranker. Le fichier de configuration doit être un tableau JSON dans lequel chaque élément définit une méthode à évaluer. Par exemple, ci-dessous est la configuration la plus simple qui définit une base de référence BM25:
[{ "name" : " bm25 " }]
Les encodeurs denses basés sur la bibliothèque des transformateurs de phrase peuvent être définis de la manière suivante:
[
{
"name" : " sdadas/mmlw-e5-base " ,
"fp16" : true ,
"q_prefix" : " query: " ,
"p_prefix" : " passage: "
}
]
L'attribut name
doit se référer à un chemin ou un chemin local sur le hub Huggingface. Les autres attributs sont facultatifs et permettent de contrôler le comportement du modèle. Les méthodes combinant plusieurs modèles nécessitent une configuration plus complexe. Vous trouverez ci-dessous l'exemple du système de récupération en deux étapes avec Retriever dense et Reranker basé sur T5:
[
{
"name" : " plt5-large-msmarco " ,
"type" : " hybrid " ,
"k0" : 100 ,
"strategy" : {
"type" : " reranker " ,
"reranker_name" : " clarin-knext/plt5-large-msmarco " ,
"reranker_type" : " seq2seq " ,
"batch_size" : 32 ,
"max_seq_length" : 512 ,
"template" : " Query: {query} Document: {passage} Relevant: " ,
"yes_token" : " prawda " ,
"no_token" : " fałsz " ,
"bf16" : true
},
"models" : [
{
"name" : " sdadas/mmlw-retrieval-roberta-large " ,
"fp16" : true ,
"q_prefix" : " zapytanie: "
}
]
}
]
Plus d'exemples de définitions de méthodes peuvent être trouvés dans le répertoire config
de ce référentiel.
La plupart des données utilisées dans l'évaluation sont accessibles au public. Les ensembles de données seront automatiquement téléchargés lors de la première exécution du script run_benchmark.py
. La seule exception est les corpus du groupe "WEB DataSets". Si vous souhaitez y accéder, veuillez envoyer une demande à SDADAS à OPI.org.pl, décrivant votre utilisation prévue des ensembles de données. Veuillez noter que les ensembles de données ne peuvent être utilisés qu'à des fins de recherche et nous demandons de ne pas les redistribuer après avoir obtenu l'accès.
Si vous avez un modèle qui n'a pas encore été inclus dans le classement, ouvrez un nouveau problème à https://huggingface.co/spaces/sdadas/pirb/discussions avec une description de votre modèle. Nous essaierons de l'évaluer et de l'ajouter au classement. Dans la description, vous pouvez inclure une configuration JSON pour le modèle au format PIRB ou un fragment de code court illustrant l'utilisation du modèle. Dans l'évaluation officielle, nous ne considérons que des modèles qui:
1. Sont accessibles au public
2. N'ont pas été formés sur les sources de données incluses dans PIRB. Pour les ensembles de données répartis en pièces de train, d'évaluation et de test, l'utilisation de la division de formation est acceptable.