Faut-il affiner un grand modèle linguistique pour permettre ce cas d'utilisation ?
Ou d'autres techniques sont-elles plus appropriées ?
Chez ML6, c'est sans doute la première question que nous posent les clients sur l'utilisation des grands modèles de langage (LLM).
En résumé, le choix de la technique se résume à une différence d'ambition :
Notez que ces ambitions ne sont pas des alternatives exclusives ; pour de nombreux cas d'utilisation, vous pouvez vouloir modifier à la fois le comportement du modèle et vous assurer que votre modèle a accès aux bonnes informations.
À ceux qui pensent maintenant : "Hé, mais ne puis-je pas aussi ajouter des connaissances par le biais de la mise au point ?Nedevrais-je pas peaufiner un LLM en utilisant ma base de connaissances privée ?Nous pourrions leur répondre : "Merci pour cette remarque spontanée. Oui, c'est possible, mais ce n'est probablement pas la manière la plus efficace d'ajouter des connaissances, ni la plus transparente, ni la plus facile à gérer". Si vous êtes spécifiquement intéressé par l'accès d'un LLM à des connaissances spécifiques d'une manière gérable, nous vous renvoyons à notre article sur l'exploitation des LLM dans votre base de connaissances spécifique à un domaine.
À ceux qui n'ont pas eu cette remarque, nous disons : "Eh bien, c'est parti ! Mais pas avant d'avoir écouté quelques mots d'introduction inspirants de Billiam Bookworm.
Dans ce billet, nous allons vous aider à comprendre ce qu'est le réglage fin et vous doter d'un outil qui vous permettra de prendre des décisions fondées. Bien entendu, cet outil est celui qui a régné sur tous les outils depuis bien avant l'invention de l'ordinateur : l'organigramme. Peut-être que les temps ne changent pas ?
Pour comprendre ce qui peut et ne peut pas être réalisé par le réglage fin, nous devons, à un certain niveau, comprendre ce à quoi ce processus fait réellement référence. De quoi part-on et quel est l'impact sur le modèle ? Nous vous avertissons que cette section peut être un peu technique, mais qu'elle est cruciale pour une bonne compréhension du réglage fin.
En résumé, un grand modèle linguistique est construit en trois étapes distinctes :
L'explication ci-dessus devrait vous permettre de comprendre ce que fait le réglage fin et pourquoi il est nécessaire. Pour renforcer votre compréhension, prenons un exemple :
L'exemple ci-dessus montre que l'apprentissage non supervisé ne suffit pas à lui seul. Le modèle peut avoir acquis beaucoup de connaissances, mais il ne sait pas comment les utiliser. Pour un modèle qui se contente de prédire les mots suivants, une question peut être la suite la plus probable d'une question précédente, parce qu'en apprenant à partir de ses masses de données de faible qualité, il a probablement rencontré un certain nombre de tests et de questions subséquentes.
Mais n'ayez crainte, car le réglage fin supervisé (Supervised Fine-Tuning ) intervient pour sauver la situation ! Après avoir recueilli des tonnes de connaissances à partir de données de faible qualité, le processus SFT vise à obtenir un comportement correct du modèle. Pour ce faire, il montre au modèle un exemple de comportement et l'optimise pour qu'il le reproduise. Ainsi, le modèle apprendra à comprendre que "si on me pose une question, je dois apparemment essayer de formuler une réponse".
Il s'agit là d'un apprentissage supervisé traditionnel. Ce qui semble vraiment libérer tout le potentiel de ces modèles, c'est l'étape RLHF. Nous n'entrerons pas trop dans les détails, mais ce processus vise à guider spécifiquement le modèle pour qu'il se comporte de la manière que les gens ont indiqué préférer (d'où le nom : apprentissage par renforcement à partir du retour d'information humain). Il convient de noter que pour pouvoir bénéficier des avantages de la RLHF, il faut d'abord construire un modèle de récompense qui calcule les scores de récompense pour des réponses données. Cela nécessite un important travail d'étiquetage et d'ingénierie.
Heureusement, lorsqu'il s'agit d'influer sur le comportement du modèle, SFT est l'étape cruciale. Il illustre la manière dont nous voulons que le modèle se comporte, RLHF affine ensuite ce comportement car il est plus facile pour nous, humains, de vous montrer ce que nous préférons plutôt que de l'expliquer nous-mêmes par des exemples.
Il ne faut pas s'y tromper. Préparer les données nécessaires à l'exécution du SFT n'est pas une mince affaire. En fait, pour le développement de GPT-3, l'équipe d'OpenAI a fait appel à des indépendants pour fournir des données étiquetées (à la fois pour le processus SFT et RLHF). Conscients de l'importance de cette tâche, ils ont veillé à choisir des étiqueteurs bien formés. C'est ce que montrent les résultats d'une enquête menée par OpenAI dans le cadre de son article intitulé "Learning to summarise from human feedback" (Apprendre à résumer à partir de commentaires humains).
Dans la dernière partie de ce billet, nous nous pencherons sur ce dont vous avez besoin pour effectuer le processus de réglage fin. Mais tout d'abord, permettez-nous de vous présenter un guide pratique qui vous permettra de décider quand vous devez faire appel au SFT et quand vous pouvez envisager de vous en passer.
Comme vous le savez peut-être, même les modèles à source fermée (où vous n'avez pas accès aux paramètres du modèle) peuvent vous permettre de les affiner par le biais d'une API. À cet égard, OpenAI a publié le 23 août le réglage fin de GPT-3.5. Cela élargit encore les possibilités pour le grand public de se lancer dans le réglage fin des modèles. La question se pose donc de savoir quand il faut s'y mettre (comme le prouve la question la plus fréquemment posée à propos de l'API de réglage fin).
Nous présentons ci-dessous l'organigramme qui devrait vous aider à naviguer dans les eaux troubles d'un choix de LLM bien fondé.
Notez que nous distinguons explicitement la connaissance et le comportement.
En ce qui concerne le comportement, conformément à ce qu'Andrej Karpathy a déclaré en mai dernier, nous suggérons l'approche suivante pour développer votre cas d'utilisation du LLM :
Imaginons maintenant que vous ayez choisi une approche d'incitation à quelques coups et que cela fonctionne très bien, mais que vous ayez un nombre gigantesque de demandes et que les choses deviennent coûteuses ? Dans ce cas, il serait peut-être intéressant d'héberger vous-même le LLM et de le peaufiner afin de réduire le nombre de mots transmis au système à chaque appel.
Ou si vous avez une tâche si simple que vous pouvez facilement obtenir le bon comportement par le biais d'un message-guide zéro, mais que le coût est tout simplement trop élevé par tâche ? Une fois encore, l'auto-hébergement d'un LLM beaucoup plus petit et finement ajusté peut être la voie à suivre. Pour plus d'informations à ce sujet, nous vous renvoyons à notre article de blog sur l'espace émergent des modèles de fondation en général.
À la manière d'un concours de vantardise entre écoliers, nous allons vous présenter quelques exemples concrets pour démontrer l'intuition.
1. "Vous savez que MON entreprise souhaite utiliser un Grand Modèle de Langage pour envoyer un message de bienvenue personnalisé à chaque nouvel employé.
Dans ce cas, un simple apprentissage en quelques clics avec quelques exemples de messages de bienvenue bien conçus, combinés à un modèle qui charge les informations relatives à l'employé, devrait faire l'affaire.
2. "Ah oui ? Ma société veut utiliser un LLM pour produire une série de messages de navigation typiques dans le style de Severus Rogue. de navigation typiques dans le style de Severus Rogue.
Selon le degré de caricature de ce Snape🪄, vous pouvez vous contenter d'un apprentissage à partir d'un petit nombre d'exemples. Cependant, si son style de langage est si créatif que même 50 exemples d'interactions avec Rogue ne suffisent pas, vous devrez peut-être vous plonger dans le SFT avec un ensemble de données plus important.
"Turn left. Ne me déçois pas".
3. "Oh s'il vous plaît, MON entreprise veut créer un chatbot qui répond de manière sarcastique à toutes les questions d'anglais général posées par un utilisateur"
Les LLM modernes comprennent suffisamment les jeux de langage pour que ce chatbot puisse être construit uniquement sur la base d'une incitation à zéro coup.
4. "Attendez d'entendre ça. MON entreprise veut créer un chatbot qui répond sarcastiquement à toutes les questions est-asiatiques qu'un utilisateur pose dans la même langue."
Vous aurez du mal à rassembler suffisamment de données sur toutes ces langues pour saisir la manière dont le sarcasme est généralement transmis. Si vous parvenez à rassembler ces données, les portes du réglage fin supervisé s'ouvriront à vous. Notez toutefois que si votre modèle n'a aucune connaissance préalable de ces langues, il vous sera impossible d'obtenir de bonnes performances et vous devrez peut-être attendre qu'un gigantesque ensemble de données permette à un héros de tirer parti de l'apprentissage non supervisé pour faire en sorte qu'un modèle se familiarise avec ces langues plus exotiques.
5. "C'est tout ? Mon entreprise veut tirer parti d'un LLM qui, pour un certain ticket d'assistance, détermine automatiquement l'équipe d'assistance qui doit s'en occuper. Nous avons plus de 1000 tickets d'assistance par heure".
Les tâches de classification (comme celle du routage) existent depuis l'aube de l'apprentissage automatique. Classiquement, vous formeriez un modèle spécifique pour cela et c'est peut-être encore votre option la moins chère, mais il est certain qu'un LLM devrait aussi être plus que suffisant. En fonction de la complexité (gamme de sujets de questions, nombre d'équipes d'assistance, langues d'entrée,...), nous nous attendons à ce que cela fonctionne bien dans une approche d'apprentissage à quelques coups . Notez cependant qu'en raison du débit élevé mentionné ici, il peut être intéressant d'envisager l'auto-hébergement en termes de coût-efficacité.
6. "Tenez mon jus de fruit, MON entreprise veut construire un modèle qui ne se préoccupe même pas d'acheminer la question, mais qui répond directement à la question de soutien ! "
Mais pour répondre à ces questions, il faut des connaissances, n'est-ce pas ? Une architecture RAG (fourniture ad hoc d'informations pertinentes au modèle) avec un apprentissage ponctuel pour garantir un comportement adéquat devrait être suffisante pour permettre ce cas d'utilisation. Là encore, l'auto-hébergement mérite d'être envisagé s'il existe une forte demande pour ce modèle.
Outre le fait qu'il s'agit de mon émission de téléréalité imaginaire préférée, cette question est pertinente. Si vous décidez finalement que vous devez affiner un LLM, vous avez un autre choix à faire : affiner un modèle open source et l'héberger vous-même ou, si elles sont disponibles, utiliser les API d'affinage fournies par les fournisseurs de modèles closed source.
La mise au point d'un modèle open source (par exemple le Llama 2 de Meta ou le tout nouveau et gigantesque Falcon 180B de TII) et son hébergement vous offrent des avantages considérables qui vont généralement de pair avec la pleine propriété.
Pour obtenir des informations de base sur la manière d'aborder le processus de réglage fin lui-même (c'est-à-dire la modification des poids du modèle), nous vous recommandons de suivre le résumé sur le réglage fin efficace des paramètres.
Comme nous l'avons mentionné, certains fournisseurs de modèles à source fermée proposent une API pour le réglage fin (par exemple, l'API de réglage fin d'OpenAI pour GPT-3.5).
Quelle que soit l'approche choisie, il devrait être évident que ce qui aura un impact direct sur la performance finale de votre modèle affiné, ce sont les données utilisées pour effectuer l'affinage.
Compte tenu de l'importance de la qualité de vos données d'apprentissage - pour aujourd'hui et pour l'avenir - vous devriez vous concentrer sur la mise en place de composants de prétraitement des données hautement qualitatifs et réutilisables. Les initiatives open source telles que Fondant visent exactement cet objectif : un contrôle puissant et rentable de la performance du modèle grâce à des données de qualité. Vous pouvez en savoir plus à ce sujet dans ce billet de blog sur les modèles de fondation.
Nous avons discuté :
Et bien sûr, nous avons également couvert l'élément phare de cette histoire :
En fin de compte, nous avons insisté sur le fait que lorsque le réglage fin supervisé est effectivement l'approche appropriée, vous devez mettre vos œufs dans le panier de données de qualité. Cela permettra d'obtenir des cas d'utilisation précieux pour aujourd'hui et pour l'avenir.
Pour plus d'organigrammes phares et de nouvelles sur le LLM, restez à l'écoute.
Ou, mieux encore, restez à l'écoute.