Cohere lance Embed v4 : 30% de meilleure précision avec une taille de modèle plus petite
Le nouveau modèle d'embedding de Cohere offre des performances de pointe sur le benchmark MTEB tout en réduisant les dimensions de 1024 à 768, réduisant les coûts et améliorant la vitesse.
- Auteur
- Équipe de Recherche Ailog
- Date de publication
- Temps de lecture
- 4 min de lecture
Annonce
Cohere a publié Embed v4, leur dernier modèle d'embeddings qui atteint des améliorations significatives en précision, efficacité et performance multilingue.
Améliorations clés
Gains de performance
Scores MTEB (Massive Text Embedding Benchmark) :
| Modèle | Dimensions | Score moy. | Récupération | Classification | |-------|-----------|-----------|-----------|----------------| | Embed v3 | 1024 | 64.2 | 52.3 | 71.8 | | Embed v4 | 768 | 66.8 | 55.1 | 74.2 | | OpenAI ada-002 | 1536 | 60.9 | 49.2 | 68.5 | | OpenAI text-3-large | 3072 | 64.6 | 54.6 | 70.1 |
Dimensions réduites
Le passage de 1024 à 768 dimensions offre : • 25% moins de stockage par embedding • 20% de recherche de similarité plus rapide • 15% de réduction des coûts API • Pas de perte de précision (en fait améliorée)
Excellence multilingue
Embed v4 supporte plus de 100 langues avec de bonnes performances : • Anglais : 68.2 (MTEB) • Chinois : 65.1 • Espagnol : 64.8 • Arabe : 62.3 • Hindi : 61.7
La récupération inter-langues (requête dans une langue, récupération dans une autre) améliorée de 35%.
Innovations techniques
Embeddings Matryoshka
Embed v4 utilise le Matryoshka Representation Learning, permettant une réduction flexible des dimensions :
``python Générer un embedding complet de 768 dimensions full_embedding = co.embed(texts=["texte exemple"], model="embed-v4")
Tronquer à des dimensions plus petites sans recalculer embedding_256 = full_embedding[:256] Utiliser les 256 premières dims embedding_512 = full_embedding[:512] Utiliser les 512 premières dims
Compromis : taille plus petite vs. légère perte de précision `
Dimension vs. précision : • 768 dims : 100% de précision (référence) • 512 dims : 98.5% de précision • 256 dims : 95.2% de précision • 128 dims : 89.1% de précision
Embeddings conscients des instructions
Embed v4 prend des instructions de tâche optionnelles pour une meilleure adaptation au domaine :
`python Embedding standard embedding = co.embed( texts=["Modèle d'apprentissage automatique"], model="embed-v4" )
Avec instruction de tâche pour un meilleur alignement au domaine embedding = co.embed( texts=["Modèle d'apprentissage automatique"], model="embed-v4", input_type="search_document", embedding_types=["float"] )
Pour les requêtes (différent des documents) query_embedding = co.embed( texts=["Comment fonctionne le ML ?"], model="embed-v4", input_type="search_query" ) `
Améliorations de l'entraînement
Entraîné sur : • 1,2 trillion de tokens (3x plus que v3) • Négatifs difficiles synthétiques • Apprentissage contrastif avec batching dynamique • Entraînement multi-tâches sur plus de 50 tâches
Tarification
Tarification Embed v4 (par 1M de tokens) : • embed-v4 : $0.10 • embed-v4-light : $0.02 (384 dims, précision légèrement inférieure)
Comparé aux concurrents : • OpenAI text-embedding-3-small : $0.02 (1536 dims) • OpenAI text-embedding-3-large : $0.13 (3072 dims)
Guide de migration
Mise à niveau de v3 vers v4 :
`python Ancien (v3) response = co.embed( texts=texts, model="embed-english-v3.0" )
Nouveau (v4) response = co.embed( texts=texts, model="embed-v4", input_type="search_document" Nouveau paramètre ) `
Note : Les embeddings v3 et v4 ne sont pas compatibles. Vous devez réencoder tout votre corpus.
Cas d'usage
Embed v4 excelle particulièrement dans : • Recherche multilingue : Meilleure récupération inter-langues • Recherche de code : Compréhension sémantique du code améliorée • RAG spécifique au domaine : Le paramètre d'instruction aide à l'adaptation • Systèmes à grande échelle : Dimensions réduites = coûts réduits
Benchmarks
Tâches de récupération
Testé sur le benchmark BeIR (récupération zero-shot) :
| Dataset | Embed v3 | Embed v4 | Amélioration | |---------|----------|----------|-------------| | NQ | 52.8 | 56.3 | +6.6% | | HotpotQA | 63.2 | 67.1 | +6.2% | | FEVER | 75.3 | 79.8 | +6.0% | | Climate-FEVER | 23.1 | 28.4 | +22.9% | | SciFact | 66.2 | 71.8 | +8.5% |
Classification
Sur les benchmarks standard de classification de texte : • Banking77 : 86.2% → 89.1% (+3.4%) • Amazon Reviews : 63.8% → 67.2% (+5.3%) • TREC : 91.3% → 93.7% (+2.6%)
Disponibilité • Généralement disponible via l'API Cohere • Supporté dans tous les SDK (Python, Node.js, Go, Java) • Prochainement sur AWS Bedrock et Azure • Option auto-hébergée via Cohere Private Deployment
Bonnes pratiques
Sélection des dimensions • 768 dims : Par défaut, meilleure qualité • 512 dims : Bon équilibre pour la plupart des cas d'usage • 256 dims : Optimisé pour le coût, toujours de bonnes performances
Types d'entrée • search_document : Pour les documents indexés • search_query : Pour les requêtes de recherche • classification : Pour les tâches de classification • clustering` : Pour les tâches de clustering
Stratégie de migration Tester v4 sur des requêtes échantillons Comparer la qualité de récupération Réencoder le corpus progressivement Utiliser les tests A/B pendant la transition
Conclusion
Embed v4 établit une nouvelle norme pour les modèles d'embeddings en production, combinant une précision de pointe avec des améliorations d'efficacité pratiques. Les dimensions flexibles via les embeddings Matryoshka le rendent adapté à une large gamme de scénarios de déploiement et de budgets.