Jobs zur Modellevaluierung erstellen - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Jobs zur Modellevaluierung erstellen

Die folgenden Beispiele zeigen Ihnen, wie Sie mit der Amazon Bedrock-Konsole, AWS CLI dem SDK für Python einen Modellevaluierungsjob erstellen

Automatische Aufträge zur Modellbewertung

Die folgenden Beispiele zeigen, wie Sie einen automatischen Modellevaluierungsauftrag erstellen. Für alle Aufträge zur automatischen Modellevaluierung müssen Sie eine IAM-Servicerolle erstellen. Weitere Informationen zu den IAM-Anforderungen für die Einrichtung eines Modellevaluierungsjobs finden Sie unter. Anforderungen an die Servicerolle für Aufträge zur Modellbewertung

Amazon Bedrock console

Gehen Sie wie folgt vor, um mithilfe der Amazon Bedrock-Konsole einen Modellevaluierungsauftrag zu erstellen. Um dieses Verfahren erfolgreich abzuschließen, stellen Sie sicher, dass Ihr IAM-Benutzer, Ihre Gruppe oder Rolle über die erforderlichen Berechtigungen für den Zugriff auf die Konsole verfügt. Weitere Informationen hierzu finden Sie unter Erforderliche Berechtigungen zum Erstellen eines Auftrags zur Modellbewertung mithilfe der Amazon-Bedrock-Konsole.

Außerdem müssen für alle Datensätze mit benutzerdefinierten Eingabeaufforderungen, die Sie im Modellevaluierungsjob angeben möchten, die erforderlichen CORS-Berechtigungen zum Amazon S3 S3-Bucket hinzugefügt werden. Weitere Informationen zum Hinzufügen der erforderlichen CORS-Berechtigungen finden Sie unter. Erforderliche CORS-Berechtigung (Cross Origin Resource Sharing) für S3-Buckets

Um einen automatischen Modellevaluierungsjob zu erstellen
  1. Öffnen Sie die Amazon-Bedrock-Konsole unter: https://console.aws.amazon.com/bedrock/.

  2. Klicken Sie im Navigationsbereich auf Modelle.

  3. Wählen Sie auf der Karte Eine Bewertung erstellen unter Automatisch die Option Automatische Bewertung erstellen.

  4. Geben Sie auf der Seite Automatische Bewertung erstellen die folgenden Informationen ein:

    1. Auswertungsname: Geben Sie dem Auftrag zur Modellbewertung einen Namen, der den Auftrag beschreibt. Dieser Name wird in der Liste Ihrer Aufträge zur Modellbewertung angezeigt. Der Name muss AWS-Konto in Ihrem Namen eindeutig sein AWS-Region.

    2. Beschreibung (optional): Geben Sie eine optionale Beschreibung ein.

    3. Modelle: Wählen Sie das Modell aus, das Sie bei der Modellbewertung verwenden möchten.

      Weitere Informationen zu verfügbaren Modellen und dem Zugriff auf sie in Amazon Bedrock finden Sie unterZugriff auf Amazon Bedrock Foundation-Modelle verwalten.

    4. (Optional) Wählen Sie Aktualisieren, um die Inferenzkonfiguration zu ändern.

      Durch das Ändern der Inferenzkonfiguration werden die vom ausgewählten Modell generierten Antworten geändert. Weitere Informationen zu den verfügbaren Inferenzparametern finden Sie unter Inferenzparameter für Basismodelle.

    5. Aufgabentyp: Wählen Sie den Aufgabentyp aus, den das Modell während des Auftrags zur Modellbewertung ausführen soll.

    6. Metriken und Datensätze: Die Liste der verfügbaren Metriken und der integrierten Prompt-Datensätze ändert sich je nach der ausgewählten Aufgabe. Sie können aus der Liste Verfügbare integrierte Datensätze oder „Eigenen Prompt-Datensatz verwenden“ wählen. Wenn Sie Ihren eigenen Prompt-Datensatz verwenden möchten, geben Sie den exakten S3-URI Ihrer Prompt-Datensatzdatei ein oder wählen Sie „S3 durchsuchen“, um nach Ihrem Prompt-Datensatz zu suchen.

    7. >Evaluationsergebnisse — Geben Sie die S3-URI des Verzeichnisses an, in dem die Ergebnisse gespeichert werden sollen. Wählen Sie Browse S3, um in Amazon S3 nach einem Standort zu suchen.

    8. (Optional) Um die Verwendung eines vom Kunden verwalteten Schlüssels zu aktivieren, wählen Sie Verschlüsselungseinstellungen anpassen (erweitert). Geben Sie dann den ARN des AWS KMS Schlüssels an, den Sie verwenden möchten.

    9. Amazon Bedrock IAM-Rolle — Wählen Sie Bestehende Rolle verwenden, um eine IAM-Servicerolle zu verwenden, die bereits über die erforderlichen Berechtigungen verfügt, oder wählen Sie Neue Rolle erstellen, um eine neue IAM-Servicerolle zu erstellen.

  5. Wählen Sie dann die Option Erstellen.

