View a markdown version of this page

Creare un processo di valutazione del modello umana - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creare un processo di valutazione del modello umana

I seguenti esempi mostrano come creare un processo di valutazione del modello che utilizza lavoratori umani.

Console

Come creare un processo di valutazione del modello che utilizza lavoratori umani
  1. Apri la console Amazon Bedrock.

  2. Nel riquadro di navigazione in Inferenza e valutazione, seleziona Valutazioni.

  3. Nel riquadro Valutazione del modello, in Umano, scegli Crea e seleziona Valutazione umana: porta il tuo team di lavoro.

  4. Nella pagina Specifica i dettagli dei processi, procedi come segue:

    1. Nome di valutazione: assegna al processo di valutazione del modello un nome che descriva il processo. Viene mostrato nell’elenco dei processi di valutazione del modello. Il nome deve essere univoco nell’account in una Regione AWS.

    2. Descrizione (facoltativa): fornisci una descrizione facoltativa.

    3. Scegli Avanti.

  5. Nella pagina Configura la valutazione, in Origine dell’inferenza seleziona l’origine per la valutazione del modello. Puoi valutare le prestazioni dei modelli Amazon Bedrock o di altri modelli fornendo i dati di risposta all’inferenza nel tuo set di dati dei prompt. Puoi selezionare fino a due origini dell’inferenza. Per i processi con due origini, non devi scegliere lo stesso tipo per entrambe le origini. Puoi selezionare un modello Amazon Bedrock e fornire i dati di risposta all’inferenza per la seconda origine. Per valutare i modelli Amazon Bedrock, procedi come segue:

    1. In Seleziona l’origine, seleziona Modelli Bedrock.

    2. Scegli Seleziona modello per scegliere il modello da valutare.

    3. Per selezionare un secondo modello, scegli Aggiungi modello e ripeti le fasi precedenti.

  6. Per importare i tuoi dati di risposta all’inferenza, procedi come segue:

    1. In Seleziona l’origine scegli Porta le tue risposte di inferenza.

    2. Per Nome dell’origine, inserisci un nome per il modello che hai utilizzato per creare i dati di risposta. Il nome inserito deve corrispondere al parametro modelIdentifier nel set di dati dei prompt.

    3. Per selezionare una seconda origine, scegli Aggiungi modello e ripeti le fasi precedenti.

  7. Per Tipo di attività, seleziona il tipo di attività che vuoi che il modello esegua durante il processo di valutazione del modello. Tutte le istruzioni per il modello devono essere incluse nei prompt stessi. Il tipo di attività non controlla le risposte del modello.

  8. Nel riquadro Set di dati, fornisci quanto segue.

    1. In Scegli un set di dati dei prompt, specifica l’URI S3 del file del set di dati dei prompt oppure scegli Sfoglia S3 per vedere i bucket S3 disponibili. In un set di dati dei prompt personalizzato puoi avere un massimo di 1.000 prompt.

    2. In Destinazione dei risultati della valutazione, specifica l’URI S3 della directory in cui vuoi salvare i risultati del processo di valutazione del modello oppure scegli Sfoglia S3 per visualizzare i bucket S3 disponibili.

  9. (Facoltativo) In Chiave KMS - facoltativo, fornisci l’ARN di una chiave gestita dal cliente che vuoi utilizzare per crittografare il processo di valutazione del modello.

  10. Nel riquadro Ruolo IAM di Amazon Bedrock - Autorizzazioni, procedi come segue. Per ulteriori informazioni sulle autorizzazioni necessarie per le valutazioni del modello, consulta Requisiti del ruolo di servizio per i processi di valutazione del modello.

    1. Per utilizzare un ruolo di servizio di Amazon Bedrock esistente, scegli Usa un ruolo esistente. Altrimenti, usa Crea un nuovo ruolo per specificare i dettagli del tuo nuovo ruolo di servizio IAM.

    2. In Nome del ruolo di servizio, scegli il nome del ruolo del servizio.

    3. Quando è tutto pronto, scegli Crea ruolo per creare il nuovo ruolo di servizio IAM.

  11. Scegli Next (Successivo).

  12. In Team di lavoro, utilizza il menu a discesa Seleziona team per selezionare un team esistente oppure crea un nuovo team nel seguente modo:

    1. In Nome team, inserisci un nome per il team.

    2. In Indirizzi e-mail, inserisci gli indirizzi e-mail dei lavoratori umani del tuo team.

    3. In Numero di lavoratori per prompt, seleziona il numero di lavoratori che valutano ogni prompt. Dopo aver esaminato le risposte a ciascun prompt in base al numero di lavoratori selezionato, il prompt e le relative risposte verranno ritirati dal team di lavoro. Il report sui risultati finali includerà tutte le valutazioni di ciascun lavoratore.

      Importante

      I modelli linguistici di grandi dimensioni sono noti per produrre occasionalmente contenuti pericolosi o offensivi. Durante questa valutazione, ai tuoi dipendenti potrebbe essere mostrato materiale pericoloso o offensivo. Assicurati di prendere le misure adeguate per prepararli e informarli prima che lavorino alla valutazione. Possono rifiutare e interrompere le attività o fare delle pause durante la valutazione accedendo allo strumento di valutazione umana.

  13. In Ruolo IAM del flusso di lavoro umano - Autorizzazioni, seleziona un ruolo esistente oppure seleziona Crea un nuovo ruolo.

  14. Scegli Next (Successivo).

  15. In Istruzioni per la valutazione, fornisci istruzioni per completare l’attività. Puoi visualizzare in anteprima l’interfaccia utente di valutazione utilizzata dal team di lavoro per valutare risposte, incluse le metriche, metodi di valutazione e istruzioni. Questa anteprima si basa sulla configurazione che hai creato per questo processo.

  16. Scegli Next (Successivo).

  17. Rivedi la configurazione e scegli Crea per creare il processo.

    Nota

    Una volta avviato correttamente il processo, lo stato passa a In corso. Al termine del processo, lo stato cambia in Completato. Mentre un processo di valutazione del modello è ancora in corso, puoi scegliere di interromperlo prima che tutte le risposte dei modelli siano state valutate dal tuo team di lavoro. A tale scopo, scegli Interrompi la valutazione nella pagina di destinazione della valutazione del modello. Di conseguenza lo Stato del processo di valutazione del modello diventerà Arresto in corso. Una volta che il processo di valutazione del modello è stato interrotto correttamente, puoi eliminarlo.

