Créer un modèle d'embedding spécifique en une journée
Les systèmes de génération augmentée par récupération (RAG) échouent souvent lorsque les modèles d'embedding génériques ne comprennent pas la sémantique spécifique à un domaine, comme les contrats juridiques ou les logs de fabrication. Pour résoudre ce problème, une nouvelle méthode permet de fine-tuner un modèle d'embedding en moins d'une journée, sans nécessiter d'étiquetage manuel. En utilisant une seule unité de calcul graphique (GPU), les entreprises peuvent transformer un modèle généraliste en un outil performant adapté à leurs données internes. Cette approche a permis d'atteindre une amélioration de plus de 10 % sur les métriques de rappel et de précision, et Atlassian a rapporté une augmentation de 26 % du rappel sur sa base de données JIRA. La démarche repose sur six étapes claires intégrées dans un flux de travail open source. Premièrement, les données d'entraînement sont générées automatiquement à partir de documents brutes. Un modèle de langage de grande taille lit les textes et crée des paires questions-réponses synthétiques, incluant des requêtes complexes nécessitant un raisonnement multi-étapes. Deuxièmement, une technique de recherche de négatifs durs est appliquée. Au lieu d'utiliser des documents totalement non pertinents, le système identifie les passages qui ressemblent fortement à la bonne réponse mais qui sont incorrects. Cela force le modèle à apprendre les distinctions subtiles propres au domaine. Troisièmement, les questions multi-sauts sont décomposées pour que chaque document pertinent soit traité comme une preuve indépendante. Quatrièmement, le fine-tuning du modèle de base, tel que Llama-Nemotron-Embed-1B-v2, est exécuté via un apprentissage contrastif. La configuration utilise un taux d'apprentissage agressif et gère automatiquement les petits ensembles de données. Cinquièmement, la performance est évaluée à l'aide du framework BEIR, comparant les métriques avant et après l'ajustement. Les résultats montrent généralement une hausse significative du rappel et de la qualité du classement. Sixièmement, le modèle optimisé est exporté vers le format ONNX ou TensorRT pour gagner en vitesse d'inférence. Enfin, il est déployé via NVIDIA NIM, un microservice compatible avec l'API d'OpenAI, permettant une intégration transparente dans les pipelines existants sans modification du code. L'ensemble du processus prend moins d'une journée pour un corpus complet, avec un temps d'entraînement effectif se situant autour d'une heure sur un GPU de 80 Go. Les étapes initiales comme la génération de données ne requièrent pas de GPU dédié, tandis que l'entraînement et l'évaluation nécessitent environ 40 à 80 Go de mémoire vive. Cette flexibilité permet aux équipes de commencer avec peu de documents et de scaleer progressivement. Grâce à l'utilisation de formats standard comme JSON et BEIR, chaque étape peut être exécutée individuellement ou en série, facilitant l'intégration dans divers environnements de production, qu'ils soient locaux ou basés sur le cloud. Cette solution démocratisé l'accès à des systèmes de recherche sémantique haute performance pour n'importe quelle organisation disposant de documents internes.
