Création d’une tâche d’évaluation automatique de modèles dans Studio - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d’une tâche d’évaluation automatique de modèles dans Studio

L’assistant disponible dans Studio vous guide dans le choix d’un modèle à évaluer, la sélection d’un type de tâche, le choix des métriques et des jeux de données, ainsi que la configuration des ressources requises. Les rubriques suivantes vous montrent comment formater un jeu de données d’entrée personnalisé facultatif, configurer votre environnement et créer la tâche d’évaluation de modèles dans Studio.

Pour utiliser votre propre jeu de données d’invite personnalisé, il doit s’agir d’un fichier jsonlines dans lequel chaque ligne est un objet JSON valide. Chaque objet JSON doit contenir une invite individuelle.

Pour garantir le bon fonctionnement du JumpStart modèle que vous sélectionnez, SageMaker Clarify met automatiquement en forme tous les ensembles de données demandés afin qu'ils soient dans le format qui convient le mieux aux dimensions d'évaluation du modèle que vous sélectionnez. Pour les ensembles de données d'invite intégrés, SageMaker Clarify complétera également votre invite avec un texte d'instructions supplémentaire. Pour voir comment SageMaker Clarify modifiera les instructions, choisissez un modèle d'invite sous une dimension d'évaluation que vous avez ajoutée à la tâche d'évaluation du modèle. Pour voir un exemple de la façon dont vous pouvez modifier un modèle d’invite, consultez Exemple de modèle d’invite.

Le bouton vous permet de désactiver ou d'activer la prise en charge automatique des modèles d'invite fournie par SageMaker Clarify pour les ensembles de données intégrés. La désactivation de la modélisation d’invite automatique vous permet de spécifier vos propres modèles d’invite personnalisés qui seront appliqués à toutes les invites dans votre jeu de données.

Pour savoir quelles clés sont disponibles pour un jeu de données personnalisé dans l’interface utilisateur, consultez les listes de tâches suivantes.

  • model_input : nécessaire pour indiquer l’entrée pour les tâches suivantes.

    • L’invite à laquelle votre modèle doit répondre dans le cadre de tâches de génération ouverte, de toxicité et d’exactitude.

    • La question à laquelle votre modèle doit répondre dans les tâches de réponses aux questions et de connaissances factuelles.

    • Le texte que votre modèle doit résumer dans les tâches de synthétisation de texte.

    • Le texte que votre modèle doit classifier dans les tâches de classification.

    • Le texte que vous souhaitez que votre modèle perturbe dans les tâches de robustesse sémantique.

  • target_output : nécessaire pour indiquer la réponse par rapport à laquelle votre modèle est évalué pour les tâches suivantes.

    • La réponse pour les tâches de réponses aux questions, d’exactitude, de robustesse sémantique et d’évaluation factuelle.

    • Pour les tâches d’exactitude et de robustesse sémantique, séparez les réponses acceptables par un <OR>. L’évaluation accepte toutes les réponses séparées par une virgule comme étant correctes. À titre d’exemple, utilisez target_output="UK<OR>England<OR>United Kingdom", si vous souhaitez accepter UK, England ou United Kingdom en tant que réponses acceptables.

  • (Facultatif) category : génère des scores d’évaluation rapportés pour chaque catégorie.

  • sent_less_input : obligatoire pour indiquer l’invite contenant moins de biais pour les tâches de stéréotypage d’invite.

  • sent_more_input : obligatoire pour indiquer l’invite contenant plus de biais pour les tâches de stéréotypage d’invite.

Une évaluation des connaissances factuelles requiert à la fois la question à poser et la réponse à laquelle sera comparée la réponse du modèle. Utilisez la clé model_input, avec la valeur contenue dans la question, et la clé target_output avec la valeur contenue dans la réponse comme suit :

{"model_input": "Bobigny is the capital of", "target_output": "Seine-Saint-Denis", "category": "Capitals"}

L’exemple précédent est un objet JSON valide individuel qui constitue un enregistrement dans un fichier d’entrée jsonlines. Chaque objet JSON est envoyé à votre modèle sous forme de demande. Pour effectuer plusieurs demandes, incluez plusieurs lignes. L’exemple d’entrée de données ci-dessous concerne une tâche question/réponse qui utilise une clé facultative category pour l’évaluation.

{"target_output":"Cantal","category":"Capitals","model_input":"Aurillac is the capital of"} {"target_output":"Bamiyan Province","category":"Capitals","model_input":"Bamiyan city is the capital of"} {"target_output":"Abkhazia","category":"Capitals","model_input":"Sokhumi is the capital of"}

