$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Les grands modèles de langage (LLM) tels que ChatGPT d’OpenAI ou Llama de Meta AI sont rapidement devenus une ressource populaire pour générer du texte pertinent pour une invite de l’utilisateur. Fonctionnant à l’origine pour prédire les éléments lexicaux suivants dans une séquence, ces modèles ont évolué pour comprendre le contexte, coder des informations cliniques et démontrer des performances élevées sur une variété de tâches 1,2,3,4. Bien que les modèles de langage soient antérieurs de plusieurs décennies à ces capacités et à leur niveau actuel depopularité5, les progrès récents en matière d’apprentissage profond et de capacités de calcul ont rendu les LLM commerciaux pré-entraînés et de haute qualité largement accessibles aux utilisateurs via des technologies basées sur le Web et des interfaces de programmation d’applications (API)6. Cependant, il existe plusieurs limitations notables à la consommation de LLM dans ce format.
Défi 1 : Corpus d’entraînement statique
Les LLM sont entraînés sur un énorme (par exemple, deux billions de jetons dans le cas de Llama 27) mais statique de données textuelles. Il est donc difficile de produire des réponses précises à des domaines en plein développement ou à une littérature en évolution. Dans cette approche statique, les LLM nécessiteraient une formation fréquente pour se tenir au courant des dernières données, ce qui n’est ni pratique ni évolutif. De plus, les invites qui nécessitent des réponses basées sur des informations non présentes dans les données d’entraînement peuvent empêcher la génération de texte utile ou conduire à des hallucinations8. Les cas d’hallucinations ou de fabrication de faits soulèvent des préoccupations importantes quant à la fiabilité des LLM, en particulier dans les contextes où l’exactitude de l’information est essentielle9.
Défi 2 : Manque de spécificité du domaine
Les modèles pré-entraînés sont souvent créés pour un usage général, tandis que les utilisateurs peuvent avoir besoin d’un modèle spécifiquement optimisé pour les performances dans un domaine particulier. De plus, les ressources de calcul et les données nécessaires à l’entraînement d’un modèle de novo ou à la réalisation d’un réglage fin important sont prohibitives pour de nombreux utilisateurs.
Défi 3 : Manque d’intimité
Les utilisateurs qui poursuivent des applications impliquant des données sensibles ou des informations exclusives peuvent ne pas vouloir ou ne pas pouvoir utiliser certains services LLM car ils manquent d’informations sur la façon dont les données peuvent être stockées ou utilisées.
Défi 4 : Manque de stabilité garantie
Les services dotés de LLM propriétaires peuvent modifier les modèles disponibles ou modifier le comportement à tout moment, ce qui fait de la stabilité une préoccupation pour la mise en œuvre d’applications reposant sur ces services.
La génération augmentée par récupération (RAG) est une technique développée pour améliorer les performances de LLM, en particulier sur les requêtes liées à des informations en dehors du corpus d’entraînement du modèle10,11. Ces systèmes augmentent les LLM en incorporant des informations contextuelles à prendre en compte lors de la génération d’une réponse à une requête d’utilisateur. Divers travaux récents ont décrit les applications des systèmes RAG et leurs avantages potentiels 12,13,14.
L’objectif de la méthode décrite dans ce travail est de démontrer la construction d’un tel système et de fournir un cadre aux chercheurs pour expérimenter rapidement sur des LLM augmentés spécifiques à un domaine. Cette méthode s’applique aux utilisateurs qui souhaitent compléter un LLM avec une source de données textuelle externe. Plus précisément, l’un des objectifs globaux de ce protocole est de fournir un code étape par étape qui est extensible à une variété d’expériences pratiques LLM et RAG sans avoir besoin d’une expertise technique significative dans le domaine de la modélisation du langage, bien qu’une connaissance pratique de Python soit nécessaire pour appliquer cette approche sans modification. Pour maximiser le contrôle de l’utilisateur, la transparence, la portabilité et l’abordabilité des solutions, des outils open source et accessibles au public sont utilisés. Le système proposé aborde les questions précédemment énoncées de la manière suivante :
Solutions 1 et 2 : Corpus d’entraînement statique et manque de spécificité de domaine
La méthodologie fournie s’appuie sur une approche RAG, en utilisant des intégrations pour fournir des informations spécifiques au domaine qui ne sont pas incluses dans les données d’entraînement d’origine. À un niveau élevé, l’intégration de modèles transforme du texte ou d’autres données en une représentation sous la forme d’un vecteur ou d’un tableau de nombres unidimensionnel. Cette technique est bénéfique car elle convertit les informations sémantiques contenues dans le texte en une forme numérique dense. En projetant une requête utilisateur dans le même espace d’intégration, divers algorithmes peuvent être utilisés pour calculer la distance15, et donc la similarité sémantique approximative, entre la requête de l’utilisateur et des sections de documents texte. Ainsi, la création d’une base de données de ces vecteurs à partir de documents divisés en sections discrètes peut faciliter la recherche dans un nombre important de documents du texte le plus pertinent pour une requête d’utilisateur (Figure 1). Cette approche est extensible à n’importe quel document texte. Alors que d’autres approches, telles que les capacités de recherche en ligne, commencent à être mises en œuvre pour augmenter les LLM, cette approche permet aux utilisateurs de choisir des sources considérées comme de qualité suffisante pour leur cas d’utilisation.
Solution 2 : Manque d’intimité
Dans cette mise en œuvre, un environnement cloud sécurisé a été utilisé pour l’hébergement, sans qu’aucune invite utilisateur, réponse générée ou autre donnée ne quitte cet écosystème. Cependant, tout le code est écrit de manière indépendante de la plate-forme, afin de s’assurer qu’un autre fournisseur de cloud ou du matériel local peut être substitué.
Solution 3 : Manque de stabilité garantie
Cette approche utilise des bibliothèques open source et se concentre sur l’augmentation des LLM avec des poids accessibles au public, permettant un degré plus élevé de transparence, de stabilité et de versionnage, si nécessaire.
Un schéma complet du système que nous proposons est présenté à la figure 2, et des instructions détaillées sur la reproduction de ce système ou d’un système similaire sont décrites dans la section protocole. L’évaluation des performances est un élément supplémentaire à prendre en compte lors de la modification du comportement du modèle par le biais d’un réglage fin ou d’une augmentation. Dans les modèles générateurs de langage, cela représente un défi unique, car de nombreuses métriques d’apprentissage automatique traditionnelles ne sont pas applicables. Bien qu’il existe une variété de techniques16, dans cette étude, des questions à choix multiples (QCM) rédigées par des experts ont été utilisées pour évaluer la précision et comparer les performances avant et après l’augmentation ainsi qu’avec d’autres LLM populaires.