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

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 du modèle à évaluer, le type de tâche, le choix des métriques et des ensembles de données, ainsi que la configuration des ressources requises. Les rubriques suivantes expliquent comment formater un jeu de données d'entrée personnalisé facultatif, configurer votre environnement et créer la tâche d'évaluation du modèle dans Studio.

Si vous utilisez un jeu de données intégré pour évaluer votre modèle dans Studio, le jeu de données est correctement formaté. Pour utiliser votre propre jeu de données d'invite personnalisé, il doit s'agir d'un jsonlines fichier dans lequel chaque ligne est un JSON objet valide. Chaque JSON objet doit contenir une seule invite.

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, voir 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 du modèle d'invite automatique vous permet de spécifier vos propres modèles d'invite personnalisés qui seront appliqués à toutes les invites de votre ensemble de données.

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

  • model_input— Obligatoire 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, de toxicité et de précision ouvertes.

    • La question à laquelle votre modèle doit répondre sous forme de réponses aux questions et de connaissances factuelles.

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

    • Le texte que votre modèle doit classer 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— Obligatoire pour indiquer la réponse par rapport à laquelle votre modèle est évalué pour les tâches suivantes.

    • La réponse aux questions, la précision, la robustesse sémantique et les tâches d'évaluation factuelles.

    • Pour des tâches de précision et de robustesse sémantique, séparez les réponses acceptables par un. <OR> L'évaluation considère que toutes les réponses séparées par une virgule sont correctes. À titre d'exemple, utiliseztarget_output="UK<OR>England<OR>United Kingdom", si vous souhaitez accepter l'une ou l'autre des réponses UK England ou United Kingdom en tant que réponses acceptables.

  • (Facultatif) category — Génère les scores d'évaluation indiqués pour chaque catégorie.

  • sent_less_input— Obligatoire pour indiquer l'invite la moins biaisée pour les tâches de stéréotypage rapides.

  • sent_more_input— Obligatoire pour indiquer l'invite qui contient le plus de biais pour les tâches de stéréotypage rapides.

Une évaluation factuelle des connaissances nécessite à la fois la question à poser et la réponse par rapport à laquelle comparer 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 JSON objet valide unique qui constitue un enregistrement dans un fichier jsonlines d'entrée. Chaque JSON objet 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 en 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 fmeval bibliothèque comme décrit dans Personnaliser votre flux de travail à l'aide de la fmeval bibliothèque, et définissez le paramètre num_records sur le nombre d'échantillons souhaité, ou -1 pour spécifier l'ensemble de données dans son intégralité. Le nombre d'enregistrements évalués par défaut concerne les tâches de précision, 100 de stéréotypage rapide, de toxicité, de classification et de robustesse sémantique. Le nombre d'enregistrements par défaut pour une tâche de connaissance factuelle est300.

  • Le délimiteur de sortie cible, tel que décrit précédemment dans le target_output paramètre, 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 fmeval bibliothèque comme décrit dans Personnaliser votre flux de travail à l'aide de la fmeval bibliothèque et définissez le paramètre target_output_delimiter sur le délimiteur souhaité.

  • 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 fmeval bibliothèque pour définir la configuration des données de votre jeu de données en entrée.

Pour exécuter une évaluation automatique pour votre modèle de langage étendu (LLM), vous devez configurer votre environnement de manière à disposer des autorisations appropriées pour exécuter une évaluation. Vous pouvez ensuite utiliser l'interface utilisateur pour vous guider à travers les étapes du flux de travail et effectuer une évaluation. Les sections suivantes expliquent comment utiliser l'interface utilisateur pour exécuter une évaluation automatique.

