Partager via


Apprentissage à zéro et à quelques coups

Cet article explique l'apprentissage à partir de zéro et l'apprentissage à partir de peu d'échantillons pour l'ingénierie rapide dans .NET, y compris leurs principaux cas d'utilisation.

Les performances du modèle GPT bénéficient de l’ingénierie d’invite, la pratique de fournir des instructions et des exemples à un modèle pour affiner sa sortie. L'apprentissage à partir d'un point zéro et l'apprentissage à partir de quelques points sont des techniques que vous pouvez utiliser lorsque vous donnez des exemples.

Dans le cas de l'apprentissage à partir de zéro, vous incluez des messages-guides, mais pas de compléments textuels. Vous pouvez inclure des saisies semi-automatiques qui se composent uniquement de signaux. L'apprentissage zéro s'appuie entièrement sur les connaissances existantes du modèle pour générer des réponses, ce qui réduit le nombre de jetons créés et peut vous aider à contrôler les coûts. Cependant, l'apprentissage à partir de zéro n'enrichit pas les connaissances du modèle.

Voici un exemple d'invite zéro qui demande au modèle d'évaluer les données de l'utilisateur pour déterminer laquelle des quatre intentions possibles est représentée, puis de faire précéder sa réponse de la mention « Intention ».

prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.
User Input: {request}
Intent: 
""";

Dans le cas de l'apprentissage en quelques séquences, vous incluez des messages-guides associés à des compléments textuels. Par rapport à l'apprentissage à partir de zéro, cela signifie que l'apprentissage à partir de peu d'unités produit plus de jetons et oblige le modèle à mettre à jour ses connaissances, ce qui peut rendre l'apprentissage à partir de peu d'unités plus gourmand en ressources. Cependant, pour les mêmes raisons, l'apprentissage à quelques coups aide également le modèle à produire des réponses plus pertinentes.

prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.

User Input: Can you send a very quick approval to the marketing team?
Intent: SendMessage

User Input: Can you send the full update to the marketing team?
Intent: SendEmail

User Input: {request}
Intent:
""";

Cas d'utilisation de l'apprentissage à partir de zéro

L'apprentissage zéro est la pratique consistant à faire passer des messages-guides qui ne sont pas associés à des compléments textuels, bien qu'ils puissent être associés à un indice. Il y a deux cas d'utilisation principaux pour l'apprentissage à partir de zéro :

  • Travailler avec des LLM affinés - Parce qu'il s'appuie sur les connaissances existantes du modèle, l'apprentissage à partir de zéro n'est pas aussi gourmand en ressources que l'apprentissage à partir de quelques coups, et il fonctionne bien avec des LLM qui ont déjà été affinés sur des ensembles de données d'instruction. Vous pourriez être en mesure de vous appuyer uniquement sur l'apprentissage à partir de zéro et de maintenir les coûts à un niveau relativement bas.
  • Établir des références en matière de performances - L'apprentissage à partir de zéro peut vous aider à simuler les performances de votre application pour des utilisateurs réels. Cela vous permet d'évaluer divers aspects de la performance actuelle de votre modèle, tels que l'exactitude ou la précision. Dans ce cas, vous utilisez généralement l'apprentissage à partir de zéro pour établir une base de performance, puis vous expérimentez l'apprentissage à partir de quelques coups pour améliorer la performance.

Cas d’usage d’apprentissage à quelques coups

L'apprentissage par petites touches est la pratique qui consiste à faire passer des messages-guides associés à des compléments textuels (messages-guides par petites touches) pour montrer à votre modèle comment répondre. Contrairement à l'apprentissage à partir de zéro, l'apprentissage à partir de quelques coups peut enrichir les connaissances du modèle. Vous pouvez même utiliser vos propres ensembles de données pour générer automatiquement des messages-guides à court terme, en procédant à une génération augmentée par l'extraction.

L'apprentissage à partir de quelques images a deux utilisations principales :

  • Ajustement d'un LLM - Parce qu'il peut ajouter à la connaissance du modèle, l'apprentissage à quelques coups peut améliorer la performance d'un modèle. Il oblige également le modèle à créer plus de jetons que ne le fait l'apprentissage à partir de zéro, ce qui peut finir par devenir excessivement coûteux, voire infaisable. Cependant, si votre LLM n'est pas encore au point, vous n'obtiendrez pas de bonnes performances avec des invites à zéro coup, et l'apprentissage à quelques coups est justifié.
  • Résolution des problèmes de performance - Vous pouvez utiliser l'apprentissage à quelques coups comme suivi de l'apprentissage à zéro coup. Dans ce cas, vous utilisez l'apprentissage à partir de zéro pour établir une base de performance, puis vous expérimentez l'apprentissage à partir de quelques images en vous basant sur les invites à partir de zéro que vous avez utilisées. Cela vous permet d'enrichir les connaissances du modèle après avoir vu comment il réagit actuellement, de sorte que vous pouvez itérer et améliorer les performances tout en minimisant le nombre de jetons que vous introduisez.

Mises en garde

  • L'apprentissage par l'exemple ne fonctionne pas bien pour les tâches de raisonnement complexes. Toutefois, l'ajout d'instructions peut contribuer à résoudre ce problème.
  • L'apprentissage en quelques clics nécessite la création de longs messages-guides. Les invites comportant un grand nombre de jetons peuvent augmenter le temps de calcul et de latence. Cela se traduit généralement par une augmentation des coûts. Il existe également une limite à la longueur des invites.
  • Lorsque vous utilisez plusieurs exemples, le modèle peut apprendre de faux modèles, tels que « Les sentiments sont deux fois plus susceptibles d’être positifs que négatifs »