vege - stock.adobe.com

L’essentiel sur les modèles d’embeddings

Les modèles d’embeddings sont des composants clés des applications de recherche augmentée par l’IA générative. Ce conseil revient sur leurs principales caractéristiques et leurs cas d’usage.

Dans le domaine de la recherche sémantique, les modèles d’embeddings transforment les données en formats interprétables par des machines. Ces modèles, basés sur des réseaux de neurones, tirent parti des avancées en IA générative, en bases de données vectorielles et en graphes de connaissances. Ils doivent mieux comprendre les relations entre les mots et les idées en les convertissant en vecteurs, des suites de nombres à virgule flottante. Cela permet une correspondance des concepts plus précise que les approches traditionnelles basées sur les mots-clés. Ces modèles d’embeddings sont particulièrement utiles dans les moteurs de recherche, l’analyse de données, les chatbots de support client, les moteurs de recommandation et les outils d’analyse des processus métier.

Comment les modèles d’embeddings sont-ils utilisés ?

Les modèles d’embeddings sont utilisés par les développeurs et les data scientists au sein d’applications métiers ou grand public. Bien choisir son modèle d’embeddings est une première étape essentielle. Les data scientists et les développeurs évaluent souvent la vitesse, la taille et la précision de différents modèles en fonction de la tâche à accomplir. Ces métriques permettent non seulement d’évaluer la performance des modèles existants, mais aussi de les améliorer en s’appuyant sur des jeux de données soigneusement sélectionnés. Ces datasets contiennent généralement des questions associées à un passage d’un texte contenant la réponse.

Les modèles d’embeddings sont souvent dissimulés sous la complexité des services et applications. Par exemple, ils jouent un rôle clé dans Google Search, mais ne sont pas publiés afin d’empêcher les fermes de contenu de manipuler les résultats de recherche. De même, de nombreuses applications d’entreprise liées aux graphes de connaissances, à la gestion active des métadonnées, aux bases de données orientées graphes et à l’intelligence des processus utilisent des embeddings qui restent confidentiels pour préserver leur avantage concurrentiel.

Comment fonctionnent les modèles d’embeddings ?

Les modèles d’embeddings utilisent une approche statistique pour modéliser les connexions entre des types de contenu similaires. Par exemple, avec un modèle d’embeddings de mots, les termes « reine » et « roi » peuvent être statistiquement proches de « chef » ou « président », mais plus éloignés sur le plan du genre. L’approche ne se limite pas aux mots. Les innovations en matière d’IA générative permettent également de créer des modèles d’embeddings qui décrivent la similarité entre les phrases, les paragraphes et les documents plus vastes. Ces modèles permettent d’établir des distinctions telles que la différence entre « l’homme mord le chien » et « le chien mord l’homme ».

Les modèles d’embeddings sont entraînés pour apprendre les modèles et les relations dans le texte sur des jeux de données particulièrement importants. Lorsqu’un de ces modèles traite de nouvelles données, il analyse le texte et génère une valeur numérique unique, ou vecteur, dans un espace multidimensionnel.

Certains modèles d’embeddings utilisent des milliers de dimensions. Cela permet de saisir la complexité et les subtilités que l’on retrouve dans les documents de recherche, les textes de loi, ou encore le langage courant.

Il existe des modèles d’embeddings permettant de spécifier le nombre de dimensions. Par exemple, le modèle d’OpenAI text-embedding-3-large vous permet de choisir entre 256, 1024 ou 3072 dimensions. L’utilisation d’un nombre élevé de dimensions permet d’obtenir un meilleur score de recherche sémantique, mais le modèle fonctionne plus lentement et nécessite plus de mémoire. Les embeddings à faible dimension sont moins coûteux en ressources de calcul.

Les différences entre les embeddings denses et épars

Le nombre de dimensions n’est pas forcément synonyme d’efficacité. Il faut aussi différencier les embeddings denses des embeddings épars.

Les embeddings épars représentent des mots à travers un grand nombre de dimensions (plusieurs dizaines de milliers), dont la plupart sont inactives (peuplées de zéros). À l’entraînement, les documents sont découpés en « sacs de mots » avant d’être transformés et répartis dans les différentes dimensions. Les modèles d’embeddings épars servent traditionnellement à la recherche par mots-clés, par exemple TF-IDF (en combinaison avec BM25), la classification de documents ou l’extraction d’entités nommées.