Prérequis
  • Pour exécuter une évaluation de modèle dans une interface utilisateur de Studio, votre rôle AWS Identity and Access Management (IAM) et tous les ensembles de données d'entrée doivent disposer des autorisations appropriées. Si vous n'avez pas de SageMaker domaine ou de IAM rôle, suivez les étapes décrites dansGuide de configuration avec Amazon SageMaker.

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 SageMaker console Amazon à l'adresse https://console.aws.amazon.com/sagemaker/.

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

  3. Choisissez S3 sous Services.

  4. Choisissez Buckets 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 ensemble de données d'invite personnalisé et dans lequel vous souhaitez enregistrer les résultats de votre tâche d'évaluation de modèle. Votre compartiment Amazon S3 doit se trouver dans le même Région AWS emplacement que votre instance Studio. Si vous ne possédez pas de compartiment Amazon S3, procédez comme suit.

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

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

    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. Choisissez l’onglet Permissions (Autorisations).

  7. Accédez à la section Partage de ressources entre origines (CORS) en bas de la fenêtre. Choisissez Modifier.

  8. Pour ajouter les CORS autorisations à votre bucket, 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 IAM politique
  1. Dans la barre de recherche en haut de la page, entrezIAM.

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

  3. Choisissez Policies dans le volet de navigation.

  4. Choisissez Create Policy (Créer une politique). Lorsque l'éditeur de politiques s'ouvre, choisissez JSON.

  5. Choisissez Suivant.

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

    { "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 le nom de la politique dans la section Détails de la politique, sous Nom de la politique. Vous pouvez également saisir une description facultative. Vous rechercherez le nom de cette politique lorsque vous l'attribuerez à un rôle.

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

Pour ajouter des autorisations à votre IAM rôle
  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, cliquez sur la flèche vers le bas à côté de Ajouter des autorisations.

  4. Parmi les options qui s'affichent, choisissez Joindre des politiques.

  5. Dans la liste des politiques qui s'affichent, recherchez la politique que vous avez créée à l'étape 5. Cochez la case à côté du nom de votre police.

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

  7. Parmi les options qui s'affichent, sélectionnez Joindre.

  8. Recherchez le nom du rôle que vous avez créé. Cochez la case à côté du nom.

  9. Choisissez Add permissions (Ajouter des autorisations). Une bannière en haut de la page doit indiquer que la politique a été correctement 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 du modèle, suivez la procédure suivante.

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

  2. Dans la barre de recherche en haut de la page, entrezSageMaker.

  3. Sous Services, sélectionnez Amazon SageMaker.

  4. Choisissez Studio dans le volet de navigation.

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

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

  7. Choisissez Open Studio pour ouvrir la page d'accueil de Studio.

  8. Choisissez Jobs dans le volet de navigation principal.

  9. Choisissez ensuite Évaluation du modèle.

Pour configurer une tâche d'évaluation
  1. Ensuite, choisissez Evaluer un modèle,.

  2. À l'étape 1 : Spécifier les détails de la tâche, procédez comme suit :

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

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

    3. Choisissez Suivant.

  3. À l'étape 2 : Configuration de l'évaluation, procédez comme suit :

    1. Sous Type d'évaluation, sélectionnez Automatique.

    2. Choisissez ensuite 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 un point de terminaison. SageMaker Si vous avez déjà déployé le JumpStart modèle, choisissez le point de SageMaker terminaison, 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 de saisie attendu pour les invites en fonction du modèle que vous avez sélectionné. Pour plus d'informations sur la configuration d'un modèle d'invite pour un ensemble de données, consultezModè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 ensembles de données.

        2. (Facultatif) Pour chaque ensemble de données, consultez l'invite fournie par Clarify.

        3. Choisissez Save (Enregistrer).

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

        1. Désactiver Utiliser les modèles d'invite par défaut fournis par les ensembles 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 $model_input variable dans le modèle d'invite.

        3. Choisissez Save (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 l'évaluation automatique dans Utilisation de jeux de données rapides et de dimensions d'évaluation disponibles dans les tâches d'évaluation de modèles .

    7. Dans la section Mesures d'évaluation, choisissez une dimension d'évaluation. La zone de texte située sous Description contient un contexte supplémentaire concernant la dimension.

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

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

    9. Choisissez un ensemble de données d'évaluation. Vous pouvez choisir d'utiliser votre propre jeu de données ou d'utiliser un ensemble 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 CORS autorisations référencées dans la Configuration de votre environnement section précédente. Pour plus d'informations sur le formatage d'un ensemble de données personnalisé, consultezUtiliser un jeu de données d'entrée personnalisé.

    10. Entrez un emplacement de compartiment S3 dans lequel vous souhaitez enregistrer les résultats de l'évaluation de sortie. Ce fichier est au format jsonlines (.jsonl).

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

      • Utilisez le nombre d'instances pour spécifier le nombre d'instances de calcul que vous souhaitez utiliser pour exécuter votre modèle. Si vous utilisez plusieurs 1 instances, votre modèle est exécuté dans des instances parallèles.

      • Utilisez le 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'instances, consultezTypes d'instances disponibles pour une utilisation avec Studio Classic.

      • Utilisez la KMS clé de volume pour spécifier votre clé de chiffrement AWS Key Management Service (AWS KMS). SageMaker 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 KMS clé de sortie pour spécifier votre clé de AWS KMS chiffrement pour le trafic sortant.

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

    12. Après avoir défini votre modèle et vos critères, choisissez Next. La fenêtre principale passe à l'étape 5 Vérifier et enregistrer.

Passez en revue et exécutez 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 poste, rendez-vous en haut de la section Évaluations des modèles sur la page.