API e AWS CLI

Quando crei un processo di valutazione del modello basato sull'uomo al di fuori della console Amazon Bedrock, devi creare un ARN di definizione del flusso Amazon SageMaker AI.

L’ARN di definizione del flusso è dove viene definito il flusso di lavoro di un processo di valutazione del modello. La definizione del flusso viene utilizzata per definire l’interfaccia di lavoro e il team di lavoro da assegnare all’attività e per la connessione ad Amazon Bedrock.

Per i lavori di valutazione dei modelli avviati utilizzando le operazioni dell'API Amazon Bedrock, devi creare un ARN di definizione AWS CLI del flusso utilizzando o un AWS SDK supportato. Per saperne di più sul funzionamento delle definizioni di flusso e sulla loro creazione a livello di codice, consulta Create a Human Review Workflow (API) nella AI Developer Guide. SageMaker

Nella CreateFlowDefinition è necessario specificare AWS/Bedrock/Evaluation come input per AwsManagedHumanLoopRequestSource. Il ruolo di servizio di Amazon Bedrock deve disporre anche delle autorizzazioni per accedere al bucket di output della definizione del flusso.

Di seguito è riportato un esempio di richiesta utilizzando la AWS CLI. Nella richiesta, si HumanTaskUiArn tratta di un ARN di proprietà dell' SageMaker intelligenza artificiale. Nell’ARN, è possibile modificare solo la Regione AWS.

aws sagemaker create-flow-definition --cli-input-json ' { "FlowDefinitionName": "human-evaluation-task01", "HumanLoopRequestSource": { "AwsManagedHumanLoopRequestSource": "AWS/Bedrock/Evaluation" }, "HumanLoopConfig": { "WorkteamArn": "arn:aws:sagemaker:Regione AWS:111122223333:workteam/private-crowd/my-workteam", ## The Task UI ARN is provided by the service team, you can only modify the Regione AWS. "HumanTaskUiArn":"arn:aws:sagemaker:Regione AWS:394669845002:human-task-ui/Evaluation" "TaskTitle": "Human review tasks", "TaskDescription": "Provide a real good answer", "TaskCount": 1, "TaskAvailabilityLifetimeInSeconds": 864000, "TaskTimeLimitInSeconds": 3600, "TaskKeywords": [ "foo" ] }, "OutputConfig": { "S3OutputPath": "s3://amzn-s3-demo-destination-bucket" }, "RoleArn": "arn:aws:iam::111122223333:role/SageMakerCustomerRoleArn" }'

Dopo aver creato l'ARN della definizione del flusso, utilizza i seguenti esempi per creare un processo di valutazione del modello basato sull'uomo utilizzando AWS CLI o un SDK supportato. AWS

AWS CLI

Il comando e il file JSON di esempio seguenti mostrano come creare un processo di valutazione del modello utilizzando lavoratori umani in cui è possibile fornire i propri dati di risposta all’inferenza. Per informazioni su come specificare un set di dati dei prompt per un processo di valutazione del modello con lavoratori umani, consultare Creazione di un set di dati dei prompt personalizzati per un processo di valutazione del modello che utilizza lavoratori umani.