Sobald Ihr Job begonnen hat, ändert sich der Status. Sobald sich der Status „Abgeschlossen“ ändert, können Sie das Zeugnis des Jobs einsehen.

SDK for Python

Verfahren

import boto3 client = boto3.client('bedrock') job_request = client.create_evaluation_job( jobName="api-auto-job-titan", jobDescription="two different task types", roleArn="arn:aws:iam::111122223333:role/role-name", inferenceConfig={ "models": [ { "bedrockModel": { "modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1", "inferenceParams":"{\"temperature\":\"0.0\", \"topP\":\"1\", \"maxTokenCount\":\"512\"}" } } ] }, outputDataConfig={ "s3Uri":"s3://model-evaluations/outputs/" }, evaluationConfig={ "automated": { "datasetMetricConfigs": [ { "taskType": "QuestionAndAnswer", "dataset": { "name": "Builtin.BoolQ" }, "metricNames": [ "Builtin.Accuracy", "Builtin.Robustness" ] } ] } } ) print(job_request)
AWS CLI

In der können Sie den help Befehl verwenden AWS CLI, um zu sehen, welche Parameter erforderlich sind und welche Parameter optional sind, wenn Sie create-evaluation-job in der angeben AWS CLI.

aws bedrock create-evaluation-job help
aws bedrock create-evaluation-job \ --job-name 'automatic-eval-job-cli-001 \ --role-arn 'arn:aws:iam::111122223333:role/role-name' \ --evaluation-config '{"automated": {"datasetMetricConfigs": [{"taskType": "QuestionAndAnswer","dataset": {"name": "Builtin.BoolQ"},"metricNames": ["Builtin.Accuracy","Builtin.Robustness"]}]}}' \ --inference-config '{"models": [{"bedrockModel": {"modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1","inferenceParams":"{\"temperature\":\"0.0\", \"topP\":\"1\", \"maxTokenCount\":\"512\"}"}}]}' \ --output-data-config '{"s3Uri":"s3://automatic-eval-jobs/outputs"}'

Jobs zur Modellevaluierung am Menschen

Wenn Sie außerhalb der Amazon Bedrock-Konsole einen Job zur Evaluierung eines menschlichen Modells erstellen, müssen Sie einen ARN für die SageMaker Amazon-Flow-Definition erstellen.

In der Flow-Definition ARN wird der Workflow eines Model-Evaluierungsjobs definiert. Die Flow-Definition wird verwendet, um die Arbeitsoberfläche und das Arbeitsteam zu definieren, das Sie der Aufgabe zuweisen möchten, und um eine Verbindung zu Amazon Bedrock herzustellen.

Für Modellevaluierungsjobs, die in Amazon Bedrock gestartet wurden, müssen Sie den Flow-Definition-ARN mit dem AWS CLI oder einem unterstützten AWS SDK erstellen. Weitere Informationen darüber, wie Flow-Definitionen funktionieren und wie sie programmgesteuert erstellt werden, finden Sie unter Create a Human Review Workflow (API) im SageMaker Entwicklerhandbuch.

In der müssen CreateFlowDefinitionSie AWS/Bedrock/Evaluation als Eingabe für den angeben. AwsManagedHumanLoopRequestSource Die Amazon Bedrock-Servicerolle muss auch über Berechtigungen für den Zugriff auf den Ausgabe-Bucket der Flow-Definition verfügen.

Nachfolgend ein Beispiel für eine Anfrage unter Verwendung von AWS CLI. In der Anfrage HumanTaskUiArn handelt es sich um einen SageMaker eigenen ARN. Im ARN können Sie nur die ändern AWS-Region.

aws sagemaker create-flow-definition --cli-input-json ' { "FlowDefinitionName": "human-evaluation-task01", "HumanLoopRequestSource": { "AwsManagedHumanLoopRequestSource": "AWS/Bedrock/Evaluation" }, "HumanLoopConfig": { "WorkteamArn": "arn:aws:sagemaker:AWS-Region:111122223333:workteam/private-crowd/my-workteam", "HumanTaskUiArn": "arn:aws:sagemaker:AWS-Region: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://your-output-bucket" }, "RoleArn": "arn:aws:iam::111122223333:role/SageMakerCustomerRoleArn" }'

Nachdem Sie Ihren Flow-Definition-ARN erstellt haben, können Sie die folgenden Beispiele verwenden, um Ihren Model-Evaluierungsjob zu erstellen, der menschliche Arbeiter verwendet.

Amazon Bedrock console