Si vous évaluez votre algorithme dans l’interface utilisateur, les valeurs par défaut suivantes sont définies pour votre jeu de données d’entrée :

  • Le nombre d’enregistrements utilisés par l’évaluation est fixe. L’algorithme échantillonne ce nombre de demandes de manière aléatoire à partir de votre jeu de données d’entrée.

    • Pour modifier ce nombre : utilisez la bibliothèque fmeval comme décrit dans Personnaliser votre flux de travail à l’aide de la bibliothèque fmeval, et définissez le paramètre num_records sur le nombre d’échantillons que vous souhaitez, ou -1 pour spécifier le jeu de données complet. Le nombre par défaut d’enregistrements évalués est de 100 pour les tâches d’exactitude, de stéréotypage d’invite, de toxicité, de classification et de robustesse sémantique. Le nombre par défaut d’enregistrements pour une tâche de connaissances factuelles est de 300.

  • Le délimiteur de sortie cible, tel que décrit précédemment dans le paramètre target_output, est défini sur <OR> dans l’interface utilisateur.

    • Pour séparer les réponses acceptables à l’aide d’un autre délimiteur : utilisez la bibliothèque fmeval comme décrit dans Personnaliser votre flux de travail à l’aide de la bibliothèque fmeval et définissez le paramètre target_output_delimiter sur le délimiteur que vous souhaitez.

  • Vous devez utiliser un modèle de JumpStart langage basé sur le texte disponible pour l'évaluation du modèle. Ces modèles comportent plusieurs paramètres de configuration d'entrée de données qui sont transmis automatiquement au FMeval processus.

    • Pour utiliser un autre type de modèle : utilisez la bibliothèque fmeval pour définir la configuration des données pour votre jeu de données d’entrée.

Pour exécuter une évaluation automatique pour votre grand modèle de langage (LLM), vous devez configurer votre environnement afin de disposer des autorisations appropriées pour exécuter une évaluation. Vous pouvez ensuite utiliser l’interface utilisateur comme guide tout au long des étapes du flux de travail pour effectuer une évaluation. Les sections suivantes expliquent comment utiliser l’interface utilisateur pour exécuter une évaluation automatique.

Conditions préalables
  • Pour effectuer une évaluation de modèles dans une interface utilisateur de Studio, votre rôle Gestion des identités et des accès AWS (IAM) et tous les jeux de données d’entrée doivent disposer des autorisations correctes. Si vous n'avez pas de rôle SageMaker AI Domain ou IAM, suivez les étapes décrites dansGuide de configuration d'Amazon SageMaker AI.

Pour définir des autorisations pour votre compartiment S3

Une fois votre domaine et votre rôle créés, suivez les étapes ci-dessous pour ajouter les autorisations nécessaires à l’évaluation de votre modèle.

  1. Ouvrez la console Amazon SageMaker AI à l'adresse https://console.aws.amazon.com/sagemaker/.

  2. Dans le volet de navigation, entrez S3 dans la barre de recherche en haut de la page.

  3. Choisissez S3 sous Services.

  4. Choisissez Compartiments dans le volet de navigation.

  5. Dans la section Compartiments à usage général, sous Nom, choisissez le nom du compartiment Amazon S3 que vous souhaitez utiliser pour stocker votre jeu de données d’invite personnalisé et dans lequel vous souhaitez enregistrer les résultats de votre tâche d’évaluation de modèles. Votre compartiment Amazon S3 doit se trouver dans le même Région AWS emplacement que votre instance Studio. Si vous n’avez pas de compartiment Amazon S3, procédez comme suit.

    1. Sélectionnez Créer un compartiment pour ouvrir une nouvelle page Créer un compartiment.

    2. Dans la section Configuration générale, sous Région AWS, sélectionnez la région AWS où se trouve votre modèle de fondation.

    3. Nommez votre compartiment S3 dans la zone de saisie, sous Nom du compartiment.

    4. Acceptez tous les choix par défaut.

    5. Sélectionnez Créer un compartiment.

    6. Dans la section Compartiments à usage général, sous Nom, sélectionnez le nom du compartiment S3 que vous avez créé.

  6. Sélectionnez l’onglet Autorisations.

  7. Faites défiler l’affichage jusqu’à la section Partage des ressources entre origines (CORS) en bas de la fenêtre. Choisissez Modifier.

  8. Pour ajouter les autorisations CORS à votre compartiment, copiez le code suivant dans la zone de saisie.

    [ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [ "Access-Control-Allow-Origin" ] } ]
  9. Sélectionnez Enregistrer les modifications.

