Comprendre les résultats d'un travail d'évaluation humaine - 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.

Comprendre les résultats d'un travail d'évaluation humaine

Lorsque vous avez créé une tâche d'évaluation de modèles utilisant des travailleurs humains, vous avez sélectionné un ou plusieurs types de métriques. Lorsque les membres de l'équipe de travail évaluent une réponse dans le portail des travailleurs, leurs réponses sont enregistrées dans l'objet humanAnswers JSON. La façon dont ces réponses sont stockées change en fonction du type de métrique sélectionné lors de la création de la tâche.

Les sections suivantes expliquent ces différences et fournissent des exemples.

JSONréférence de sortie

Lorsqu'une tâche d'évaluation de modèle est terminée, les résultats sont enregistrés dans Amazon S3 sous forme de JSON fichier. L'JSONobjet contient trois nœuds de haut niveau humanEvaluationResultinputRecord, etmodelResponses. La humanEvaluationResult clé est un nœud de haut niveau qui contient les réponses de l'équipe de travail affectée à la tâche d'évaluation du modèle. La inputRecord clé est un nœud de haut niveau qui contient les instructions fournies au (x) modèle (s) lors de la création de la tâche d'évaluation du modèle. La modelResponses clé est un nœud de haut niveau qui contient les réponses aux demandes du ou des modèles.

Le tableau suivant récapitule les paires de valeurs clés trouvées dans les JSON résultats de la tâche d'évaluation du modèle.

Les sections suivantes fournissent des informations plus détaillées sur chaque paire clé-valeur.

Paramètre Exemple Description

flowDefinitionArn

arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name

Le flux ARN de travail de révision humaine (définition du flux) qui a créé la boucle humaine.

humanAnswers

Liste d'JSONobjets spécifiques aux mesures d'évaluation sélectionnées. Pour en savoir plus, voir,Les paires de valeurs clés se trouvent sous humanAnswers.

Liste d'JSONobjets contenant les réponses des travailleurs.

humanLoopName

system-generated-hash Chaîne hexadécimale de 40 caractères générée par le système.
inputRecord
"inputRecord": { "prompt": { "text": "Who invented the airplane?" }, "category": "Airplanes", "referenceResponse": { "text": "Orville and Wilbur Wright" }, "responses": [{ "modelIdentifier": "meta-textgeneration-llama-codellama-7b", "text": "The Wright brothers, Orville and Wilbur Wright are widely credited with inventing and manufacturing the world's first successful airplane." }] }
JSONObjet contenant une invite de saisie provenant du jeu de données en entrée.
modelResponses
"modelResponses": [{ "modelIdentifier": "arn:aws:bedrock:us-west-2::foundation-model/model-id", "text": "the-models-response-to-the-prompt" }]
Réponses individuelles des modèles.
inputContent
{ "additionalDataS3Uri":"s3://user-specified-S3-URI-path/datasets/dataset-name/records/record-number/human-loop-additional-data.json", "evaluationMetrics":[ { "description":"brief-name", "metricName":"metric-name", "metricType":"IndividualLikertScale" } ], "instructions":"example instructions" }

Le contenu d'entrée de la boucle humaine requis pour démarrer la boucle humaine dans votre compartiment Amazon S3.

modelResponseIdMap
{ "0": "sm-margaret-meta-textgeneration-llama-2-7b-1711485008-0612", "1": "jumpstart-dft-hf-llm-mistral-7b-ins-20240327-043352" }

Décrit comment chaque modèle est représenté dans leanswerContent.

Paires de valeurs clés trouvées sous humanEvaluationResult

Les paires clé-valeur suivantes se trouvent humanEvaluationResult sous le résultat de votre tâche d'évaluation de modèle.

Pour les paires clé-valeur associées àhumanAnswers, voirLes paires de valeurs clés se trouvent sous humanAnswers.

flowDefinitionArn

  • Définition ARN de flux utilisée pour terminer le travail d'évaluation du modèle.

  • Exemple :arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name

