Services
Contactez-nous
Aucun résultat trouvé.

Modèles d'intégration open source de référence pour RAG

Ekrem Sarı
Ekrem Sarı
mis à jour le Avr 25, 2026
Consultez notre normes éthiques

Nous avons évalué les performances de 14 modèles d'embeddings open source, hébergés sur un seul serveur H100, à travers plus de 500 requêtes de recherche sélectionnées manuellement, couvrant des contrats juridiques, des notes techniques de support client et des résumés médicaux. Llama-Embed-Nemotron-8B (NVIDIA) offre la meilleure précision. Côté coût, EmbeddingGemma-300m (Google) est environ quatre fois moins cher que Nemotron, au prix d'une légère perte de précision.

Résultats de référence des modèles d'intégration open source

Loading Chart

Explication des indicateurs

nDCG@3 : Gain cumulatif actualisé normalisé au seuil de 3. Avec un document pertinent par requête, sa valeur est de 1 / log2(rang + 1) lorsque le document de référence figure parmi les 3 premiers résultats, et de 0 sinon. Le rang 1 obtient un score de 1,000, le rang 2 de 0,631 et le rang 3 de 0,500. Nous utilisons le nDCG@3 comme métrique principale car les pipelines RAG en production alimentent le LLM avec les 3 à 5 premiers segments, et le biais de primauté confère une importance disproportionnée au rang 1.

nDCG@10 : Même formule avec une limite de 10.

Rappel@10 : Fraction des requêtes où le document de référence apparaît dans les 10 premiers résultats.

MRR@10 : Rang réciproque moyen au seuil de 10. L’or au rang 1 rapporte 1,000, le rang 2 rapporte 0,500 et le rang 10 rapporte 0,100. Objectif similaire à nDCG@3, mais avec une pénalité de rang plus importante.

Résultats initiaux : Proportion de requêtes où le document pertinent est le premier résultat. Il s’agit de la métrique la plus stricte et la plus proche d’un flux de travail de recherche sans LLM.

Résultats nDCG@3 par domaine

Le classement AVG masque les inversions de domaine. Harrier remporte le classement CUAD mais se retrouve septième sur TechQA. SFR-2 est deuxième sur TechQA mais seulement quatrième sur CUAD. KaLM-12B est cinquième sur MedRAG et neuvième sur TechQA. nDCG@3 par domaine :

BM25 est compétitif sur MedRAG (0,7862, surpassant PubMedBERT et le modèle multilingue Granite) et faible sur CUAD (0,5844, où 11 des 14 modèles denses le surpassent). Les contrats juridiques contiennent un langage dense d'entités qui favorise la correspondance lexicale. Sur les résumés médicaux, les meilleurs modèles denses (Nemotron 0,9629, SFR-2 0,9620, jina-v5 0,9523) surpassent BM25 de 0,17 à 0,18 point nDCG@3 en valeur absolue.

Les intervalles de confiance bootstrap à 95 % par cellule (modèle, domaine), y compris une égalité à quatre voies MedRAG en haut et un chevauchement Harrier-Nemotron CUAD que le classement par estimation ponctuelle aplatit, sont rapportés dans la section méthodologie de référence .

Coût par million de jetons

Le coût de l'hébergement autogéré est amorti par le GPU : le tarif horaire divisé par le nombre de jetons traités par heure. Le pod utilisé était un RunPod Community Cloud H100 80 Go SXM5 à 2,99 $/h . Le temps d'exécution réel par modèle pour les 551 requêtes et les 3 corpus (environ 46,2 millions de jetons au total) donne les estimations suivantes pour 1 million de jetons :

La formule :

Coût GPU $/h = 2,99 $ (tarif du pod RunPod H100 80 Go SXM5 utilisé par la communauté). Temps d'exécution (en secondes) : temps d'exécution total de chaque modèle pour les 551 requêtes et les 3 corpus. Nombre total de jetons ≈ 46,22 millions (somme des 3 corpus et des 551 requêtes, heuristique : nombre de caractères ÷ 4).

Exemple de calcul, Nemotron-8B : (2,99 $ / 3600) × (1247,8 × 1 000 000 / 46 220 000) = 0,0224 $ par million de jetons .

