
{"id":8291,"date":"2025-03-19T17:25:43","date_gmt":"2025-03-19T16:25:43","guid":{"rendered":"https:\/\/www.leviatan.io\/blog\/?p=8291"},"modified":"2025-03-19T17:26:13","modified_gmt":"2025-03-19T16:26:13","slug":"vers-un-rag-souverain-en-francais-leviatan-publie-un-reranker-leger-en-open-source","status":"publish","type":"post","link":"https:\/\/www.leviatan.io\/blog\/vers-un-rag-souverain-en-francais-leviatan-publie-un-reranker-leger-en-open-source\/","title":{"rendered":"Vers un RAG souverain en fran\u00e7ais : Leviatan publie un Reranker l\u00e9ger en open-source"},"content":{"rendered":"\n<p>Cet article constitue une version synth\u00e9tique et simplifi\u00e9e de notre \u00e9tude scientifique compl\u00e8te. Pour une pr\u00e9sentation d\u00e9taill\u00e9e de nos travaux, incluant toutes les exp\u00e9rimentations, analyses approfondies et r\u00e9sultats complets, nous vous mettrons notre article scientifique \u00e0 disposition en acc\u00e8s libre d\u00e8s sa publication.<\/p>\n\n\n\n<h2>Introduction \u00e0 la g\u00e9n\u00e9ration augment\u00e9e de r\u00e9cup\u00e9ration (RAG)<\/h2>\n\n\n\n<p>La g\u00e9n\u00e9ration augment\u00e9e de r\u00e9cup\u00e9ration (Retrieval-Augmented Generation, ou RAG) est une technique avanc\u00e9e qui combine la puissance des mod\u00e8les g\u00e9n\u00e9ratifs comme GPT [1], Llama [2], et d&rsquo;autres, avec un syst\u00e8me de recherche documentaire externe. Contrairement aux mod\u00e8les traditionnels qui s&rsquo;appuient uniquement sur leur m\u00e9moire interne, le RAG consulte g\u00e9n\u00e9ralement une base de connaissance documentaire pour produire des r\u00e9ponses pr\u00e9cises, fiables et actualis\u00e9es. Cela permet notamment de r\u00e9duire le ph\u00e9nom\u00e8ne d\u2019hallucination (informations invent\u00e9es ou erron\u00e9es), tout en assurant une meilleure tra\u00e7abilit\u00e9 et la possibilit\u00e9 d\u2019int\u00e9grer rapidement de nouvelles connaissances sans r\u00e9-entra\u00eener le mod\u00e8le.<\/p>\n\n\n\n<h2>Composition et fonctionnement des syst\u00e8mes RAG<\/h2>\n\n\n\n<p>Un syst\u00e8me RAG est constitu\u00e9 principalement de deux modules : un <strong>Retriever<\/strong> (module de r\u00e9cup\u00e9ration) et un <strong>G\u00e9n\u00e9rateur<\/strong>. Le Retriever s\u00e9lectionne les documents ou passages pertinents issus d\u2019une base de connaissances externe en r\u00e9ponse \u00e0 une requ\u00eate utilisateur. Ce module exploite typiquement la recherche s\u00e9mantique vectorielle, o\u00f9 questions et documents sont repr\u00e9sent\u00e9s sous forme de vecteurs afin d\u2019\u00e9valuer leur proximit\u00e9 s\u00e9mantique [3][4]. Les documents ainsi s\u00e9lectionn\u00e9s sont ensuite transmis au G\u00e9n\u00e9rateur (un grand mod\u00e8le de langage comme GPT ou Llama par exemple), qui produit une r\u00e9ponse finale enrichie et mieux document\u00e9e.<\/p>\n\n\n\n<h2>Avantages cl\u00e9s de RAG<\/h2>\n\n\n\n<p>Parmi les avantages majeurs du syst\u00e8me RAG, on note principalement l\u2019am\u00e9lioration notable de la pr\u00e9cision et de la fiabilit\u00e9 des r\u00e9ponses fournies par les mod\u00e8les g\u00e9n\u00e9ratifs, gr\u00e2ce \u00e0 la consultation directe de documents sources v\u00e9rifiables. De plus, cette approche permet de s\u00e9parer la gestion des connaissances du mod\u00e8le lui-m\u00eame, facilitant ainsi la mise \u00e0 jour rapide des informations sans n\u00e9cessit\u00e9 d\u2019un nouvel entra\u00eenement co\u00fbteux. Enfin, la tra\u00e7abilit\u00e9 accrue des informations am\u00e9liore la confiance des utilisateurs dans les r\u00e9ponses fournies.<\/p>\n\n\n\n<h2>Limites du Retriever et l&rsquo;importance du Reranker&nbsp;<\/h2>\n\n\n\n<p>Dans les syst\u00e8mes RAG, le <strong>Retriever<\/strong> s&rsquo;appuie g\u00e9n\u00e9ralement sur une approche appel\u00e9e <strong>bi-encoder <\/strong>[4], consistant \u00e0 transformer s\u00e9par\u00e9ment la requ\u00eate de l&rsquo;utilisateur et les documents en repr\u00e9sentations vectorielles ind\u00e9pendantes, avant de mesurer leur proximit\u00e9 s\u00e9mantique. Malgr\u00e9 son efficacit\u00e9, cette m\u00e9thode pr\u00e9sente des limites : elle est sensible aux biais et peine souvent \u00e0 capturer finement certaines nuances contextuelles, notamment lors de requ\u00eates complexes ou ambigu\u00ebs [5].<\/p>\n\n\n\n<p>En pratique, pour compenser ces limites, le Retriever tend \u00e0 s\u00e9lectionner un grand nombre de documents candidats, ce qui entra\u00eene une augmentation significative des ressources computationnelles n\u00e9cessaires, mais aussi un risque de d\u00e9gradation de la qualit\u00e9 des r\u00e9ponses finales. Pour r\u00e9soudre ce probl\u00e8me, un troisi\u00e8me composant, appel\u00e9 <strong>Reranker<\/strong>, est introduit pour affiner la s\u00e9lection initiale et classer les documents par ordre de pertinence. Ce processus en deux \u00e9tapes est illustr\u00e9 dans la figure 1 (\u00ab Syst\u00e8me de r\u00e9cup\u00e9ration en deux \u00e9tapes \u00bb).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\" style=\"display:block; margin-left:auto; margin-right:auto; text-align:center;\"><img loading=\"lazy\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/www.leviatan.io\/blog\/wp-content\/uploads\/2025\/03\/Untitled-5.png\" alt=\"\" class=\"wp-image-8292 lazyload\" width=\"496\" height=\"315\" data-sizes=\"auto\" data-srcset=\"https:\/\/www.leviatan.io\/blog\/wp-content\/uploads\/2025\/03\/Untitled-5.png 760w, https:\/\/www.leviatan.io\/blog\/wp-content\/uploads\/2025\/03\/Untitled-5-300x191.png 300w, https:\/\/www.leviatan.io\/blog\/wp-content\/uploads\/2025\/03\/Untitled-5-20x14.png 20w\" data-sizes=\"(max-width: 496px) 100vw, 496px\" \/><figcaption>Figure 1 &#8211; Syst\u00e8me de r\u00e9cup\u00e9ration en deux \u00e9tapes [6]<\/figcaption><\/figure>\n\n\n\n<p>Parmi les techniques de reranking, deux grandes approches sont principalement utilis\u00e9es. Le <strong>cross-encoder<\/strong> [7] encode simultan\u00e9ment la requ\u00eate et le document, ce qui permet une analyse plus approfondie des interactions s\u00e9mantiques entre les textes, mais entra\u00eene un co\u00fbt de calcul relativement \u00e9lev\u00e9 (voir figure \u00ab Structure de bi-encoder et de cross-encoder \u00bb).&nbsp;<\/p>\n\n\n\n<p>Alternativement, le <strong>reranker g\u00e9n\u00e9ratif<\/strong> utilise des mod\u00e8les g\u00e9n\u00e9ratifs comme GPT ou T5 [8] pour directement produire des scores de pertinence. Bien que flexible, cette m\u00e9thode n\u00e9cessite des ressources computationnelles consid\u00e9rables.<\/p>\n\n\n\n<p>Dans notre \u00e9tude, nous avons choisi de nous concentrer sur l&rsquo;approche cross-encoder, largement adopt\u00e9e pour son efficacit\u00e9 et sa pr\u00e9cision. Notre objectif est de d\u00e9velopper un reranker multilingue, l\u00e9ger, facile \u00e0 d\u00e9ployer et enti\u00e8rement open source. Nos exp\u00e9riences pr\u00e9liminaires, r\u00e9alis\u00e9es sur un ensemble de donn\u00e9es en fran\u00e7ais, d\u00e9montrent d\u00e9j\u00e0 la faisabilit\u00e9 et l\u2019int\u00e9r\u00eat concret de cette approche.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\" style=\"display:block; margin-left:auto; margin-right:auto; text-align:center;\"><img src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/www.leviatan.io\/blog\/wp-content\/uploads\/2025\/03\/bi_cross_encoder_structure.png\" alt=\"\" class=\"wp-image-8293 lazyload\" width=\"400\" data-sizes=\"auto\" data-srcset=\"https:\/\/www.leviatan.io\/blog\/wp-content\/uploads\/2025\/03\/bi_cross_encoder_structure.png 648w, https:\/\/www.leviatan.io\/blog\/wp-content\/uploads\/2025\/03\/bi_cross_encoder_structure-300x224.png 300w, https:\/\/www.leviatan.io\/blog\/wp-content\/uploads\/2025\/03\/bi_cross_encoder_structure-20x15.png 20w\" data-sizes=\"(max-width: 648px) 100vw, 648px\" \/><figcaption>Figure 2 \u2013 Structure de bi-encoder et de cross-encoder [4]&nbsp;<\/figcaption><\/figure>\n\n\n\n<h2>Exp\u00e9rimentations et r\u00e9sultats<\/h2>\n\n\n\n<p>Pour entra\u00eener et \u00e9valuer notre reranker, nous avons constitu\u00e9 un jeu de donn\u00e9es sp\u00e9cifique combinant deux types de sources : d\u2019une part, le <strong>STS Benchmark multilingue (STS-B) <\/strong>[9], sp\u00e9cialis\u00e9 dans l&rsquo;\u00e9valuation de la similarit\u00e9 s\u00e9mantique entre paires de phrases ; d&rsquo;autre part, plusieurs jeux de donn\u00e9es en fran\u00e7ais d\u00e9di\u00e9s aux <strong>questions-r\u00e9ponses<\/strong> (PIAF [10], FQuAD [11], SQuAD-French [12], et pandora-rag-fr [13]). Cette diversit\u00e9 permet \u00e0 notre mod\u00e8le d&rsquo;apprendre \u00e0 g\u00e9rer diff\u00e9rents styles linguistiques et th\u00e9matiques, renfor\u00e7ant ainsi sa robustesse.<\/p>\n\n\n\n<p>Lors de nos exp\u00e9rimentations de fine-tuning, nous avons test\u00e9 diff\u00e9rentes configurations en variant \u00e0 la fois les mod\u00e8les utilis\u00e9s (principalement BERT [14] et DistilRoBERTa [15]) et la composition des jeux de donn\u00e9es d&rsquo;entra\u00eenement. Nous pr\u00e9sentons deux configurations particuli\u00e8rement r\u00e9ussies :<\/p>\n\n\n\n<ul><li>La premi\u00e8re configuration consiste \u00e0 fine-tuner le mod\u00e8le <strong>BERT de Google<\/strong> uniquement sur les donn\u00e9es du STS Benchmark en fran\u00e7ais (stsb-fr).<\/li><li>La seconde configuration utilise le mod\u00e8le DistilRoBERTa-base, entra\u00een\u00e9 sur une combinaison \u00e9tendue de donn\u00e9es : STS Benchmark (stsb-fr) associ\u00e9 aux corpus de questions-r\u00e9ponses (PIAF, FQuAD, SQuAD-French, pandora-rag-fr).<\/li><\/ul>\n\n\n\n<p>Ces exp\u00e9rimentations visent \u00e0 illustrer l&rsquo;importance du choix des donn\u00e9es utilis\u00e9es lors du fine-tuning, ainsi que l&rsquo;impact de leur diversit\u00e9 sur les performances globales du mod\u00e8le.<\/p>\n\n\n\n<p>Pour chaque exp\u00e9rience, les mod\u00e8les ont \u00e9t\u00e9 \u00e9valu\u00e9s sur plusieurs ensembles de donn\u00e9es, \u00e0 savoir :<\/p>\n\n\n\n<p>1. Les ensembles de d\u00e9veloppement et de test du STS Benchmark en fran\u00e7ais (STS-B Dev et STS-B Test). Voir la Table 1.&nbsp;<\/p>\n\n\n\n<style>\n.wp-block-table table {\n  border-collapse: collapse;\n  width: 100%;\n  margin-bottom: 1rem;\n  font-size: 13px;\n}\n\n.wp-block-table th,\n.wp-block-table td {\n  border: 1px solid currentColor;\n  padding: 8px;\n  text-align: center;\n  line-height: inherit;\n}\n\n.wp-block-table table tbody tr.no-bg td {\n  background-color: transparent !important;\n}\n\n.wp-block-table figcaption {\n  text-align: center;\n  margin-top: 8px;\n  color: inherit;\n  font-size: 13px;\n}\n<\/style>\n\n<figure class=\"wp-block-table\">\n  <table>\n    <tbody>\n      <tr>\n        <td>Exp\u00e9rience<\/td>\n        <td colspan=\"2\">STS-B Dev<\/td>\n        <td colspan=\"2\">STS-B Test<\/td>\n      <\/tr>\n      <tr>\n        <td><\/td>\n        <td>Pearson<\/td>\n        <td>Spearman<\/td>\n        <td>Pearson<\/td>\n        <td>Spearman<\/td>\n      <\/tr>\n      <tr class=\"no-bg\"> \n        <td>BERT + stsb<\/td>\n        <td>0.8722<\/td>\n        <td>0.8692<\/td>\n        <td>0.8362<\/td>\n        <td>0.8245<\/td>\n      <\/tr>\n      <tr>\n        <td>DistilRoBERTa + stsb + qa dataset<\/td>\n        <td>0.9219<\/td>\n        <td>0.9187<\/td>\n        <td>0.7565<\/td>\n        <td>0.7460<\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n  <figcaption>Table 1 \u2013 R\u00e9sultats des diff\u00e9rentes configurations sur le jeu de donn\u00e9es STS Benchmark via la corr\u00e9lation<\/figcaption>\n<\/figure>\n\n\n\n<p>2. Trois jeux de donn\u00e9es internes \u00e9labor\u00e9s \u00e0 partir de donn\u00e9es pr\u00e9trait\u00e9es provenant de PIAF, FQuAD, SQuAD-French, pandora-rag-fr et stsb-fr :&nbsp;<\/p>\n\n\n\n<ul><li>Un premier jeu int\u00e9grant l\u2019ensemble des sources (PIAF, FQuAD, SQuAD-French, pandora-rag-fr et stsb-fr), \u00e9valu\u00e9 via la corr\u00e9lation (Table 2).&nbsp;<\/li><li>Un second jeu constitu\u00e9 de PIAF, FQuAD et SQuAD-French, \u00e9valu\u00e9 \u00e0 l\u2019aide d\u2019indicateurs de classification binaire (Table 3).<\/li><li>Un troisi\u00e8me jeu rassemblant PIAF, FQuAD, SQuAD-French et pandora-rag-fr, \u00e9galement \u00e9valu\u00e9 \u00e0 l\u2019aide d\u2019indicateurs de classification binaire (Table 3).<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-table\">\n  <table>\n    <tbody>\n      <tr>\n        <td>Exp\u00e9rience<\/td>\n        <td>Pearson<\/td>\n        <td>Spearman<\/td>\n      <\/tr>\n      <tr>\n        <td>BERT + stsb<\/td>\n        <td>0.7741<\/td>\n        <td>0.7608<\/td>\n      <\/tr>\n      <tr class=\"no-bg\"> \n        <td>DistilRoBERTa + stsb + qa dataset<\/td>\n        <td>0.9522<\/td>\n        <td>0.8966<\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n  <figcaption>Table 2 \u2013 R\u00e9sultats sur l\u2019ensemble combin\u00e9 des donn\u00e9es PIAF, FQuAD, SQuAD-French, pandora-rag-fr et stsb-fr<\/figcaption>\n<\/figure>\n\n\n\n<figure class=\"wp-block-table\">\n  <table>\n    <tbody>\n      <tr>\n        <td rowspan=\"2\">Exp\u00e9rience<\/td>\n        <td colspan=\"5\">Dataset : PIAF, FQuAD et SQuAD-Fr<\/td>\n      <\/tr>\n      <tr>\n        <td>Acc.<\/td>\n        <td>F1<\/td>\n        <td>Prec.<\/td>\n        <td>Rec.<\/td>\n        <td>Avg. Prec.<\/td>\n      <\/tr>\n      <tr class=\"no-bg\"> \n        <td>DistilRoBERTa + stsb + qa dataset<\/td>\n        <td>0.9753<\/td>\n        <td>0.9754<\/td>\n        <td>0.9720<\/td>\n        <td>0.9788<\/td>\n        <td>0.9954<\/td>\n      <\/tr>\n      <tr>\n        <td>BERT + stsb<\/td>\n        <td>0.9527<\/td>\n        <td>0.9529<\/td>\n        <td>0.9603<\/td>\n        <td>0.9889<\/td>\n      <\/tr>\n      <tr>\n        <td rowspan=\"2\">Exp\u00e9rience<\/td>\n        <td colspan=\"5\">Dataset : PIAF, FQuAD, SQuAD-Fr et pandora-rag-fr\n\n<\/td>\n      <\/tr>\n      <tr>\n        <td>Acc.<\/td>\n        <td>F1<\/td>\n        <td>Prec.<\/td>\n        <td>Rec.<\/td>\n        <td>Avg. Prec.<\/td>\n      <\/tr>\n      <tr class=\"no-bg\"> \n        <td>DistilRoBERTa + stsb + qa dataset<\/td>\n        <td>0.9767<\/td>\n        <td>0.9767<\/td>\n        <td>0.9791<\/td>\n        <td>0.9743<\/td>\n        <td>0.9952<\/td>\n      <\/tr>\n      <tr>\n        <td>BERT + stsb<\/td>\n        <td>0.9468<\/td>\n        <td>0.9472<\/td>\n        <td>0.9410<\/td>\n        <td>0.9534<\/td>\n        <td>0.9858<\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n  <figcaption>Table 3 \u2013 R\u00e9sultats sur les jeux de donn\u00e9es de questions- r\u00e9ponses (Exp. : Exp\u00e9rience, Acc. : Accuracy (exactitude), F1 : F1 score, Prec : Precision, Rec. : Recall, Avg. Prec. : Average Precision)<\/figcaption>\n<\/figure>\n\n\n\n<p>Tous nos processus de fine-tuning ont \u00e9t\u00e9 r\u00e9alis\u00e9s sur une carte GPU T4 et reposent exclusivement sur l\u2019ensemble d\u2019entra\u00eenement. Il est toutefois important de souligner que, contrairement \u00e0 ces processus, les \u00e9tapes d\u2019inf\u00e9rence et de benchmark, d\u00e9taill\u00e9es par la suite, ont \u00e9t\u00e9 effectu\u00e9es sur CPU.<\/p>\n\n\n\n<h2>Benchmarks du mod\u00e8le Leviatan, du reranker Cohere, et du Reranker open source<\/h2>\n\n\n\n<p>Nous avons compar\u00e9 nos mod\u00e8les avec deux rerankers de r\u00e9f\u00e9rence : le mod\u00e8le commercial (Cohere rerank-multilingual-v2.0 [16]) et un mod\u00e8le open source (dangvantuan\/CrossEncoder-camembert-large [17]).<\/p>\n\n\n\n<p>L\u2019\u00e9valuation a \u00e9t\u00e9 r\u00e9alis\u00e9e en utilisant deux ensembles de test distincts, issus respectivement des jeux de donn\u00e9es FQuAD et PIAF. Dans chaque cas, le syst\u00e8me RAG utilise l\u2019ensemble de test comme base documentaire.<\/p>\n\n\n\n<p>Pour ces deux benchmarks, nous avons employ\u00e9 le mod\u00e8le d\u2019embedding intfloat\/multilingual-e5-large de Microsoft [18] en tant que bi-encoder. Le premier filtrage, r\u00e9alis\u00e9 par ce bi-encoder, repose sur une mesure de similarit\u00e9 cosinus qui permet de s\u00e9lectionner les 30 candidats les plus pertinents.<\/p>\n\n\n\n<p>Le benchmark bas\u00e9 sur le jeu de donn\u00e9es FQuAD Test comprend un total de 3 188 questions, tandis que celui reposant sur le jeu de donn\u00e9es PIAF Test en inclut 1151.\u00a0<\/p>\n\n\n\n<p>Les performances ont \u00e9t\u00e9 \u00e9valu\u00e9es en mesurant le pourcentage d\u2019exactitude selon la m\u00e9trique Top-N [19], consid\u00e9r\u00e9e pour trois niveaux de s\u00e9lection : top 5, top 7 et top 10. Les r\u00e9sultats obtenus pour chacun des deux ensembles de test sont pr\u00e9sent\u00e9s dans la Table 4 et la Table 5.<\/p>\n\n\n\n<figure class=\"wp-block-table\">\n  <table>\n    <tbody>\n      <tr>\n        <td>Mod\u00e8le<\/td>\n        <td>Top 5<\/td>\n        <td>Top 7<\/td>\n        <td>Top 10<\/td>\n      <\/tr>\n      <tr>\n        <td><b>Cohere Reranker<\/b><\/td>\n        <td><b>92.50%<\/b><\/td>\n        <td><b>93.48%<\/b><\/td>\n        <td><b>94.26%<\/b><\/td>\n      <\/tr>\n      <tr class=\"no-bg\"> \n        <td>D.V. CrossEncoder<\/td>\n        <td>52.23%<\/td>\n        <td>62.33%<\/td>\n        <td>71.46%<\/td>\n      <\/tr>\n      <tr>\n        <td>Leviatan Reranker #1 &#8211; DistilRoBERTa + stsb + qa dataset<\/td>\n        <td>72.49%<\/td>\n        <td>78.67%<\/td>\n        <td>84.07%<\/td>\n      <\/tr>\n      <tr>\n        <td style=\"background-color: #ffffff;\"><b>Leviatan Reranker #2 &#8211; BERT + stsb<\/b><\/td>\n        <td style=\"background-color: #ffffff;\"><b>84.54%<\/b><\/td>\n        <td style=\"background-color: #ffffff;\"><b>87.92%<\/b><\/td>\n        <td style=\"background-color: #ffffff;\"><b>90.90%<\/b><\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n  <figcaption>Table 4 \u2013 Benchmark r\u00e9alis\u00e9 sur l\u2019ensemble de test de FQuAD (Cohere Reranker : Cohere rerank-multilingual-v2.0, D.V. CrossEncoder : dangvantuan\/CrossEncoder-camembert-large)\n<\/figcaption>\n<\/figure>\n\n\n\n<figure class=\"wp-block-table\">\n  <table>\n    <tbody>\n      <tr>\n        <td>Mod\u00e8le<\/td>\n        <td>Top 5<\/td>\n        <td>Top 7<\/td>\n        <td>Top 10<\/td>\n      <\/tr>\n      <tr>\n        <td><b>Cohere Reranker<\/b><\/td>\n        <td><b>95.57%<\/b><\/td>\n        <td><b>96.35%<\/b><\/td>\n        <td><b>97.22%<\/b><\/td>\n      <\/tr>\n      <tr class=\"no-bg\"> \n        <td>D.V. CrossEncoder<\/td>\n        <td>61.77%<\/td>\n        <td>69.24%<\/td>\n        <td>78.63%<\/td>\n      <\/tr>\n      <tr>\n        <td>Leviatan Reranker #1 &#8211; DistilRoBERTa + stsb + qa dataset<\/td>\n        <td>90.70%<\/td>\n        <td>93.83%<\/td>\n        <td>95.83%<\/td>\n      <\/tr>\n      <tr>\n        <td style=\"background-color: #ffffff;\"><b>Leviatan Reranker #2 &#8211; BERT + stsb<\/b><\/td>\n        <td style=\"background-color: #ffffff;\"><b>94.87%<\/b><\/td>\n        <td style=\"background-color: #ffffff;\"><b>96.00%<\/b><\/td>\n        <td style=\"background-color: #ffffff;\"><b>96.96%<\/b><\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n  <figcaption>Table 5 \u2013 Benchmark r\u00e9alis\u00e9 sur l\u2019ensemble de test de PIAF (Cohere Reranker : Cohere rerank-multilingual-v2.0, D.V. CrossEncoder : dangvantuan\/CrossEncoder-camembert-large)\n<\/figcaption>\n<\/figure>\n\n\n\n<p>Ce benchmark met en \u00e9vidence la comp\u00e9titivit\u00e9 des solutions commerciales par rapport aux approches open source et le mod\u00e8le de <strong>Reranker Leviatan<\/strong>. Tandis que le reranker commercial Cohere offre des performances de tr\u00e8s haut niveau, le mod\u00e8le de <strong>Reranker Leviatan<\/strong>, d\u00e9montre que des configurations optimis\u00e9es peuvent se rapprocher de ces performances. Ces r\u00e9sultats ouvrent la voie \u00e0 des travaux futurs visant \u00e0 affiner davantage nos mod\u00e8les, notamment en explorant des strat\u00e9gies de fine-tuning plus robustes et en int\u00e9grant des jeux de donn\u00e9es compl\u00e9mentaires.<\/p>\n\n\n\n<p>Cependant, nous avons \u00e9galement identifi\u00e9 une limite li\u00e9e \u00e0 notre m\u00e9thode de construction des exemples n\u00e9gatifs dans le dataset. En associant de fa\u00e7on al\u00e9atoire des questions \u00e0 des contextes, nous avons involontairement cr\u00e9\u00e9 des paires trop faciles \u00e0 discriminer, ce qui limite la capacit\u00e9 du mod\u00e8le \u00e0 discerner finement les cas r\u00e9ellement complexes. Dans notre article complet, nous d\u00e9taillons pr\u00e9cis\u00e9ment la m\u00e9thodologie utilis\u00e9e pour construire le jeu de donn\u00e9es, ainsi que l&rsquo;analyse approfondie des erreurs observ\u00e9es.&nbsp;<\/p>\n\n\n\n<p>\u00c0 l&rsquo;avenir, nous envisageons donc d&rsquo;am\u00e9liorer cette m\u00e9thodologie en cr\u00e9ant des exemples n\u00e9gatifs plus subtils, afin d&rsquo;affiner encore davantage les performances de notre mod\u00e8le de Reranker.<\/p>\n\n\n\n<h2><strong>Ressources Open Source<\/strong><\/h2>\n\n\n\n<p>Pour favoriser la transparence et encourager l\u2019utilisation de nos travaux par la communaut\u00e9, nous avons mis \u00e0 disposition tous les scripts et mod\u00e8les utilis\u00e9s dans cette \u00e9tude :<\/p>\n\n\n\n<ul><li>Le <strong>script<\/strong> est accessible via notre d\u00e9p\u00f4t GitHub :<a href=\"https:\/\/github.com\/LeviatanAI\/reranker-cross-encoder\"> https:\/\/github.com\/LeviatanAI\/reranker-cross-encoder <\/a><\/li><li>Les <strong>mod\u00e8les<\/strong> entra\u00een\u00e9s et les<strong> jeux de donn\u00e9es<\/strong> sont disponibles sur Hugging Face :\u00a0 <a href=\"https:\/\/huggingface.co\/LeviatanAIResearch\">https:\/\/huggingface.co\/LeviatanAIResearch<\/a><\/li><li><strong>Papier scientifique<\/strong> : \u00c0 venir.<\/li><\/ul>\n\n\n\n<h2>R\u00e9f\u00e9rences<\/h2>\n\n\n\n<p>[1] OpenAI. Openai platform models. Accessed : 2025-02-21<\/p>\n\n\n\n<p>[2] Meta. Llama 3.2 : Revolutionizing edge ai and vi- sion with open, customizable models, September 2024. Accessed : 2025-02-21.&nbsp;<\/p>\n\n\n\n<p>[3] Vladimir Karpukhin, Barlas Oguz, Sewon Min, Le- dell Wu, Sergey Edunov, Danqi Chen, and Wen-tau Yih. Dense passage retrieval for open-domain question answering. CoRR, abs\/2004.04906, 2020.<\/p>\n\n\n\n<p>[4] Nils Reimers and Iryna Gurevych. Sentence-bert : Sen- tence embeddings using siamese bert-networks. In Proceedings of the 2019 Conference on Empirical Me- thods in Natural Language Processing. Association for Computational Linguistics, 11 2019.<\/p>\n\n\n\n<p>[5] Patrick S. H. Lewis, Ethan Perez, Aleksandra Pik- tus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich K\u00fcttler, Mike Lewis, Wen-tau Yih, Tim Rockt\u00e4schel, Sebastian Riedel, and Douwe Kiela. Retrieval-augmented generation for knowledge- intensive NLP tasks. CoRR, abs\/2005.11401, 2020.<\/p>\n\n\n\n<p>[6] James Briggs. Rerankers and two-stage retrieval. https:\/\/www.pinecone.io\/learn\/seri es\/rag\/rerankers\/. In : Retrieval Augmented Generation,Accessed:2025-03-05.<\/p>\n\n\n\n<p>[7] Rodrigo Nogueira and Kyunghyun Cho. Passage re- ranking with BERT. CoRR, abs\/1901.04085, 2019.<\/p>\n\n\n\n<p>[8] Kai Hui, Tao Chen, Zhen Qin, Honglei Zhuang, Fernando Diaz, Mike Bendersky, and Don Metzler. Re- trieval augmentation for t5 re-ranker using external sources, 2022.<\/p>\n\n\n\n<p>[9] Daniel Cer, Mona Diab, Eneko Agirre, I\u00f1igo LopezGazpio, and Lucia Specia. SemEval-2017 task 1 : Semantic textual similarity multilingual and crosslingual focused evaluation. In Steven Bethard, Marine Carpuat, Marianna Apidianaki, Saif M. Mohammad, Daniel Cer, and David Jurgens, editors, Proceedings of the 11th International Workshop on Semantic Evaluation (SemEval-2017), pages 1\u201314, Vancouver, Canada, August 2017. Association for Computational Linguis- tics.<\/p>\n\n\n\n<p>[10] Rachel Keraron, Guillaume Lancrenon, Mathilde Bras, Fr\u00e9d\u00e9ric Allary, Gilles Moyse, Thomas Scia- lom, Edmundo-Pavel Soriano-Morales, and Jacopo Staiano. Project piaf : Building a native french question-answering dataset, 2020.<\/p>\n\n\n\n<p>[11] d\u2019Hoffschmidt Martin, Vidal Maxime, Belblidia Wa- cim, and Brendl\u00e9 Tom. FQuAD : French Ques-tion Answering Dataset.&nbsp; arXiv e-prints, arXiv:2002.06071, Feb 2020.<\/p>\n\n\n\n<p>[12] Ali Kabbadj. French-squad : French machine reading for question answering. https:\/\/github.com \/Alikabbadj\/French-SQuAD, 2019. Accessed : 2025-03-05.<\/p>\n\n\n\n<p>[13] pandora s. pandora-s \/ neural-bridge-rag-dataset- 12000-google-translated. https:\/\/huggingfac e.co\/datasets\/pandora-s\/neural-bri dge-rag-dataset-12000-google-trans lated, 2024. Accessed : 2025-03-05.<\/p>\n\n\n\n<p>[14] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kris- tina Toutanova. BERT : pre-training of deep bidirec- tional transformers for language understanding. CoRR, abs\/1810.04805, 2018.<\/p>\n\n\n\n<p>[15] Victor Sanh, Lysandre Debut, Julien Chaumond, and Thomas Wolf. Distilbert, a distilled version of bert : smaller, faster, cheaper and lighter. ArXiv, abs\/1910.01108, 2019.<\/p>\n\n\n\n<p>[16] Cohere. Improve search performance with a single line of code. https:\/\/cohere.com\/rerank, 2025. Accessed : 2025-03-05.<\/p>\n\n\n\n<p>[17] Van Tuan DANG. dangvantuan\/crossencoder- camembert-large. https:\/\/huggingface.co \/dangvantuan\/CrossEncoder-camembert-large, 2022. Accessed : 2025-03-05.<\/p>\n\n\n\n<p>[18] Liang Wang,Nan Yang,Xiaolong Huang,Linjun Yang, Rangan Majumder, and Furu Wei. Multilingual e5 text embeddings : A technical report, 2024.<\/p>\n\n\n\n<p>[19] Martin Riva. Top-n accuracy metrics. https:\/\/ww w.baeldung.com\/cs\/top-n-accuracy-m etrics, 2025. Accessed : 2025-03-05.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cet article constitue une version synth\u00e9tique et simplifi\u00e9e de notre \u00e9tude scientifique compl\u00e8te. Pour une pr\u00e9sentation d\u00e9taill\u00e9e de nos travaux, incluant toutes les exp\u00e9rimentations, analyses approfondies et r\u00e9sultats complets, nous vous mettrons notre article scientifique \u00e0 disposition en acc\u00e8s libre d\u00e8s sa publication. Introduction \u00e0 la g\u00e9n\u00e9ration augment\u00e9e de r\u00e9cup\u00e9ration (RAG) La g\u00e9n\u00e9ration augment\u00e9e de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2,3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/posts\/8291"}],"collection":[{"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/comments?post=8291"}],"version-history":[{"count":35,"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/posts\/8291\/revisions"}],"predecessor-version":[{"id":8337,"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/posts\/8291\/revisions\/8337"}],"wp:attachment":[{"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/media?parent=8291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/categories?post=8291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leviatan.io\/blog\/wp-json\/wp\/v2\/tags?post=8291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}