generative AI

Guide complet d'IBM Watsonx.ai et de l'IA générative

A visual guide to using IBM Watsonx.ai for generative AI applications.

Tutoriel : Qu'est-ce que l'IA générative et comment peut-elle être appliquée ?

L'IA générative fait référence à des modèles d'apprentissage profond qui peuvent générer du texte, des images et d'autres contenus de haute qualité en fonction des données sur lesquelles ils ont été entraînés. Un modèle de langage de grande taille (LLM) est un type de modèle de langage remarquable pour sa capacité à atteindre une compréhension et une génération de langage à usage général.

Le but de ce laboratoire est de montrer comment vous pouvez utiliser l'ingénierie des invites avec les LLM pour obtenir des réponses plus précises, pertinentes et conscientes du contexte liées à des informations de voyage sur les pays. Nous utiliserons ces informations lors de la construction de l'application dans le laboratoire 2.

Remarque : Les images suivantes montrent des résultats réels du laboratoire d'invite watsonx.ai. Le texte gris clair est ce que nous avons fourni au modèle. Le texte surligné en bleu est la réponse du modèle. Soyez conscient que les sorties montrées ici peuvent ne pas ressembler aux sorties que vous recevez lorsque vous utilisez le laboratoire d'invite.

Étapes

Étape 1 : Commencer

Lorsque vous ouvrez le laboratoire d'invite watsonx.ai et cliquez sur l'option de mode libre, voici ce que vous verrez. La grande zone de texte centrale est l'éditeur d'invite. Sur le côté droit, vous pouvez afficher les paramètres du modèle que vous pouvez utiliser pour optimiser la façon dont le modèle répond à votre invite. En bas à gauche se trouve un résumé du nombre de jetons utilisés par votre invite lors de l'exécution. Pour plus d'informations sur l'ingénierie des invites, consultez le laboratoire d'invite watsonx.

Remarque : Les modèles fournis dans le laboratoire d'invite sont des modèles de fond hébergés sur IBM Cloud, ce qui nous permet de les inférer ou de les appeler. Les LLM sont un type de modèle de fond que nous utiliserons dans ce laboratoire.

Étape 2 : Première invite

Lors du démarrage avec l'invite initiale, il est préférable d'essayer quelque chose rapidement, et si cela ne vous donne pas le résultat souhaité, n'hésitez pas à l'améliorer au fil du temps. Nous allons procéder étape par étape.

Commençons par :

  • Modèle : flan-t5-xxl-11b
  • Texte d'invite : Je pense à voyager en Thaïlande.