Cinq modèles dominent leur catégorie de coût (aucun autre modèle ne coûte moins cher et n'obtient un meilleur score) : Granite-278m-multilingual en bas de l'échelle des coûts, suivi de Granite-small-r2, EmbeddingGemma-300m, jina-v5-text-small et Nemotron-8B en haut de l'échelle de qualité. L'écart est de 13 fois en termes de coût (de 0,0017 $/M à 0,0224 $/M) et de 0,23 en valeur absolue pour le nDCG@3 (de 0,6952 à 0,9249).

Spécialistes du domaine vs généralistes

PubMedBERT, optimisé sur les paires titre-résumé de PubMed, est l'outil idéal pour la recherche de termes médicaux RAG sur PubMed. Son score nDCG@3 est de 0,7084 sur MedRAG, inférieur à la performance de référence lexicale de BM25 (0,7862) sur le même corpus. Les moteurs de recherche généralistes open source modernes le surpassent de 0,22 à 0,25 point en valeur absolue sur son domaine d'entraînement.

La sous-performance du modèle spécialisé s'explique par son ancienneté et sa méthodologie. PubMedBERT est un BERT de 2022, doté de 110 millions de paramètres, d'un pooling moyen symétrique et sans préfixe d'instruction. Les modèles généralistes de 2024 à 2026 reposent sur des architectures plus robustes, des préfixes de requêtes et de documents asymétriques, et des objectifs de recherche optimisés pour les instructions. L'écart architectural est plus important que la correspondance au domaine : un modèle affiné vieux de quatre ans ne peut rivaliser avec un modèle de recherche optimisé pour les instructions de dernière génération, même sur son propre corpus d'entraînement.

La règle d'or pour les acheteurs est de tester un modèle spécialisé par rapport à un modèle généraliste moderne sur des requêtes représentatives avant son déploiement. L'hypothèse selon laquelle « le spécialiste l'emportera sur son domaine » n'est plus valable pour les modèles d'intégration open source en 2026.

Résultats de l'évaluation comparative des systèmes d'intégration open-source

L'avance de Nemotron-8B en matière d'assurance qualité technique est statistiquement distincte de celle du deuxième.

Le score nDCG@3 moyen de Nemotron-8B est de 0,9249. Par domaine, il atteint 0,8602 sur CUAD, 0,9515 sur TechQA et 0,9629 sur MedRAG. Le résultat de TechQA (0,9515 ; 0,923 ; 0,977) ne chevauche pas celui de SFR-Embedding-2_R, deuxième (0,9109 ; 0,869 ; 0,949). Les intervalles de confiance bootstrap sont bien distincts. La base 8B Llama-3.1, optimisée pour la recherche avec un préfixe côté requête « Instruct: …\nQuery: … » et un préfixe symétrique côté document, affiche un score nDCG@3 absolu supérieur de 0,04 à celui de la ligne suivante pour les charges de travail prenant en charge les documents longs.

Les deux domaines où Nemotron l'emporte nettement (TechQA, MedRAG) sont les corpus de documents longs où l'asymétrie des préfixes d'instructions est cruciale. CUAD est le seul domaine où il n'est pas en tête : le corpus Harrier-oss-v1-0.6b (0,8720) de Microsoft surpasse Nemotron (0,8602) pour les contrats juridiques, malgré une taille 13 fois inférieure. Cependant, les intervalles de confiance se chevauchent et la différence n'est pas statistiquement significative pour cet échantillon.

Un modèle Harrier de 0,6B Microsoft surpasse tous les modèles ouverts de moins de 7B paramètres

Harrier-oss-v1-0.6b (publié en avril 2026 avec une base 3-0.6B et une licence MIT) atteint un nDCG@3 moyen de 0,8911 , se classant quatrième. Il surpasse KaLM-Gemma3 (12 octets, 0,8057, licence communautaire), SFR-Embedding-2_R (7 octets, CUAD, 0,8421 contre 0,8720 pour Harrier) et EmbeddingGemma-300m (0,8706). À architecture identique, Harrier-0.6b (0,8911) surpasse de 0,074 nDCG@3 Qwen3-Embedding-0.6B (0,8168), construit sur la même base Qwen3-0.6B. Cet écart est dû au corpus d'entraînement et à la méthode d'apprentissage, et non au nombre de paramètres.

Pour les acheteurs, Harrier est le logiciel libre le mieux classé, fourni avec une licence permettant une utilisation commerciale sans restriction. SFR-2 (CC-BY-NC), Nemotron (NSCL-v1) et jina-v5 (CC-BY-NC) le devancent dans le classement AVG, mais ces trois logiciels sont réservés à la recherche ou non destinés à un usage commercial.

Un spécialiste médical en intégration perd face à BM25

Les plongements lexicaux PubMedBERT-base-embeddings de NeuML ont été optimisés sur les paires titre-résumé de PubMed. Ils constituent l'outil idéal pour une évaluation comparative RAG médicale sur PubMed. Leur score nDCG@3 est de 0,7084 sur MedRAG , soit 0,078 point de moins que la référence lexicale BM25 (0,7862) sur le même corpus. Les meilleurs plongements lexicaux généralistes open source sur MedRAG surpassent largement ces deux références : Nemotron-8B (0,9629), SFR-Embedding-2_R (0,9620), Harrier-oss (0,9605), jina-v5 (0,9523) et KaLM-Gemma3-12B (0,9453).

C’est cette inversion qui devrait modifier la façon dont un acheteur choisit un spécialiste de domaine. PubMedBERT est un BERT de 2022 doté de 110 millions de paramètres, avec un regroupement moyen symétrique et sans préfixe d’instruction. Le domaine généraliste de 2024 à 2026 repose sur des architectures plus robustes, des préfixes de requêtes et de documents asymétriques, et des objectifs de recherche optimisés par instruction. Sur les requêtes MedRAG qui incluent déjà du vocabulaire médical, la correspondance lexicale de BM25 est naturellement performante, et la spécialisation de PubMedBERT n’apporte aucun avantage supplémentaire.

En pratique, il ne faut pas choisir un spécialiste de l'intégration uniquement sur son nom. Testez-le en fonction de vos propres besoins avant de vous engager.

Snowflake Arctic varie de 0,32 nDCG@3 entre les domaines

Le modèle snowflake-arctic-embed-l-v2.0 (568 Mo, Apache-2.0, dérivé de bge-m3-retromae, multilingue) (Snowflake) obtient un score nDCG@3 de 0,5846 sur les contrats juridiques CUAD et de 0,9053 sur les résumés médicaux MedRAG. Ce modèle, avec la même configuration et le même format de requête, présente un écart de 0,32 point entre les deux domaines. D'autres modèles présentent des écarts moindres : SFR-2 (de 0,8421 à 0,9620, soit un écart de 0,12), Nemotron (de 0,8602 à 0,9629, soit un écart de 0,10) et Harrier (de 0,8408 à 0,9605, soit un écart de 0,12).

Le mécanisme repose sur la composition des données d'entraînement. Arctic a été optimisé sur BEIR, MIRACL et CLEF ; les contrats juridiques ne sont pas pris en compte. Pour une charge de travail de recherche verticale, les données d'entraînement du domaine sont plus importantes que le nombre de paramètres ou la longueur du contexte.

Comment fonctionne l'inférence d'embeddings open source

Dans ce test de performance, les modèles d'embeddings open source sont exécutés sur deux moteurs : sentence-transformers (12 modèles) et vLLM (4 modèles). Ce choix n'est pas lié à la qualité, mais à l'efficacité d'exécution sur les modèles de plus de 8 milliards d'octets, pour lesquels la boucle d'inférence Python par défaut de sentence-transformers est trop lente pour être exploitable.

La configuration de chaque modèle est plus importante que le choix du moteur de recherche. Les modèles de recherche modernes utilisent des préfixes asymétriques : la requête est encadrée par une invite de type « Instruction » ( Instruct: Given a question, retrieve passages...\nQuery: <text> ), tandis que le document est traité sans préfixes. Le type de pooling varie : les modèles dérivés de BERT utilisent le pooling CLS ; les modèles dérivés de LLM (Llama, Mistral, Qwen3, base Gemma3) utilisent le pooling du dernier jeton ; les modèles multilingues utilisent souvent le pooling moyen. La fiche HuggingFace de chaque modèle fait foi pour la combinaison préfixe/pooling correcte.

Niveau backend :

  • vLLM : Nemotron-8B, KaLM-Gemma3-12B, jina-v5-text-small
  • Transformateurs de phrases : Qwen3-0.6B, EmbeddingGemma-300m, Granite trio, SFR-2, Conan-v1, PubMedBERT, GIST, Snowflake Arctic, Microsoft Harrier

Des schémas de préfixes asymétriques ont été observés :

  • Instruction + Requête/Document : SFR-2, KaLM-Gemma3, Nemotron-8B, Qwen3-Embedding
  • Fonctions intégrées encode_query / encode_document : EmbeddingGemma, KaLM-Gemma3, Nemotron-8B
  • tâche / nom_invite (paramètre transformateurs de phrases) : jina-v5, Snowflake Arctic, Harrier
  • Sans préfixe (symétrique) : Trio de granit, Conan, PubMedBERT, GIST

Type de mise en commun selon l'architecture de base :

  • Mise en commun CLS : Trio Granite r2, Snowflake Arctic
  • Mise en commun du dernier jeton : Nemotron, KaLM-Gemma3, SFR-2, jina-v5, Qwen3-Embedding, Harrier
  • Moyenne des regroupements : EmbeddingGemma, Granite multilingue, Conan, PubMedBERT, GIST

L'utilisation d'une mauvaise recette dégrade silencieusement la qualité de la récupération sans provoquer de plantage. Tout test d'intégration open source devrait inclure un seuil minimal de fiabilité (un rappel à 10 % inférieur à 0,5 sur tous les domaines pour n'importe quel modèle est un signal d'alarme indiquant une mauvaise configuration, et non un résultat satisfaisant).

méthodologie de référence pour les modèles d'intégration open source

Trois domaines de recherche ont été évalués : les contrats juridiques CUAD (246 requêtes, 509 contrats), les notes techniques d’assistance client TechQA (151 requêtes, 28 000 notes techniques IBM) et les résumés de la base de données médicales MedRAG-PubMed (154 requêtes, 50 000 résumés). Au total, 551 requêtes ont été effectuées.

La méthodologie de construction du jeu de données est identique à celle de notre précédent benchmark de modèles d'embeddings anglais : génération de requêtes de consensus Protocol-A 3-LLM (pool d'écrivains rotatif, scoreur fixe, deux validateurs non-écrivains par tentative), ancrage du corpus par hachage SHA-256, listes blanches de jetons interdits par domaine pour empêcher les raccourcis lexicaux BM25, accord inter-évaluateurs κ de Cohen rapporté pour chaque paire de validateurs, rangs de référence BM25 synthétisés à partir du champ bm25_rank_at_target déjà présent dans chaque JSON de requête (équivalent à Pyserini). Métrique principale : nDCG@3 (réaliste pour RAG, utilisé par les systèmes RAG en production) ; métriques secondaires : nDCG@10, Recall@10, Recall@100, MRR@10, Top-1 hit.

