Solon Embeddings 0.1
Nous publions Solon Embeddings 0.1, une famille de modèles ouverts pour la recherche sémantique en français. Les deux versions, Base et Large, sont disponibles sur Hugging Face sous licence MIT.
Avec Solon, nous travaillons sur une étape essentielle de la recherche documentaire : retrouver le bon passage lorsqu’une question et sa réponse n’emploient pas les mêmes mots. Cet article présente le fonctionnement des modèles, leurs résultats et les éléments à prendre en compte pour les utiliser sur votre corpus.
Retrouver le sens derrière les mots
Imaginons une recherche dans un fonds de contrats :
Question : « Comment mettre fin à cet accord ? » Passage à retrouver : une clause intitulée « Résiliation ».
Cet exemple illustre le problème que la recherche sémantique cherche à résoudre. Une correspondance exacte entre mots ne suffit pas toujours à rapprocher une question du passage utile.
Un modèle d’embeddings transforme chaque texte en un vecteur, une suite de nombres qui représente certains aspects de son sens. Nous pouvons alors comparer les représentations de la question et des passages pour sélectionner ceux qui semblent les plus pertinents.
Dans une architecture RAG, cette recherche intervient avant la génération de la réponse. Les passages retrouvés sont transmis au modèle de langage pour lui apporter le contexte documentaire. Si la recherche manque une pièce essentielle, la qualité de rédaction ne rattrapera pas cette omission.
C’est aussi pour cela que nous distinguons proximité et interprétation. Deux clauses peuvent traiter de la résiliation tout en prévoyant des conditions opposées. Les embeddings aident à les retrouver ; leur comparaison demande encore une lecture précise.
Solon Base et Large : les différences
Nous proposons deux tailles de modèle pour permettre des arbitrages entre qualité de recherche et ressources nécessaires. Voici les caractéristiques des versions publiées :
| Caractéristique | Solon Base 0.1 | Solon Large 0.1 |
|---|---|---|
| Architecture | XLM-RoBERTa, 12 couches | XLM-RoBERTa, 24 couches |
| Dimensions du vecteur | 768 | 1 024 |
| Longueur maximale | 512 tokens | 512 tokens |
| Score moyen sur nos 9 benchmarks | 0,7306 | 0,7490 |
| Licence | MIT | MIT |
Les configurations et résultats sont accessibles dans les dépôts de Solon Base et Solon Large. Le score moyen résume notre évaluation initiale ; ce n’est pas un taux de réponses correctes.
Large obtient le meilleur résultat des deux dans cette évaluation. Base produit des vecteurs plus compacts. Pour choisir entre eux, nous recommandons de mesurer la qualité sur vos propres questions, ainsi que la latence et la mémoire consommée dans les mêmes conditions.
Comment nous avons évalué les modèles
Nous avons réuni neuf benchmarks en français : six tâches issues de MTEB, une tâche de reclassement de passages issue de MIRACL et deux jeux conçus par notre équipe. L’ensemble couvre la classification, la similarité entre textes et le classement de passages selon leur pertinence pour une requête.
Solon Large arrive en tête des modèles comparés dans le tableau publié avec la version 0.1. C’est un résultat sur ce protocole et ces modèles de comparaison, pas une première place valable pour tous les usages ou pour les modèles sortis depuis.
Les travaux à l’origine de MTEB soulignent précisément cette difficulté : un modèle performant sur une tâche ne domine pas nécessairement les autres. Une moyenne donne un repère. Elle ne dit pas, à elle seule, comment se comportera une recherche dans les documents d’un cabinet.
Pour rendre notre évaluation examinable, nous avons publié Ordalie FR-STS, consacré à la similarité entre textes, et Ordalie FR-Reranking, consacré au classement de passages. Le code d’évaluation est également disponible. Puisque deux des neuf jeux viennent de notre équipe, une comparaison sur un corpus indépendant complète utilement ces résultats.
Passer du benchmark à vos documents
La limite de 512 tokens impose de découper les documents longs avant de les indexer. Un token est une unité de texte, pas nécessairement un mot entier. Le découpage mérite de l’attention : isoler une clause de ses définitions risque de lui faire perdre le contexte nécessaire à la recherche.
Autre détail à conserver lors de l’intégration : nos fiches de modèles indiquent d’ajouter le préfixe query : aux requêtes, sans préfixe équivalent pour les passages. La préparation des textes et les paramètres d’encodage doivent rester cohérents entre l’indexation et la recherche.
Pour un premier essai, partez de questions réellement posées à votre fonds documentaire et identifiez les passages attendus. Regardez ensuite les premiers résultats : lesquels répondent à la question, lesquels sont seulement voisins du sujet, lesquels manquent ? Cette revue permet de comparer les modèles et d’ajuster le découpage sur des cas que votre équipe peut juger.
Les poids de Solon sont disponibles pour mener ces essais sur votre infrastructure. Si vous utilisez les modèles, nous aimerions savoir sur quels documents ils fonctionnent bien et où ils rencontrent leurs limites. Vous pouvez nous écrire à [email protected].