Esempio AWS CLI comando e file JSON per creare un processo di valutazione utilizzando i tuoi dati di risposta all'inferenza
aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
{ "jobName": "model-eval-llama-vs-my-other-model", "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-20250218T223671", "evaluationConfig": { "human": { "customMetrics": [ { "description": "Measures the organization and structure of a generated text.", "name": "Coherence", "ratingMethod": "ThumbsUpDown" }, { "description": "Indicates the accuracy of a generated text.", "name": "Accuracy", "ratingMethod": "ComparisonChoice" } ], "datasetMetricConfigs": [ { "dataset": { "datasetLocation": { "s3Uri": "s3://amzn-s3-demo-bucket/input/model-eval/fitness-dataset-model-eval-byoir-2-models.jsonl" }, "name": "dataset1" }, "metricNames": [ "Coherence", "Accuracy" ], "taskType": "Generation" } ], "humanWorkflowConfig": { "flowDefinitionArn": "arn:aws:sagemaker:us-east-1:111122223333:flow-definition/bedrock-fitness-human-byoir", "instructions": "<h3>The following are the metrics and their descriptions for this evaluation</h3>\n<p><strong>Coherence</strong>: Measures the organization and structure of a generated text. - <em>Thumbs up/down</em>\n<strong>Accuracy</strong>: Indicates the accuracy of a generated text. - <em>Choice buttons</em></p>\n<h3>Instructions for how to use the evaluation tool</h3>\n<p>The evaluation creator should use this space to write detailed descriptions for every rating method so your evaluators know how to properly rate the responses with the buttons on their screen.</p>\n<h4>For example:</h4>\n<p>If using <strong>Likert scale - individual</strong>, define the 1 and 5 of the 5 point Likert scale for each metric so your evaluators know if 1 or 5 means favorable/acceptable/preferable.\nIf using <strong>Likert scale - comparison</strong>, describe what the evaluator is looking for to determine their preference between two responses.\nIf using <strong>Choice buttons</strong>, describe what is preferred according to your metric and its description.\nIf using <strong>Ordinal ranking</strong>, define what should receive a #1 ranking according to your metric and its description.\nIf using <strong>Thumbs up/down</strong>, define what makes an acceptable response according to your metric and its description.</p>\n<h3>Describing your ground truth responses if applicable to your dataset</h3>\n<p>Describe the purpose of your ground truth responses that will be shown on screen next to each model response. Note that the ground truth responses you provide are not rated/scored by the evaluators - they are meant to be a reference standard for comparison against the model responses.</p>" } } }, "inferenceConfig": { "models": [ { "precomputedInferenceSource": { "inferenceSourceIdentifier": "llama-3-1-80b" } }, { "precomputedInferenceSource": { "inferenceSourceIdentifier": "my_other_model" } } ] }, "outputDataConfig": { "s3Uri": "s3://amzn-s3-demo-bucket/output/" } }
SDK for Python

L’esempio di codice seguente mostra come creare un processo di valutazione del modello che utilizza lavoratori umani tramite l’SDK per Python.

import boto3 client = boto3.client('bedrock') job_request = client.create_evaluation_job( jobName="111122223333-job-01", jobDescription="two different task types", roleArn="arn:aws:iam::111122223333:role/example-human-eval-api-role", inferenceConfig={ ## You must specify and array of models "models": [ { "bedrockModel": { "modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1", "inferenceParams":"{\"inferenceConfig\":{\"maxTokens\": 512,\"temperature\":0.7,\"topP\":0.9}}" } }, { "bedrockModel": { "modelIdentifier": "anthropic.claude-v2", "inferenceParams": "{\"inferenceConfig\":{\"maxTokens\":512,\"temperature\":1,\"topP\":0.999,\"stopSequences\":[\"stop\"]},\"additionalModelRequestFields\":{\"top_k\": 128}}" } } ] }, outputDataConfig={ "s3Uri":"s3://job-bucket/outputs/" }, evaluationConfig={ "human": { "humanWorkflowConfig": { "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/example-workflow-arn", "instructions": "some human eval instruction" }, "customMetrics": [ { "name": "IndividualLikertScale", "description": "testing", "ratingMethod": "IndividualLikertScale" } ], "datasetMetricConfigs": [ { "taskType": "Summarization", "dataset": { "name": "Custom_Dataset1", "datasetLocation": { "s3Uri": "s3://job-bucket/custom-datasets/custom-trex.jsonl" } }, "metricNames": [ "IndividualLikertScale" ] } ] } } ) print(job_request)