Erstellen eines Auftrags zur Modellbewertung unter Einsatz von Mitarbeitern - 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.

Erstellen eines Auftrags zur Modellbewertung unter Einsatz von Mitarbeitern

Die folgenden Beispiele veranschaulichen, wie Sie einen Auftrag zur Modellbewertung unter Einsatz von Mitarbeitern erstellen.

Konsole

Erstellen eines Auftrags zur Modellbewertung mit menschlichen Mitarbeitern
  1. Öffnen Sie die Amazon-Bedrock-Konsole.

  2. Wählen Sie im Navigationsbereich unter Inferenz und Bewertung die Option Bewertungen aus.

  3. Wählen Sie im Bereich Modellbewertung unter Mensch die Option Erstellen und anschließend Mensch: Bringen Sie Ihr eigenes Arbeitsteam mit aus.

  4. Führen Sie auf der Seite Auftragsdetails festlegen die folgenden Schritte aus.

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

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

    3. Wählen Sie Weiter aus.

  5. Wählen Sie auf der Seite Bewertung einrichten unter Inferenzquelle die Quelle für Ihre Modellbewertung aus. Sie können die Leistung der Amazon-Bedrock-Modelle bewerten oder die anderer Modelle, indem Sie eigene Inferenzantwortdaten im Prompt-Datensatz bereitstellen. Sie können bis zu zwei Inferenzquellen auswählen. Bei Jobs mit zwei Quellen müssen Sie nicht denselben Typ für beide Quellen auswählen. Sie können ein Amazon-Bedrock-Modell auswählen und Ihre eigenen Inferenzantwortdaten für die zweite Quelle angeben. Gehen Sie wie folgt vor, um Amazon-Bedrock-Modelle zu bewerten:

    1. Wählen Sie unter Quelle auswählen die Option Bedrock-Modelle aus.

    2. Klicken Sie auf Modell auswählen, um das Modell anzugeben, das Sie bewerten möchten.

    3. Wenn Sie ein zweites Modell angeben möchten, wählen Sie Modell hinzufügen aus und wiederholen Sie die vorherigen Schritte.

  6. Gehen Sie wie folgt vor, um eigene Inferenzantwortdaten bereitzustellen:

    1. Wählen Sie unter Inferenzquelle die Option Eigene Inferenzantworten einbringen aus.

    2. Geben Sie unter Quellenname einen Namen für das Modell ein, mit dem Sie die Antwortdaten erstellt haben. Der eingegebene Name muss mit dem modelIdentifier-Parameter in Ihrem Prompt-Datensatz übereinstimmen.

    3. Wenn Sie eine zweite Quelle hinzufügen möchten, wählen Sie Modell hinzufügen aus und wiederholen Sie die vorherigen Schritte.

  7. Wählen Sie unter Aufgabentyp den Aufgabentyp aus, den das Modell während des Auftrags zur Modellbewertung ausführen soll. Alle Anweisungen für das Modell müssen in den Eingabeaufforderungen enthalten sein. Der Aufgabentyp hat keinen Einfluss auf die Antworten des Modells.

  8. Auf der Karte Datensätze müssen Sie Folgendes angeben.

    1. Geben Sie unter Wählen Sie einen Prompt-Datensatz den S3-URI Ihrer Prompt-Datensatzdatei an oder klicken Sie auf S3 durchsuchen, um die verfügbaren S3-Buckets zu sehen. Sie können maximal 1000 Eingabeaufforderungen in einem benutzerdefinierten Prompt-Datensatz haben.

    2. Geben Sie unter Ziel der Bewertungsergebnisse den S3-URI des Verzeichnisses an, in dem die Ergebnisse Ihres Modellbewertungsauftrags gespeichert werden sollen, oder wählen Sie S3 durchsuchen aus, um die verfügbaren S3-Buckets anzuzeigen.

  9. (Optional) Geben Sie unter KMS-Schlüssel – optional den ARN eines kundenseitig verwalteten Schlüssels an, den Sie zur Verschlüsselung Ihres Modellbewertungsauftrags verwenden möchten.

  10. Gehen Sie im Bereich Amazon Bedrock IAM-Rolle – Berechtigungen wie folgt vor. Lesen Sie , um mehr über die für Modellbewertungen erforderlichen Berechtigungen zu erfahren Anforderungen an die Servicerolle für Aufträge zur Modellbewertung.

    1. Wenn Sie eine bestehende Amazon-Bedrock-Servicerolle nutzen möchten, wählen Sie Vorhandene Rolle verwenden aus. Andernfalls verwenden Sie Neue Rolle erstellen, um die Details Ihrer neuen IAM-Servicerolle anzugeben.

    2. Wählen Sie unter Servicerolle den Namen Ihrer Servicerolle aus.

    3. Wenn Sie bereit sind, wählen Sie Rolle erstellen aus, um die neue IAM-Servicerolle zu erstellen.

  11. Wählen Sie Weiter aus.

  12. Verwenden Sie unter Arbeitsteam die Dropdown-Liste Team auswählen, um ein vorhandenes Team auszuwählen. Sie können auch ein neues Team erstellen, indem Sie wie folgt vorgehen:

    1. Geben Sie unter Teamname einen Namen für Ihr Team ein.

    2. Geben Sie unter E-Mail-Adressen die E-Mail-Adressen der Mitarbeiter in Ihrem Team ein.

    3. Wählen Sie unter Anzahl der Arbeitnehmer pro Prompt die Anzahl der Mitarbeiter aus, die die einzelnen Prompts bewerten. Nachdem die Antworten für jede Eingabeaufforderung anhand der Anzahl der von Ihnen ausgewählten Mitarbeiter überprüft wurden, werden die Eingabeaufforderung und ihre Antworten vom Arbeitsteam aus dem Verkehr gezogen. Der endgültige Ergebnisbericht wird alle Bewertungen der einzelnen Mitarbeiter enthalten.

      Wichtig

      Es ist bekannt, dass große Sprachmodelle gelegentlich halluzinieren und toxische oder anstößige Inhalte produzieren. Es kann sein, dass Ihre Mitarbeitern bei dieser Bewertung toxischem oder anstößigem ausgesetzt werden. Ergreifen Sie entsprechende Schulungsmaßnahmen und benachrichtigen Sie sie, bevor sie einer Bewertung zugeteilt werden. Sie können Aufgaben ablehnen und freigeben oder während der Bewertung Pausen einlegen und können gleichzeitig auf das menschliche Bewertungstool zugreifen.

  13. Wählen Sie unter IAM-Rolle für menschlichen Workflow – Berechtigungen eine bestehende Rolle aus oder wählen Sie Neue Rolle erstellen aus.

  14. Wählen Sie Weiter aus.

  15. Geben Sie unter Anweisungen zur Bewertung Anweisungen zur Ausführung der Aufgabe an. Sie können eine Vorschau der Bewertungs-Benutzeroberfläche anzeigen, die Ihr Arbeitsteam zur Bewertung der Antworten verwendet, einschließlich der Metriken, Bewertungsmethoden und Ihrer Anweisungen. Diese Vorschau basiert auf der Konfiguration, die Sie für diesen Auftrag erstellt haben.

  16. Wählen Sie Weiter aus.

  17. Überprüfen Sie Ihre Konfiguration und wählen Sie dann Erstellen aus, um den Auftrag zu generieren.

    Anmerkung

    Sobald der Auftrag erfolgreich gestartet wurde, ändert sich der Status in In Bearbeitung. Sobald der Auftrag abgeschlossen ist, wechselt der Status zu Abgeschlossen. Solange ein Modellbewertungsauftrag noch in Bearbeitung ist, können Sie festlegen, dass der Auftrag beendet wird, bevor alle Antworten der Modelle von Ihrem Arbeitsteam bewertet wurden. Wählen Sie dazu auf der Landingpage der Modellbewertung die Option Bewertung beenden aus. Dadurch wird der Status des Modellbewertungsauftrags in Wird angehalten geändert. Sobald der Auftrag zur Modellbewertung erfolgreich beendet wurde, können Sie den Modellbewertungsauftrag löschen.