humanLoopName

  • Chaîne hexadécimale de 40 caractères générée par le système.

inputContent

  • Cette valeur clé décrit les types de mesures et les instructions que vous avez fournies aux travailleurs sur le portail des travailleurs.

    • additionalDataS3Uri: emplacement dans Amazon S3 où les instructions destinées aux employés sont enregistrées.

    • instructions: les instructions que vous avez fournies aux travailleurs sur le portail des travailleurs.

    • evaluationMetrics: le nom de la métrique et sa description. La valeur clé metricType est l'outil fourni aux travailleurs pour évaluer les réponses des modèles.

modelResponseIdMap

  • Cette paire clé-valeur identifie les noms complets des modèles sélectionnés et indique comment les choix des opérateurs sont mappés aux modèles des paires humanAnswers clé-valeur.

Les paires de valeurs clés se trouvent sous inputRecord

Les entrées suivantes décrivent les paires inputRecord clé-valeur.

prompt

  • Le texte de l'invite envoyée au modèle.

category

  • Catégorie facultative qui classe l'invite. Visible par les travailleurs sur le portail des travailleurs lors de l'évaluation du modèle.

  • Exemple :"American cities"

referenceResponse

  • Champ facultatif de l'entrée JSON utilisé pour spécifier la vérité de base à laquelle vous souhaitez que les travailleurs fassent référence lors de l'évaluation

responses

  • Champ facultatif de l'entrée JSON qui contient les réponses d'autres modèles.

Exemple d'enregistrement JSON d'entrée.

