Dieses Repository enthält den Bewertungscode für polnische Informationsabrufbenchmark (PIRB). Der Benchmark deckt 41 polnische Multidomäneninformationsaufgaben ab. Ziel ist es, polnische und mehrsprachige Informations-Abrufmethoden auf einer Vielzahl von Problemen mit unterschiedlichen Merkmalen zu bewerten, wodurch die Verallgemeinerungsfähigkeit der Modelle und deren Null-Shot-Leistung getestet wird. Es enthält bereits bestehende Datensätze wie Maupqa, Beir-PL und Poleval-2022. Wir haben auch neue, bisher unveröffentlichte Datensätze hinzugefügt. Die Gruppe "Webdatensätze" enthält echte Fragen und Antworten aus polnischen Webdiensten.
Verwenden Sie run_benchmark.py
-Skript, um ein Modell oder eine Liste von Modellen auf PIRB zu bewerten. Der einzige erforderliche Parameter für das Skript ist --models_config
, der auf eine JSON -Datei mit einer Konfiguration der Modelle verweisen sollte. Das Repository unterstützt viele Text-Abrufmethoden, darunter spärliche und dichte Retriever, hybride Abruf sowie zweistufige Abrufpipelines, die Retriever- und Reranker-Modelle kombinieren. Die Konfigurationsdatei sollte ein JSON -Array sein, in dem jedes Element eine zu bewertende Methode definiert. Im Folgenden finden Sie beispielsweise die einfachste Konfiguration, die eine BM25 -Grundlinie definiert:
[{ "name" : " bm25 " }]
Dichte Encoder basierend auf Satztransformatorenbibliothek können auf folgende Weise definiert werden:
[
{
"name" : " sdadas/mmlw-e5-base " ,
"fp16" : true ,
"q_prefix" : " query: " ,
"p_prefix" : " passage: "
}
]
Das name
sollte sich auf einen lokalen Pfad oder Pfad auf dem Hub der Umarmung verweisen. Andere Attribute sind optional und ermöglichen es, das Verhalten des Modells zu steuern. Methoden, die mehrere Modelle kombinieren, erfordern eine komplexere Konfiguration. Nachfolgend finden Sie das Beispiel eines zweistufigen Abrufsystems mit dichter Retriever und T5-basierter Reranker:
[
{
"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: "
}
]
}
]
Weitere Beispiele für Methodendefinitionen finden Sie im config
in diesem Repository.
Die meisten der in der Bewertung verwendeten Daten sind öffentlich verfügbar. Die Datensätze werden beim ersten Lauf des Skripts run_benchmark.py
automatisch heruntergeladen. Die einzige Ausnahme sind die Korpora aus der Gruppe "Web -Datensätze". Wenn Sie darauf zugreifen möchten, senden Sie bitte eine Anfrage an SDADAS unter Opi.org.pl, in der Sie Ihre beabsichtigte Verwendung der Datensätze beschreiben. Bitte beachten Sie, dass die Datensätze nur für Forschungszwecke verwendet werden können, und wir fordern, sie nach dem Erhalt des Zugriffs nicht neu zu verteilen.
Wenn Sie ein Modell haben, das noch nicht in das Ranking aufgenommen wurde, öffnen Sie ein neues Problem unter https://huggingface.co/spaces/sdadas/pirb/discussions mit einer Beschreibung Ihres Modells. Wir werden versuchen, es zu bewerten und der Rangliste hinzuzufügen. In der Beschreibung können Sie eine JSON -Konfiguration für das Modell in das PIRB -Format oder ein kurzes Codefragment aufnehmen, das die Verwendung des Modells veranschaulicht. In der offiziellen Bewertung betrachten wir nur Modelle, die:
1. sind öffentlich verfügbar
2. wurden nicht in den in PIRB enthaltenen Datenquellen geschult. Für Datensätze, die in Zug-, Eval- und Testteile aufgeteilt sind, ist die Verwendung des Trainingsaufschlags akzeptabel.