Spécifications spécifiques aux logiciels libres :

  • GPU : 1 x NVIDIA H100 80 Go SXM5 via le cloud communautaire RunPod
  • Modèle de pod : runpod/pytorch:1.0.2-cu1281-torch280-ubuntu2404
  • Pile logicielle : PyTorch 2.10.0+cu128, vLLM 0.19.1, transformers 5.6.2, sentence-transformers 5.4.1
  • Distribution par modèle : chemin principal de la carte modèle HF. ST pour 12 modèles, vLLM pour Nemotron-8B, KaLM-Gemma3-12B, jina-v5-text-small.
  • Découpage par modèle : troncature au niveau des caractères à max_seq_length x 4 caractères par jeton, puis le tokenizer du modèle tronque à sa longueur de séquence maximale réelle.
  • Recherche asymétrique : chaque modèle compatible utilise le préfixe de requête et de document documenté dans la fiche HF. L’absence de préfixe est le comportement par défaut documenté pour certains modèles.
  • Normalisation L2 : appliquée uniformément après le regroupement. Certains modèles l’effectuent en interne. Nous procédons à une nouvelle normalisation afin de garantir l’homogénéité des données.
  • Clé du cache d'intégration : comprend le préfixe + la tâche + le nom de l'invite + max_seq + le backend, de sorte qu'un changement de préfixe en cours d'exécution ne peut pas charger silencieusement des intégrations obsolètes.
  • Protocole statistique : 10 000 rééchantillonnages bootstrap par cellule (modèle, domaine, métrique), percentile 95 % IC, graine = 2026.

