Meilleurs Modèles Embedding 2025 : Scores MTEB & Leaderboard (Cohere, OpenAI, BGE)
Comparez les scores MTEB des meilleurs modèles d'embedding : Cohere embed-v4 (65.2), OpenAI text-3-large (64.6), BGE-M3 (63.0). Leaderboard complet avec prix.
- Auteur
- Équipe de Recherche Ailog
- Date de publication
- Temps de lecture
- 11 min de lecture
- Niveau
- intermediate
- Étape du pipeline RAG
- Embedding
MTEB Leaderboard 2025 - Top Modèles d'Embedding
Tableau de référence rapide avec les scores MTEB pour tous les modèles majeurs :
| Rang | Modèle | Score MTEB | Dimensions | Prix/1M tokens | Meilleur pour | |------|--------|------------|------------|----------------|---------------| | 1 | Gemini-embedding-001 | 68.32 | 3072 | ~$0.004/1K | Meilleur global, multilingue | | 2 | Qwen3-Embedding-8B | 70.58 | 4096 | Gratuit | Meilleur open-source | | 3 | Voyage-3-large | 66.8 | 1536 | $0.12 | Domaines spécifiques | | 4 | Cohere embed-v4 | 65.2 | 1024 | $0.10 | Entreprise, données bruitées | | 5 | OpenAI text-embedding-3-large | 64.6 | 3072 | $0.13 | Usage général | | 6 | BGE-M3 | 63.0 | 1024 | Gratuit | Auto-hébergé budget | | 7 | Nomic-embed-text-v1.5 | 59.4 | 768 | $0.05 | Budget limité | | 8 | all-MiniLM-L6-v2 | 56.3 | 384 | Gratuit | Prototypage rapide |
Qwen3-Embedding-8B score 70.58 sur le leaderboard MTEB Multilingue. Mise à jour : Janvier 2026. Source : MTEB Leaderboard
---
Paysage des modèles d'embedding (2025)
L'espace des embeddings a considérablement évolué. Voici ce qui mène :
Top modèles par score MTEB Gemini-embedding-001 (NOUVEAU #1) • Dimensions : 3072 • Score MTEB : 68.32 (+5.81 par rapport aux concurrents) • Coût : ~$0.004 par 1K tokens • Meilleur pour : Meilleur global, multilingue (100+ langues) Qwen3-Embedding-8B (Meilleur Open-Source) • Dimensions : 4096 • Score MTEB : 70.58 (leaderboard multilingue) • Coût : Gratuit (licence Apache 2.0) • Meilleur pour : Auto-hébergé, confidentialité, multilingue Voyage-3-large • Dimensions : 1536 • Score MTEB : 66.8 • Coût : $0.12 par 1M tokens • Meilleur pour : Ajustement spécifique au domaine Cohere embed-v4 • Dimensions : 1024 • Score MTEB : 65.2 • Coût : $0.10 par 1M tokens • Meilleur pour : Entreprise, données bruitées du monde réel OpenAI text-embedding-3-large • Dimensions : 3072 (configurable jusqu'à 256) • Score MTEB : 64.6 • Coût : $0.13 par 1M tokens • Meilleur pour : Usage général, stack OpenAI existant
Facteurs de décision clés Précision vs Coût
``python High accuracy: OpenAI or Cohere from openai import OpenAI client = OpenAI()
response = client.embeddings.create( model="text-embedding-3-large", input="Your text here" ) embedding = response.data[0].embedding
Budget option: Open-source from sentence_transformers import SentenceTransformer model = SentenceTransformer('BAAI/bge-large-en-v1.5') embedding = model.encode("Your text here") ` Taille de dimension
Plus petit = plus rapide, stockage moins cher, mais moins précis
`python OpenAI: Configurable dimensions response = client.embeddings.create( model="text-embedding-3-large", input="text", dimensions=512 vs default 3072 ) ` Support linguistique
Leaders multilingues : • Cohere embed-v4 : 100+ langues • BGE-M3 : 100+ langues • OpenAI text-embedding-3-large : 100+ langues Spécialisation par domaine
Code : OpenAI text-embedding-3-small, Voyage code-2 Juridique : BGE fine-tuné sur corpus juridique Médical : BioGPT embeddings, PubMedBERT
Benchmarker votre cas d'usage
Ne faites pas confiance aux benchmarks génériques - testez sur VOS données :
`python from sentence_transformers import SentenceTransformer, util
def benchmark_model(model_name, queries, documents): model = SentenceTransformer(model_name)
Embed query_embs = model.encode(queries) doc_embs = model.encode(documents)
Calculate similarities similarities = util.cos_sim(query_embs, doc_embs)
return similarities
Test multiple models models = [ "text-embedding-3-large", "BAAI/bge-large-en-v1.5", "sentence-transformers/all-MiniLM-L6-v2" ]
for model in models: scores = benchmark_model(model, test_queries, test_docs) print(f"{model}: {scores.mean()}") `
Embeddings Matryoshka (2025-2026)
Les nouveaux modèles supportent des dimensions variables depuis le même embedding :
`python Generate once at full dimension full_embedding = model.encode(text, dimension=1024)
Truncate later as needed small_embedding = full_embedding[:256] Just use first 256 medium_embedding = full_embedding[:512]
Quality degrades gracefully, not catastrophically `
Modèles supportant ceci : • OpenAI text-embedding-3- • Nomic embed-v1.5 • Jina embeddings v2
Fine-tuning pour votre domaine
`python from sentence_transformers import SentenceTransformer, InputExample, losses from torch.utils.data import DataLoader
Load base model model = SentenceTransformer('BAAI/bge-base-en-v1.5')
Create training examples train_examples = [ InputExample(texts=['query', 'positive_doc', 'negative_doc']) ]
train_dataloader = DataLoader(train_examples, shuffle=True, batch_size=16)
Fine-tune train_loss = losses.MultipleNegativesRankingLoss(model) model.fit( train_objectives=[(train_dataloader, train_loss)], epochs=1, warmup_steps=100 ) `
Analyse de coûts (1M documents)
| Modèle | Coût Embedding | Stockage | Inférence | |-------|---------------|----------|-----------| | Gemini-embedding-001 | ~$40 | $50/mois | ~$0.004/1K requêtes | | OpenAI-3-large | $130 | $50/mois | $0.13/1M requêtes | | Cohere v4 | $100 | $50/mois | $0.10/1M requêtes | | Qwen3-8B (auto-hébergé) | $0 | $50/mois | GPU: $100/mois | | all-MiniLM | $0 | $20/mois | CPU: $20/mois |
Recommandations par cas d'usage
Startup/MVP : all-MiniLM-L6-v2 (gratuit, rapide) Production (qualité importante) : Cohere embed-v4 ou OpenAI text-embedding-3-large Production (budget important) : BGE-M3 auto-hébergé Multilingue : Cohere embed-v4 ou BGE-M3 Recherche de code : Voyage code-2 ou OpenAI text-embedding-3-small Critique pour la confidentialité : BGE-M3 (licence MIT, auto-hébergé) Entreprise (données bruitées) : Cohere embed-v4
Stratégie de migration
Changer d'embeddings nécessite de tout ré-embedder :
`python Migration progressive def hybrid_search(query, old_index, new_index, alpha=0.5): Rechercher dans les deux index old_results = old_index.search(old_model.encode(query)) new_results = new_index.search(new_model.encode(query))
Fusionner les résultats return blend_rankings(old_results, new_results, alpha) ``
Le modèle d'embedding est la fondation de votre RAG. Choisissez judicieusement, benchmarkez minutieusement, et soyez prêt à mettre à niveau au fur et à mesure que les modèles s'améliorent.
---
FAQ
Quel est le meilleur modèle d'embedding pour le RAG ? Cohere embed-v4 mène avec 65.2 sur MTEB, suivi de près par OpenAI text-embedding-3-large (64.6). Pour l'open-source, BGE-M3 (63.0) offre d'excellentes performances sans coût.
OpenAI text-embedding-3-large vaut-il le coût ? Oui. Avec un score MTEB de 64.6, c'est l'un des meilleurs performeurs et il s'intègre parfaitement à l'écosystème OpenAI. Considérez Cohere pour une légèrement meilleure performance multilingue.
Quel est le meilleur modèle d'embedding gratuit ? BGE-M3 est le meilleur choix open-source avec 63.0 sur MTEB, supportant 100+ langues. Pour les cas d'usage en anglais uniquement, all-MiniLM-L6-v2 offre des embeddings rapides et légers.
Comment choisir entre les modèles d'embedding ? Considérez : (1) exigences de précision, (2) support linguistique, (3) contraintes de coût, (4) besoins de latence. Benchmarkez sur VOS données - les scores génériques ne se traduisent pas toujours à votre domaine.
Dois-je fine-tuner mon modèle d'embedding ? Le fine-tuning montre des gains de +10-30% pour les domaines spécialisés (juridique, médical, code). Commencez avec un modèle pré-entraîné, puis fine-tunez si les performances génériques sont insuffisantes.