{ "prompt": { "text": "Who invented the airplane?" }, "category": "Airplanes", "referenceResponse": { "text": "Orville and Wilbur Wright" }, "responses": // All inference must come from a single model [{ "modelIdentifier": "meta-textgeneration-llama-codellama-7b" , "text": "The Wright brothers, Orville and Wilbur Wright are widely credited with inventing and manufacturing the world's first successful airplane." }] }

Les paires de valeurs clés se trouvent sous modelResponses

Un tableau de paires clé-valeur qui contient les réponses des modèles et le modèle qui a fourni les réponses.

text

  • Réponse du modèle à l'invite.

modelIdentifier

  • Nom du modèle.

Les paires de valeurs clés se trouvent sous humanAnswers

Un tableau de paires de valeurs clés contenant les réponses des modèles et la manière dont les travailleurs ont évalué les modèles dans

acceptanceTime

  • Lorsque le travailleur a accepté la tâche dans le portail des travailleurs.

submissionTime

  • Quand le travailleur a soumis sa réponse.

timeSpentInSeconds

  • Combien de temps le travailleur a passé à exécuter la tâche.

workerId

  • ID du travailleur qui a effectué la tâche.

workerMetadata

  • Métadonnées indiquant quelle équipe de travail a été affectée à cette tâche d'évaluation du modèle.

Format du answerContent JSON tableau

La structure de réponse dépend des métriques d'évaluation sélectionnées lors de la création de la tâche d'évaluation du modèle. Chaque réponse ou réponse du travailleur est enregistrée dans un nouvel JSON objet.

answerContent

  • evaluationResultscontient les réponses du travailleur.

    • Lorsque les boutons Choix sont sélectionnés, les résultats de chaque travailleur sont les mêmes"evaluationResults": "comparisonChoice".

      metricName: nom de la métrique

      result: L'JSONobjet indique le modèle sélectionné par le travailleur à l'aide d'un 0 ou1. Pour voir quelle valeur un modèle est mappé,modelResponseIdMap.

    • Lorsque l'échelle de Likert est sélectionnée, la comparaison est sélectionnée, les résultats de chaque travailleur sont les mêmes"evaluationResults": "comparisonLikertScale".

      metricName: nom de la métrique.

      leftModelResponseId: indique ce qui modelResponseIdMap était affiché sur le côté gauche du portail des travailleurs.

      rightModelResponseId: indique ce qui modelResponseIdMap était affiché sur le côté gauche du portail des travailleurs.

      result: L'JSONobjet indique le modèle sélectionné par le travailleur à l'aide d'un 0 ou1. Pour connaître la valeur à laquelle un modèle est mappé, modelResponseIdMap

    • Lorsque le rang ordinal est sélectionné, les résultats de chaque travailleur sont les mêmes"evaluationResults": "comparisonRank".

      metricName: nom de la métrique

      result: un ensemble d'JSONobjets. Pour chaque modèle (modelResponseIdMap), les travailleurs fournissent unrank.

      "result": [{ "modelResponseId": "0", "rank": 1 }, { "modelResponseId": "1", "rank": 1 }]
    • Lorsque l'échelle de Likert est sélectionnée, l'évaluation d'une seule réponse du modèle est sélectionnée, les résultats dans "evaluationResults": "individualLikertScale" lesquels un travailleur est enregistré sont enregistrés. Il s'agit d'un JSON tableau contenant les scores metricName spécifiés lors de la création de la tâche.

      metricName: nom de la métrique.

      modelResponseId: Le modèle qui est noté. Pour voir quelle valeur un modèle est mappé,modelResponseIdMap.

      result: une paire clé-valeur indiquant la valeur de l'échelle de Likert sélectionnée par le travailleur.

    • Lorsque Thumbs up/down est sélectionné, les résultats d'un worker sont enregistrés sous forme de tableau. JSON "evaluationResults": "thumbsUpDown"

      metricName: nom de la métrique.

      result: true Ou false en ce qui concerne lemetricName. Lorsqu'un travailleur choisit le pouce levé,"result" : true.

Exemple de résultat d'une tâche d'évaluation de modèle

L'JSONobjet suivant est un exemple de sortie de tâche d'évaluation de modèle enregistrée dans Amazon S3. Pour en savoir plus sur chaque paire de valeurs clés, consultez leJSONréférence de sortie.

Pour plus de clarté, ce travail ne contient que les réponses de deux travailleurs. Certaines paires clé-valeur peuvent également avoir été tronquées pour des raisons de lisibilité.

{ "humanEvaluationResult": { "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name", "humanAnswers": [ { "acceptanceTime": "2024-06-07T22:31:57.066Z", "answerContent": { "evaluationResults": { "comparisonChoice": [ { "metricName": "Fluency", "result": { "modelResponseId": "0" } } ], "comparisonLikertScale": [ { "leftModelResponseId": "0", "metricName": "Coherence", "result": 1, "rightModelResponseId": "1" } ], "comparisonRank": [ { "metricName": "Toxicity", "result": [ { "modelResponseId": "0", "rank": 1 }, { "modelResponseId": "1", "rank": 1 } ] } ], "individualLikertScale": [ { "metricName": "Correctness", "modelResponseId": "0", "result": 2 }, { "metricName": "Correctness", "modelResponseId": "1", "result": 3 }, { "metricName": "Completeness", "modelResponseId": "0", "result": 1 }, { "metricName": "Completeness", "modelResponseId": "1", "result": 4 } ], "thumbsUpDown": [ { "metricName": "Accuracy", "modelResponseId": "0", "result": true }, { "metricName": "Accuracy", "modelResponseId": "1", "result": true } ] } }, "submissionTime": "2024-06-07T22:32:19.640Z", "timeSpentInSeconds": 22.574, "workerId": "ead1ba56c1278175", "workerMetadata": { "identityData": { "identityProviderType": "Cognito", "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_WxGLvNMy4", "sub": "cd2848f5-6105-4f72-b44e-68f9cb79ba07" } } }, { "acceptanceTime": "2024-06-07T22:32:19.721Z", "answerContent": { "evaluationResults": { "comparisonChoice": [ { "metricName": "Fluency", "result": { "modelResponseId": "1" } } ], "comparisonLikertScale": [ { "leftModelResponseId": "0", "metricName": "Coherence", "result": 1, "rightModelResponseId": "1" } ], "comparisonRank": [ { "metricName": "Toxicity", "result": [ { "modelResponseId": "0", "rank": 2 }, { "modelResponseId": "1", "rank": 1 } ] } ], "individualLikertScale": [ { "metricName": "Correctness", "modelResponseId": "0", "result": 3 }, { "metricName": "Correctness", "modelResponseId": "1", "result": 4 }, { "metricName": "Completeness", "modelResponseId": "0", "result": 1 }, { "metricName": "Completeness", "modelResponseId": "1", "result": 5 } ], "thumbsUpDown": [ { "metricName": "Accuracy", "modelResponseId": "0", "result": true }, { "metricName": "Accuracy", "modelResponseId": "1", "result": false } ] } }, "submissionTime": "2024-06-07T22:32:57.918Z", "timeSpentInSeconds": 38.197, "workerId": "bad258db224c3db6", "workerMetadata": { "identityData": { "identityProviderType": "Cognito", "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_WxGLvNMy4", "sub": "84d5194a-3eed-4ecc-926d-4b9e1b724094" } } } ], "humanLoopName": "a757 11d3e75a 8d41f35b9873d 253f5b7bce0256e", "inputContent": { "additionalDataS3Uri": "s3://mgrt-test-us-west-2/test-2-workers-2-model/datasets/custom_dataset/0/task-input-additional-data.json", "instructions": "worker instructions provided by the model evaluation job administrator", "evaluationMetrics": [ { "metricName": "Fluency", "metricType": "ComparisonChoice", "description": "Measures the linguistic quality of a generated text." }, { "metricName": "Coherence", "metricType": "ComparisonLikertScale", "description": "Measures the organization and structure of a generated text." }, { "metricName": "Toxicity", "metricType": "ComparisonRank", "description": "Measures the harmfulness of a generated text." }, { "metricName": "Accuracy", "metricType": "ThumbsUpDown", "description": "Indicates the accuracy of a generated text." }, { "metricName": "Correctness", "metricType": "IndividualLikertScale", "description": "Measures a generated answer's satisfaction in the context of the question." }, { "metricName": "Completeness", "metricType": "IndividualLikertScale", "description": "Measures a generated answer's inclusion of all relevant information." } ], "disableRandomization": "true" }, "modelResponseIdMap": { "0": "sm-margaret-meta-textgeneration-llama-2-7b-1711485008-0612", "1": "jumpstart-dft-hf-llm-mistral-7b-ins-20240327-043352" } }, "inputRecord": { "prompt": { "text": "What is high intensity interval training?" }, "category": "Fitness", "referenceResponse": { "text": "High-Intensity Interval Training (HIIT)" } }, "modelResponses": [ { "text": "High Intensity Interval Training (HIIT) is a form of exercise that alternates between periods of high intensity work and low intensity recovery.HIIT is an excellent way to increase your fitness and improve your health, but it can be difficult to get started.In this article, we will", "modelIdentifier": "sm-margaret-meta-textgeneration-llama-2-7b-1711485008-0612" }, { "text": "High intensity interval training is a form of exercise consisting of short bursts of maximum effort followed by periods of rest. The theory behind HIIT is that it can often be more effective at improving cardiovascular and metabolic health than longer, lower intensity workouts.The work intervals can range in length depending on the specific type of exercise, but are typically between 20 and 90 seconds. The recovery periods are generally longer, lasting between 1 and 5 minutes. This pattern is then repeated for multiple sets.\n\nSince the work intervals are high intensity, they require more effort from your body and therefore result in a greater calorie burn. The body also continues to burn calories at an increased rate after the workout due to an effect called excess post exercise oxygen consumption (EPOC), also know as the afterburn effect.\n\nHIIT is a versatile form of training that can be adapted to different fitness levels and can be performed using a variety of exercises including cycling, running, bodyweight movements, and even swimming. It can be done in as little as 20 minutes once or twice a week, making it an efficient option for busy individuals.\n\nWhat are the benefits of high intensity interval training", "modelIdentifier": "jumpstart-dft-hf-llm-mistral-7b-ins-20240327-043352" } ] }