Modèles testés

Trié par rang AVG nDCG@3. Colonne backend : ST = transformeurs de phrases, vLLM = vLLM 0,19.

Résultats des intervalles de confiance à 95 % obtenus par bootstrap

Le classement complet ci-dessus correspond à une seule exécution par cellule (modèle, domaine). La variance d'initialisation des modèles entre les sessions n'est pas mesurée. Afin de capturer la variance au niveau des requêtes au sein d'une même exécution, nous rééchantillonnons le vecteur de rang par requête pour chaque cellule (modèle, domaine) 10 000 fois avec remise (méthode des percentiles, graine = 2026, tailles d'échantillon : CUAD n = 246, TechQA n = 151, MedRAG n = 154). Intervalle de confiance à 95 % par domaine (bootstrap) sur nDCG@3 :

Les intervalles de confiance (IC) modifient les inversions que les données permettent de déterminer. Sur CUAD, les intervalles de confiance de Harrier (0,8720 ; [0,836 ; 0,906]) et de Nemotron (0,8602 ; [0,821 ; 0,897]) se chevauchent, de sorte que l’avance de Harrier sur CUAD n’est pas nettement significative pour cette taille d’échantillon. Sur TechQA, les intervalles de confiance de Nemotron (0,9515 ; [0,923 ; 0,977]) et de SFR-2 (0,9109 ; [0,869 ; 0,949]) ne se chevauchent pas, ce qui indique que l’avance de Nemotron sur TechQA est statistiquement significative. Sur MedRAG, les quatre premiers (Nemotron : 0,9629 ; SFR-2 : 0,9620 ; Harrier : 0,9605 ; jina-v5 : 0,9523) se situent dans les mêmes intervalles de confiance et forment une égalité statistique à quatre. L'inversion de PubMedBERT en dessous de BM25 sur MedRAG (0,7084 [0,641 ; 0,772] vs BM25 0,7862) est à la limite du chevauchement. La tendance centrale situe clairement le spécialiste en dessous de BM25, mais une analyse croisée sur 3 sessions est nécessaire pour confirmer qu'il s'agit de deux groupes distincts plutôt que d'un chevauchement.

