L'unité précédente décrivait les LLM à usage général, également appelés:
- LLM de base
- LLM de base
- LLM pré-entraînés
Un LLM de base est entraîné sur suffisamment de langage naturel pour "savoir" une quantité remarquable de choses sur la grammaire, les mots et les expressions idiomatiques. Un modèle de langage de base peut générer des phrases utiles sur les sujets sur lesquels il est entraîné. De plus, un LLM de base peut effectuer certaines tâches traditionnellement appelées "créatives", comme écrire de la poésie. Cependant, la sortie de texte générative d'un LLM de fondation n'est pas une solution pour d'autres types de problèmes de ML courants, tels que la régression ou la classification. Pour ces cas d'utilisation, un LLM de base peut servir de plate-forme plutôt que de solution.
La transformation d'un LLM de base en une solution répondant aux besoins d'une application nécessite un processus appelé ajustement. Un processus secondaire appelé distillation génère une version plus petite (moins de paramètres) du modèle affiné.
Affinage
Les recherches montrent que les capacités de reconnaissance de modèles des modèles de langage de base sont si puissantes qu'elles nécessitent parfois relativement peu d'entraînement supplémentaire pour apprendre des tâches spécifiques. Cet entraînement supplémentaire permet au modèle d'obtenir de meilleures prédictions pour une tâche spécifique. Cet entraînement supplémentaire, appelé ajustement, permet de débloquer le côté pratique d'un LLM.
Le réglage fin s'effectue sur des exemples spécifiques à la tâche que votre application effectuera. Les ingénieurs peuvent parfois affiner un LLM de base sur quelques centaines ou quelques milliers d'exemples d'entraînement.
Malgré le nombre relativement faible d'exemples d'entraînement, l'ajustement fin standard est souvent coûteux en ressources de calcul. En effet, l'ajustement fin standard implique la mise à jour du poids et du biais de chaque paramètre à chaque itération de la backpropagation. Heureusement, un processus plus intelligent appelé optimisation efficace des paramètres peut affiner un LLM en ne ajustant qu'un sous-ensemble de paramètres à chaque itération de rétropropagation.
Les prédictions d'un modèle affiné sont généralement meilleures que celles du LLM de fondation. Toutefois, un modèle affiné contient le même nombre de paramètres que le LLM de fondation. Par conséquent, si un LLM de base contient dix milliards de paramètres, la version affinée en contiendra également dix milliards.
Distillation
La plupart des LLM affinés contiennent un très grand nombre de paramètres. Par conséquent, les LLM de base nécessitent d'énormes ressources de calcul et environnementales pour générer des prédictions. Notez que de grandes parties de ces paramètres sont généralement sans rapport avec une application spécifique.
La distillation crée une version plus petite d'un LLM. Le LLM condensé génère des prédictions beaucoup plus rapidement et nécessite moins de ressources de calcul et environnementales que le LLM complet. Toutefois, les prédictions du modèle distillé ne sont généralement pas aussi bonnes que celles du LLM d'origine. N'oubliez pas que les LLM avec plus de paramètres génèrent presque toujours de meilleures prédictions que les LLM avec moins de paramètres.
Prompt engineering
L'ingénierie des requêtes permet aux utilisateurs finaux d'un LLM de personnaliser la sortie du modèle. Autrement dit, les utilisateurs finaux précisent comment le LLM doit répondre à leur requête.
Les humains apprennent bien des exemples. Les LLM aussi. Afficher un seul exemple à un LLM s'appelle requête one-shot. Par exemple, supposons que vous souhaitiez qu'un modèle utilise le format suivant pour générer la famille d'un fruit:
L'utilisateur saisit le nom d'un fruit: le LLM génère la classe de ce fruit.
Une requête one-shot présente au LLM un seul exemple du format précédent, puis lui demande d'effectuer une requête basée sur cet exemple. Par exemple :
peach: drupe apple: ______
Un seul exemple suffit parfois. Si c'est le cas, le LLM renvoie une prédiction utile. Par exemple :
apple: pome
Dans d'autres cas, un seul exemple ne suffit pas. Autrement dit, l'utilisateur doit présenter plusieurs exemples de LLM. Par exemple, la requête suivante contient deux exemples:
plum: drupe pear: pome lemon: ____
Fournir plusieurs exemples est appelé requête few-shot. Vous pouvez considérer les deux premières lignes de la requête précédente comme des exemples d'entraînement.
Un LLM peut-il fournir des prédictions utiles sans exemples (incitation zero-shot) ? Parfois, mais les LLM aiment le contexte. Sans contexte, la requête sans échantillon suivante peut renvoyer des informations sur l'entreprise technologique plutôt que sur le fruit:
apple: _______
Inférence hors connexion
Le nombre de paramètres dans un LLM est parfois si important que l'inférence en ligne est trop lente pour être pratique pour des tâches réelles telles que la régression ou la classification. Par conséquent, de nombreuses équipes d'ingénieurs s'appuient sur l'inférence hors connexion (également appelée inférence groupée ou inférence statique). En d'autres termes, plutôt que de répondre aux requêtes au moment de la diffusion, le modèle entraîné effectue des prédictions à l'avance, puis les met en cache.
Peu importe qu'un LLM mette beaucoup de temps à accomplir sa tâche s'il ne doit l'effectuer qu'une fois par semaine ou par mois.
Par exemple, la recherche Google a utilisé un LLM pour effectuer des inférences hors connexion afin de mettre en cache une liste de plus de 800 synonymes pour les vaccins contre la COVID dans plus de 50 langues. La recherche Google a ensuite utilisé la liste mise en cache pour identifier les requêtes sur les vaccins dans le trafic en direct.
Utiliser les LLM de manière responsable
Comme toute forme de machine learning, les LLM partagent généralement les biais suivants:
- Les données avec lesquelles ils ont été entraînés.
- Les données sur lesquelles ils ont été distillés.
Utilisez les LLM de manière juste et responsable, conformément aux cours présentés précédemment dans ce cours.