Pour ajouter des autorisations à votre politique IAM
  1. Dans la barre de recherche en haut de la page, entrez IAM.

  2. Sous Services, sélectionnez Identity and Access Management (IAM).

  3. Choisissez Politiques dans le volet de navigation.

  4. Choisissez Create Policy (Créer une politique). Quand l’Éditeur de politique s’ouvre, choisissez JSON.

  5. Choisissez Suivant.

  6. Assurez-vous que les autorisations suivantes apparaissent dans l’Éditeur de politique. Vous pouvez également copier et coller ce qui suit dans l’Éditeur de politique.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "s3:GetObject", "s3:PutObject", "s3:ListBucket", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sagemaker:Search", "sagemaker:CreateProcessingJob", "sagemaker:DescribeProcessingJob" ], "Resource": "*" } ] }
  7. Choisissez Suivant.

  8. Entrez un nom de politique dans la section Détails de la politique, sous Nom de la politique. Vous pouvez également saisir une description facultative. Vous rechercherez ce nom de politique lorsque vous l’attribuerez à un rôle.

  9. Choisissez Create Policy (Créer une politique).

Pour ajouter des autorisations à votre rôle IAM
  1. Choisissez Rôles dans le panneau de navigation. Entrez le nom du rôle que vous souhaitez utiliser.

  2. Sélectionnez le nom du rôle sous Nom du rôle. La fenêtre principale change pour afficher les informations relatives à votre rôle.

  3. Dans la section Politiques d’autorisations, choisissez la flèche vers le bas en regard de Ajouter des autorisations.

  4. Parmi les options qui s’affichent, choisissez Attacher des politiques.

  5. Dans la liste des politiques qui apparaissent, recherchez la politique que vous avez créée à l’étape 5. Cochez la case en regard du nom de votre politique.

  6. Choisissez la flèche vers le bas à côté de Actions.

  7. Parmi les options qui s’affichent, sélectionnez Attacher.

  8. Recherchez le nom du rôle que vous avez créé. Cochez la case en regard de ce nom.

  9. Choisissez Ajouter des autorisations. Une bannière en haut de la page doit indiquer La stratégie a été attachée au rôle.

  • .

Lorsque vous créez une tâche d'évaluation automatique de modèle, vous pouvez choisir parmi les JumpStart modèles textuels disponibles ou utiliser un JumpStart modèle basé sur du texte que vous avez précédemment déployé sur un point de terminaison.

Pour créer une tâche d’évaluation automatique de modèles, appliquez la procédure suivante.

Pour lancer une tâche d’évaluation automatique de modèles dans Studio
  1. Ouvrez la console Amazon SageMaker AI à l'adresse https://console.aws.amazon.com/sagemaker/.

  2. Dans la barre de recherche en haut de la page, entrez SageMaker AI.

  3. Sous Services, sélectionnez Amazon SageMaker AI.

  4. Choisissez Studio dans le volet de navigation.

  5. Choisissez votre domaine dans la section Mise en route, après avoir développé la flèche vers le bas sous Sélectionner un domaine.

  6. Choisissez votre profil utilisateur dans la section Mise en route, après avoir développé la flèche vers le bas sous Sélectionner un profil utilisateur.

  7. Choisissez Ouvrir Studio pour ouvrir la page de destination de Studio.

  8. Choisissez Tâches dans le volet de navigation principal.

  9. Ensuite, choisissez Évaluation des modèles.