Limites

Une seule exécution par cellule (modèle, domaine). Le tableau d'intervalles de confiance (IC) bootstrap ci-dessus capture la variance intra-exécution au niveau des requêtes (10 000 rééchantillonnages, méthode des percentiles, graine = 2026), mais la variance d'initialisation du modèle entre les sessions n'est pas mesurée. Un passage inter-sessions de 3 exécutions est prévu pour la version 2.1. Les ex æquo les plus serrés mis en évidence par le tableau d'IC (par exemple, l'ex æquo à quatre pour MedRAG en haut, le chevauchement Harrier-Nemotron CUAD, l'inversion marginale PubMedBERT vs BM25) bénéficieraient le plus de ce passage multi-exécutions.

L'effet de la longueur du contexte varie selon le modèle. Les modèles avec des fenêtres de contexte de 512 jetons (Granite-278m-multilingual, PubMedBERT, Conan, GIST) ne voient que les 2 000 premiers caractères environ de chaque document. Les modèles avec un contexte de 8 000 ou 32 000 jetons (Nemotron, KaLM-12B, jina-v5, Harrier, Granite r2 english) voient le document complet. Ceci favorise les modèles à contexte long sur TechQA (notes techniques longues) et MedRAG (résumés longs).

Risque de contamination des données d'entraînement de MedRAG. Plusieurs modèles évalués ont été entraînés sur des données issues de PubMed (PubMedBERT par définition, possiblement Granite-278m-multilingual, possiblement la base Qwen3). Le gain de nDCG@3 observé dans certains modèles MedRAG pourrait refléter un chevauchement des données d'entraînement plutôt qu'un problème de qualité de la recherche.

Conan-v1 est un modèle entraîné en chinois. Son utilisation sur des domaines exclusivement anglophones fournit des informations sur l'inadéquation linguistique plutôt que de permettre une comparaison directe et équitable de la qualité de la recherche en anglais. Nous nous attendions à des performances inférieures à celles des modèles entraînés en anglais, et c'est ce que confirment les données.

Conclusion

Llama-Embed-Nemotron-8B (NVIDIA) domine avec un score moyen nDCG@3 de 0,9249, devançant TechQA et MedRAG de manière statistiquement distincte. Le logiciel libre le mieux classé sous licence libre (MIT) est Harrier-oss-v1-0.6b (Microsoft), avec un score moyen de 0,8911. EmbeddingGemma-300m (Google) est environ quatre fois moins coûteux, moyennant une légère perte de précision.

Pour en savoir plus

Explorez d'autres indicateurs RAG, tels que :

Ekrem Sarı
Ekrem Sarı
Chercheur en IA
Ekrem est chercheur en IA chez AIMultiple, spécialisé dans l'automatisation intelligente, les GPU, les agents IA et les frameworks RAG.
Voir le profil complet

Soyez le premier à commenter

Votre adresse courriel ne sera pas publiée. Tous les champs sont obligatoires.

0/450