À l’inverse, des embeddings denses concentrent les informations dans un nombre relativement restreint de dimensions. Ils sont généralement meilleurs pour comprendre les relations sémantiques riches, mais sont peu interprétables. Ils sont meilleurs pour la traduction, l’enrichissement de données dans des chatbots ou les systèmes de recommandation complexes.

Des projets comme Colbert, Splade ou plus récemment sparse-embedding-30M d’IBM visent à produire des embeddings épars de taille fixe, et non en fonction de la longueur du document, comme avec TF-IDF. Il s’agit de combiner les avantages des deux techniques. Dans les faits, ils servent principalement à retranscrire plus efficacement une réponse à une question dans un court extrait.

Connecter les embeddings à travers les modalités

Les modèles d’embeddings de texte dominent les efforts de R&D parce qu’ils peuvent tirer parti de la vaste masse d’informations non structurées sur l’internet, dans les documents internes et dans les données d’interaction avec les clients.

D’autres algorithmes de vectorisation ont vu le jour afin de modéliser les relations dans des lots d’images et des fichiers audio, souvent en combinaison avec des documents textuels. Des projets sont en cours dans le but de vectoriser des schémas de données, des mathématiques, des sciences, des graphes, de la robotique et d’autres domaines encore. Ces modèles sont parfois utilisés indépendamment les uns des autres, comme dans le cas d’un moteur de recommandation de musique ou de produits basé sur l’historique de lecture des chansons ou sur le comportement d’achat.

L’un des grands défis réside dans le fait que les modèles d’embeddings utilisés pour encoder les données doivent également être utilisés pour les décoder ou les traiter. Oui, il faut utiliser des modèles d’embeddings et des LLM d’une même famille, tandis que les vecteurs doivent faire la même dimension.

C’est pourquoi la recherche s’est orientée vers des modèles plus vastes et multimodaux, utiles dans un plus grand nombre de domaines. Toutefois, ils sont à usage général et peuvent moins bien couvrir les besoins liés à une tâche spécifique, tout en étant plus lents, puisque plus volumineux.

La technique RAG (Retrieval-Augmented Generation) peut utiliser un modèle d’embeddings optimisé pour un type particulier de recherche sémantique, puis soumettre le texte obtenu à un autre modèle de type « reranker » ou un système de recherche par mots-clés, afin d’obtenir des réponses plus pertinentes.

Les collisions de hachage peuvent poser des problèmes lorsque trop de types ou de modalités de données sont connectés à un même modèle d’embeddings. Cela se produit lorsque trop d’éléments sont mappés dans un espace trop restreint, ce qui amène le modèle à attribuer les mêmes vecteurs à des concepts distincts. Ce phénomène peut réduire la précision et accroître le risque d’hallucinations de l’IA.

Les cas d’usage des modèles d’embeddings

Voici quelques exemples d’application des modèles d’embeddings pour la recherche sémantique dans différentes modalités.

  • Texte non structuré : Les modèles d’embeddings de texte transforment les données non structurées en vecteurs afin d’améliorer la recherche et le résumé de documents professionnels, de procédures opérationnelles standard, de manuels de réparation, d’interactions clients, de bases de code et d’autres sources internes à l’entreprise.
  • Texte structuré : Ces embeddings modélisent les relations dans un domaine spécifique, comme les connexions dans les documents XBRL structurés pour la divulgation financière ou les liens entre payeurs, articles, prix et conditions dans une facture.
  • Moteurs de recommandation de produits : Les embeddings spécifiques aux comportements des clients établissent des corrélations entre les modèles d’interactions et d’achats pour affiner les recommandations de produits.
  • Code : Les plus grands modèles de langage (LLM) prennent en charge des mécanismes permettant de corréler les propriétés du code avec les questions que les utilisateurs peuvent poser. Les LLM spécifiques au code, entraînés sur des langages et des référentiels d’entreprise, accélèrent l’autocomplétion du code en alignement avec les bonnes pratiques de sécurité et d’entreprise.
  • Audio : Spotify et Pandora utilisent des modèles optimisés pour représenter les caractéristiques audio afin d’améliorer les recommandations musicales en fonction de l’historique d’écoute. Les outils de création de contenu en entreprise peuvent également faciliter la sélection de clips audio pour les campagnes marketing et publicitaires.
  • Images : Les modèles d’embeddings spécifiques à la vision permettent de rechercher ou de générer des images en fonction de styles artistiques particuliers, d’objets, de scènes ou de contextes.
  • Graphes de connaissances : Des embeddings comme node2vec génèrent des représentations vectorielles des nœuds dans un graphe pour améliorer la recherche dans des domaines tels que la détection de fraude, l’analyse des chaînes d’approvisionnement, les recommandations clients et la recherche scientifique.
  • Science et médecine : Les modèles spécifiques à des domaines comme les protéines, les molécules et la physique accélèrent la découverte scientifique, améliorent le développement de produits et permettent d’identifier plus tôt les problèmes de contrôle qualité.