Pour configurer une tâche d’évaluation
  1. Ensuite, choisissez Évaluer un modèle.

  2. Dans Étape 1 : Spécification des détails de la tâche, procédez comme suit :

    1. Entrez le nom de votre évaluation de modèles. Ce nom vous permet d’identifier votre tâche d’évaluation de modèles une fois qu’elle a été soumise.

    2. Entrez une description pour ajouter plus de contexte au nom.

    3. Choisissez Suivant.

  3. Dans Étape 2 : Configuration de l’évaluation, procédez comme suit :

    1. Sous Type d’évaluation, choisissez Automatique.

    2. Ensuite, choisissez Ajouter un modèle à l’évaluation.

    3. Dans le mode Ajouter un modèle, vous pouvez choisir d'utiliser un modèle de base Jumpstart pré-entraîné ou SageMaker un point de terminaison AI. Si vous avez déjà déployé le JumpStart modèle, choisissez le point de terminaison SageMaker AI, sinon choisissez le modèle de base Jumpstart pré-entraîné.

    4. Ensuite, choisissez Enregistrer.

    5. (Facultatif) Après avoir ajouté votre modèle, choisissez Modèle d’invite pour voir le format d’entrée attendu pour les invites en fonction du modèle que vous avez sélectionné. Pour en savoir plus sur la manière de configurer un modèle d’invite pour un jeu de données, consultez Modèles d’invites.

      • Pour utiliser le modèle d’invite par défaut, procédez comme suit :

        1. Activez Utiliser les modèles d’invite par défaut fournis par les jeux de données.

        2. (Facultatif) Pour chaque jeu de données, passez en revue l’invite fournie par Clarify.

        3. Choisissez Enregistrer.

      • Pour utiliser un modèle d’invite personnalisé, procédez comme suit :

        1. Désactivez Utiliser les modèles d’invite par défaut fournis par les jeux de données.

        2. Si Clarify affiche une invite par défaut, vous pouvez la personnaliser ou la supprimer et fournir la vôtre. Vous devez inclure la variable $model_input dans le modèle d’invite.

        3. Choisissez Enregistrer.

    6. Ensuite, sous Type de tâche, choisissez un type de tâche.

      Pour plus d’informations sur les types de tâches et les dimensions d’évaluation associées, consultez Évaluation automatique dans Utilisation de jeux de données d’invite et de dimensions d’évaluation disponibles dans les tâches d’évaluation de modèles .

    7. Dans la section Métriques d’évaluation, choisissez une dimension d’évaluation. La zone de texte située sous Description contient des données contextuelles supplémentaires concernant la dimension.

      Une fois que vous avez sélectionné une tâche, les métriques associées à cette tâche apparaissent sous Métriques. Dans cette section, procédez comme suit.

    8. Sélectionnez une dimension d’évaluation via la flèche vers le bas sous Dimension d’évaluation.

    9. Choisissez un jeu de données d’évaluation. Vous pouvez choisir d’utiliser votre propre jeu de données ou d’utiliser un jeu de données intégré. Si vous souhaitez utiliser votre propre jeu de données pour évaluer le modèle, celui-ci doit être formaté de manière à FMEval pouvoir être utilisé. Il doit également se trouver dans un compartiment S3 doté des autorisations CORS référencées dans la section Configuration de votre environnement précédente. Pour plus d’informations sur la manière de formater un jeu de données personnalisé, consultez Utilisation d’un jeu de données d’entrée personnalisé.

    10. Entrez un emplacement de compartiment S3 dans lequel vous voulez enregistrer les résultats d’évaluation obtenus. Ce fichier est au format jsonlines (.jsonl).

    11. Configurez votre processeur dans la section Configuration du processeur à l’aide des paramètres suivants :

      • Utilisez Nombre d’instances pour spécifier le nombre d’instances de calcul que vous voulez utiliser pour exécuter votre modèle. Si vous utilisez plus de 1 instance, votre modèle est exécuté dans des instances parallèles.

      • Utilisez Type d’instance pour choisir le type d’instance de calcul que vous souhaitez utiliser pour exécuter votre modèle. Pour plus d’informations sur les types d’instance, consultez Types d'instances disponibles pour une utilisation avec les blocs-notes Amazon SageMaker Studio Classic.

      • Utilisez la clé Volume KMS pour spécifier votre clé de chiffrement AWS Key Management Service (AWS KMS). SageMaker L'IA utilise votre AWS KMS clé pour chiffrer le trafic entrant provenant du modèle et de votre compartiment Amazon S3. Pour plus d’informations sur les clés, consultez AWS Key Management Service.

      • Utilisez la clé KMS de sortie pour spécifier votre clé de AWS KMS chiffrement pour le trafic sortant.

      • Utilisez Rôle IAM pour spécifier l’accès et les autorisations pour le processeur par défaut. Entrez le rôle IAM que vous avez configuré dans Configuration de votre environnement.

    12. Après avoir spécifié votre modèle et vos critères, choisissez Suivant. La fenêtre principale passe à Étape 5 : Vérification et sauvegarde.

Vérification et exécution de votre tâche d’évaluation
  1. Passez en revue tous les paramètres, modèles et données que vous avez sélectionnés pour votre évaluation.

  2. Choisissez Créer une ressource pour exécuter votre évaluation.

  3. Pour vérifier le statut de votre tâche, accédez à la partie supérieure de la section Évaluations des modèles sur la page.