Gehen Sie wie folgt vor, um mithilfe der Amazon Bedrock-Konsole einen Modellevaluierungsjob zu erstellen. Um dieses Verfahren erfolgreich abzuschließen, stellen Sie sicher, dass Ihr IAM-Benutzer, Ihre Gruppe oder Rolle über die erforderlichen Berechtigungen für den Zugriff auf die Konsole verfügt. Weitere Informationen hierzu finden Sie unter Erforderliche Berechtigungen zum Erstellen eines Auftrags zur Modellbewertung mithilfe der Amazon-Bedrock-Konsole.

Außerdem müssen für alle Datensätze mit benutzerdefinierten Eingabeaufforderungen, die Sie im Modellevaluierungsjob angeben möchten, die erforderlichen CORS-Berechtigungen zum Amazon S3 S3-Bucket hinzugefügt werden. Weitere Informationen zum Hinzufügen der erforderlichen CORS-Berechtigungen finden Sie unter. Erforderliche CORS-Berechtigung (Cross Origin Resource Sharing) für S3-Buckets

Um einen Modellevaluierungsjob zu erstellen, bei dem menschliche Mitarbeiter eingesetzt werden
  1. Öffnen Sie die Amazon-Bedrock-Konsole unter: https://console.aws.amazon.com/bedrock/.

  2. Klicken Sie im Navigationsbereich auf Modelle.

  3. Wählen Sie auf der Karte Eine Bewertung erstellen unter Automatisch die Option Automatische Bewertung erstellen.

  4. Geben Sie auf der Seite Automatische Bewertung erstellen die folgenden Informationen ein:

    1. Auswertungsname: Geben Sie dem Auftrag zur Modellbewertung einen Namen, der den Auftrag beschreibt. Dieser Name wird in der Liste Ihrer Aufträge zur Modellbewertung angezeigt. Der Name muss AWS-Konto in Ihrem Namen eindeutig sein. AWS-Region

    2. Beschreibung (optional): Geben Sie eine optionale Beschreibung ein.

    3. Modelle: Wählen Sie das Modell aus, das Sie bei der Modellbewertung verwenden möchten.

      Weitere Informationen zu verfügbaren Modellen und dem Zugriff auf sie in Amazon Bedrock finden Sie unterZugriff auf Amazon Bedrock Foundation-Modelle verwalten.

    4. (Optional) Wählen Sie Aktualisieren, um die Inferenzkonfiguration zu ändern.

      Durch das Ändern der Inferenzkonfiguration werden die vom ausgewählten Modell generierten Antworten geändert. Weitere Informationen zu den verfügbaren Inferenzparametern finden Sie unter Inferenzparameter für Basismodelle.

    5. Aufgabentyp: Wählen Sie den Aufgabentyp aus, den das Modell während des Auftrags zur Modellbewertung ausführen soll.

    6. Metriken und Datensätze: Die Liste der verfügbaren Metriken und der integrierten Prompt-Datensätze ändert sich je nach der ausgewählten Aufgabe. Sie können aus der Liste Verfügbare integrierte Datensätze oder „Eigenen Prompt-Datensatz verwenden“ wählen. Wenn Sie Ihren eigenen Prompt-Datensatz verwenden möchten, geben Sie den exakten S3-URI Ihrer Prompt-Datensatzdatei ein oder wählen Sie „S3 durchsuchen“, um nach Ihrem Prompt-Datensatz zu suchen.

    7. Evaluationsergebnisse — Geben Sie die S3-URI des Verzeichnisses an, in dem die Ergebnisse Ihres Modellevaluierungsjobs gespeichert werden sollen. Wählen Sie Browse S3, um in Amazon S3 nach einem Standort zu suchen.

    8. (Optional) Um die Verwendung eines vom Kunden verwalteten Schlüssels zu aktivieren, wählen Sie Verschlüsselungseinstellungen anpassen (erweitert). Geben Sie dann den ARN des AWS KMS Schlüssels an, den Sie verwenden möchten.

    9. Amazon Bedrock IAM-Rolle — Wählen Sie Bestehende Rolle verwenden, um eine IAMService-Rolle zu verwenden, die bereits über die erforderlichen Berechtigungen verfügt, oder wählen Sie Neue Rolle erstellen, um eine neue IAM-Servicerolle zu erstellen.

  5. Wählen Sie dann die Option Erstellen.

Sobald Ihr Job gestartet wurde, ändert sich der Status In Bearbeitung. Sobald sich der Status „Abgeschlossen“ ändert, können Sie das Zeugnis des Auftrags einsehen.

SDK for Python

Verfahren

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":"{\"temperature\":\"0.0\", \"topP\":\"1\", \"maxTokenCount\":\"512\"}" } }, { "bedrockModel": { "modelIdentifier": "anthropic.claude-v2", "inferenceParams": "{\"temperature\":\"0.25\",\"top_p\":\"0.25\",\"max_tokens_to_sample\":\"256\",\"top_k\":\"1\"}" } } ] }, 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)