API und AWS CLI

Wenn Sie außerhalb der Amazon-Bedrock-Konsole einen Auftrag zur Modellbewertung unter Einsatz von Mitarbeitern erstellen, müssen Sie einen ARN für die Flow-Definition von Amazon SageMaker AI erzeugen.

Im Flow-Definitions-ARN wird der Workflow eines Modellbewertungsauftrags definiert. Die Flow-Definition wird verwendet, um die Mitarbeiterschnittstelle und das Arbeitsteam zu definieren, das Sie der Aufgabe zuweisen möchten, und um eine Verbindung mit Amazon Bedrock herzustellen.

Für Modellbewertungsaufträge, die mit API-Operationen in Amazon Bedrock gestartet wurden, müssen Sie einen Flow-Definitions-ARN mit der 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 Erstellen eines Workflows für die Überprüfung durch Mitarbeiter (API) im Entwicklerhandbuch zu SageMaker AI.

In der CreateFlowDefinition müssen Sie AWS/Bedrock/Evaluation als Eingabe für die AwsManagedHumanLoopRequestSource angeben. 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 Anforderung handelt es sich bei HumanTaskUiArn um einen ARN, der SageMaker AI gehört. Im ARN können Sie nur die AWS-Region ändern.

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", ## The Task UI ARN is provided by the service team, you can only modify the AWS-Region. "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://amzn-s3-demo-destination-bucket" }, "RoleArn": "arn:aws:iam::111122223333:role/SageMakerCustomerRoleArn" }'

Nachdem Sie Ihren Flow-Definition-ARN erstellt haben, verwenden Sie die folgenden Beispiele, um mithilfe der AWS CLI oder eines unterstützten AWS SDK einen Modellbewertungsauftrag unter Einsatz von Mitarbeitern zu erstellen.

AWS CLI

Der folgende Beispielbefehl und die JSON-Datei zeigen Ihnen, wie Sie einen Modellbewertungsauftrag mit Mitarbeitern erstellen, bei dem Sie Ihre eigenen Inferenzantwortdaten angeben. Informationen zum Angeben eines Prompt-Datensatzes für eine Modellbewertungsauftrag unter Einsatz von Mitarbeitern finden Sie unter Erstellen eines benutzerdefinierte Prompt-Datensatzes für einen Auftrag zur Modellbewertung, bei dem Mitarbeiter eingesetzt werden.

Beispiel AWS CLI-Befehl und JSON-Datei zum Erstellen eines Bewertungsauftrags mit eigenen Inferenzantwortdaten
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

Das folgende Codebeispiele veranschaulicht, wie Sie einen Auftrag zur Modellbewertung unter Einsatz von Mitarbeitern über das SDK für Python erstellen.

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)