Cela produit une sortie lorsque nous appelons le modèle (en d'autres termes, cliquez sur le bouton "Générer") qui n'est pas très utile, car cela ne fournit pas d'informations sur la Thaïlande. Cela est analogue à interroger quelqu'un sur un sujet spécifique. Plus les questions sont ouvertes, plus les réponses sont génériques. Inversement, des questions plus fermées donnent des réponses spécifiques. Ainsi, nous devons réessayer et fournir un contexte plus spécifique dans l'invite pour aider à orienter le modèle à générer des informations pertinentes sur la Thaïlande.

Étape 3 : Être plus direct

Soyons plus directs dans notre invite :

  • Texte d'invite : Je pense à voyager en Thaïlande. Parlez-moi de la Thaïlande.

Cela produit une sortie plus prometteuse, car nous commençons à recevoir des informations sur la Thaïlande. Cependant, il semble se terminer en milieu de phrase. Le résumé du nombre de jetons (en bas à gauche) indique :

Raison d'arrêt : Paramètre de jetons max atteint.

Cela signifie que nous n'avons pas assez de jetons pour traiter la demande. Les jetons représentent la plus petite entité traitée par l'architecture du modèle. Pour notre discussion dans ce laboratoire, nous voyons les jetons comme des mots. Nous devons donc augmenter nos "Max jetons".

Étape 4 : Ajustement des paramètres du modèle

Lorsque nous augmentons Max jetons à 200 et réexécutons la même invite, nous produisons une sortie similaire à la suivante :

Cette fois, il a terminé la phrase, et le résumé du nombre de jetons indique :

Raison d'arrêt : Jeton de fin de séquence rencontré.

Tout est bon de ce côté. Chaque fois que nous interrogeons le modèle, cependant, il renverra la même réponse. Cela est dû au fait que nous utilisons le décodage gourmand, qui demande systématiquement au modèle de fournir ce qu'il croit être la meilleure réponse ou la plus statistiquement précise. Changeons la méthode de décodage en échantillonnage et voyons ce que le modèle renvoie avec la même invite à chaque fois.

Avec cet ajustement, vous verrez différentes réponses, rappelant le dicton : "La variété est l'épice de la vie !" Il existe d'autres paramètres disponibles pour configurer le modèle, mais nous ne les couvrirons pas dans ce laboratoire. Pour plus de détails sur les paramètres et comment les utiliser, consultez le laboratoire d'invite watsonx.

Étape 5 : Devenir plus spécifique

Avoir expérimenté avec le texte d'invite et les paramètres du modèle, nous avons guidé le modèle pour fournir des informations sur la Thaïlande. Cependant, ces informations sont encore assez générales. Pour la conception de notre application de voyage, nous voulons des informations adaptées aux intérêts des utilisateurs. Alors, mettons à jour le texte de l'invite comme suit pour obtenir des informations sur les sports nautiques et la nourriture :

  • Texte d'invite : Je pense à voyager en Thaïlande. J'aime les sports nautiques et la nourriture. Parlez-moi de la Thaïlande.

Cette réponse est très limitée et elle devrait être plus informative pour une utilisation pratique dans votre application. Nous avons expérimenté avec diverses invites et paramètres, mais nous manquons toujours des informations pertinentes requises. Peut-être est-il temps d'explorer un modèle différent ?

Étape 6 : Explorer d'autres modèles

Le laboratoire d'invite watsonx.ai fournit des cartes d'information concernant ses modèles pris en charge. Chaque carte inclut :

  • Fournisseur et source du modèle
  • Tâches auxquelles le modèle excelle
  • Comment ajuster le modèle
  • Document de référence dans lequel il est étayé
  • Biais, risques et limitations

Pour accéder aux informations sur les modèles, cliquez sur le menu déroulant à côté du nom du modèle et sélectionnez "Afficher tous les modèles de fond". Voici une liste des modèles actuellement pris en charge dans le laboratoire d'invite de niveau gratuit :

Cliquez sur le modèle llama-2-70b-chat pour consulter sa carte d'information. Il indique que le modèle est "optimisé pour les cas d'utilisation de dialogue", ce qui pourrait en faire un fort candidat pour nos besoins en collecte d'informations. Cliquez sur le bouton "Sélectionner le modèle" et essayons ce modèle pour voir s'il fournit plus d'informations sur la Thaïlande.

Étape 7 : Utiliser un modèle différent

Après avoir sélectionné le modèle llama-2-70b-chat et en maintenant la même invite et les mêmes paramètres, voyons ce que ce modèle renvoie.

Cela semble clairement être une amélioration, mais la réponse est encore une fois coupée – un schéma que nous avons déjà observé. Cela est validé par la raison d'arrêt indiquant que les jetons max ont été atteints.

Alors que les jetons augmentent, le coût d'appel d'un modèle augmente également. Cette fois, au lieu d'augmenter simplement le nombre de jetons, il serait judicieux de définir des limites sur l'invite.

Étape 8 : Ajouter des limites à l'invite

Nous allons mettre à jour le texte de l'invite pour inclure des contraintes sur la réponse retournée. De cette façon, nous guidons le modèle à retourner des informations limitées à notre demande définie :

  • Texte d'invite : Je pense à voyager en Thaïlande. J'aime les sports nautiques et la nourriture. Donnez-moi 5 phrases sur la Thaïlande.

Enfin, nous avons désormais une réponse à notre requête concernant la Thaïlande qui est utile, informative et adaptée aux préférences des utilisateurs. De plus, elle respecte notre limite maximale de jetons.

Conclusion et prochaines étapes

L'ajustement des invites d'un LLM offre une alternative à la formation et à la création d'un modèle adapté à vos besoins. Comme illustré dans ce laboratoire, ce processus nécessite des tests itératifs et des ajustements pour converger vers un modèle et une invite qui correspondent à vos spécifications. Bien que les exemples ici représentent un cas de base, les principes sont transférables à divers scénarios. Un contexte supplémentaire dans l'invite, ou même des exemples (c'est-à-dire, un exemple d'invite rapide), peut être nécessaire pour guider les réponses avec précision.

Il a été souligné plus tôt que les modèles sont hébergés sur IBM Cloud et sont accessibles par inférence/appel en cliquant sur le bouton "Générer". Vous pouvez consulter l'API REST en cliquant sur le menu déroulant "Voir le code" comme indiqué, ce qui vous permet de voir tous les détails de l'appel API, y compris le nom du modèle, le texte de l'invite et les paramètres.

En lire plus

A user-friendly interface of LlamaFactory for fine-tuning AI models.
Illustration of AI model training process with smaller and larger models

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés.

Ce site est protégé par hCaptcha, et la Politique de confidentialité et les Conditions de service de hCaptcha s’appliquent.