Métriques et classements des modèles d’embeddings

De nombreux efforts ont été déployés pour comparer les mérites relatifs des différents modèles dans des tâches liées à la recherche sémantique. À leurs débuts, les métriques se concentraient sur des tâches spécifiques, telles que la labélisation de texte, la réponse à des questions, le résumé de documents ou la recommandation de produits. Depuis, diverses communautés de recherche ont proposé de nouvelles métriques permettant d’évaluer la performance des modèles d’embeddings sur plusieurs tâches, tout en prenant en compte leur taille et leur vitesse.

Ces classements sont actuellement concentrés sur les cas d'usage textuels et la qualité des transcripts (speech to text). D’autres travaux, moins avancés, évaluent la performance des embeddings dans des tâches spécifiques à l’audio et à l’image. Voici quelques exemples de ces métriques :

  • Benchmarking Information Retrieval (BEIR) : BEIR évalue les performances sur neuf tâches, notamment la vérification des faits, la prédiction de citations, la récupération de questions en double, la recherche d’arguments, d’actualités, d’informations biomédicales, la réponse à des questions, la récupération de tweets, et la récupération d’entités.
  • Massive Text Embedding Benchmark (MTEB) : MTEB analyse la performance sur huit tâches, telles que le clustering, l’extraction de paires de phrases traduites (bitext mining), la recherche d’informations, la similarité textuelle sémantique, la classification, la classification par paires et le reranking. Hugging Face gère le classement MTEB.
  • End-to-end Speech Benchmark (ESB) : ESB compare les métriques d’embeddings utilisées pour faire correspondre des styles de parole, réduire le bruit de fond et identifier la ponctuation dans différents jeux de données vocales. Ces modèles améliorent les outils de transcription. Ils sont aussi utiles pour traduire la voix d’un locuteur dans différentes langues et pour faciliter l’édition audio dans la production de contenu.
  • Holistic Evaluation of Audio Representations (HEAR) : HEAR évalue les performances des modèles d’embeddings pour la classification et l’étiquetage audio dans les domaines de la parole, des sons environnementaux et de la musique.

Architectures d’embeddings

Les chercheurs ont exploré une grande variété de techniques pour créer des modèles d’embeddings. Les premières versions étaient basées sur des architectures de réseaux de neurones à convolution et récurrents. Les avancées récentes en intelligence artificielle générative ont poussé tous les grands fournisseurs de LLM à développer et partager des modèles d’embeddings reposant sur des architectures Transformer.

Voici six architectures d’embeddings qui apparaissent régulièrement dans le classement MTEB (Massive Text Embedding Benchmark) :

  • Sentence-BERT (SBERT) : basé sur le modèle Bidirectional Encoder Representations from Transformers (BERT) introduit par Google en 2018, SBERT améliore la capture du contexte des mots par rapport aux approches antérieures. Ces modèles sont souvent plus rapides et plus compacts que les architectures plus récentes, mais leurs performances sont moindres en comparaison.
  • SGPT : développé par Niklas Muennighoff à l’Université de Pékin, SGPT est un modèle basé sur un transformer à décodage uniquement. Il améliore le fine-tuning des embeddings et accélère leur traitement.
  • Generalizable T5-based Retrievers (GTR) : ce modèle open source de Google utilise une architecture T5 fine-tunée sur un ensemble de données beaucoup plus vaste, ce qui améliore ses capacités de récupération d’informations.
  • E5 (EmbEddings from bidirectional Encoder rEpresentations) : développée par Microsoft, cette nouvelle famille de modèles d’embeddings prend en charge la recherche sémantique multilingue.
  • Embed v3 : développée par Cohere, la famille Embed v3 est optimisée pour exceller sur les benchmarks MTEB et BEIR. Elle permet également de compresser les embeddings bruts afin de réduire la mémoire utilisée et d’améliorer la qualité des recherches.
  • Modèle d’embeddings de texte d’OpenAI : OpenAI nomme ses modèles text-embedding, suivi d’un numéro de version et de taille.

Pour approfondir sur Data Sciences, Machine Learning, Deep Learning, LLM