Einen Amazon Bedrock-Modellevaluierungsauftrag 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.

Einen Amazon Bedrock-Modellevaluierungsauftrag erstellen

Sie können einen Modellevaluierungsjob erstellen, indem Sie AWS Management Console, AWS CLI, oder ein unterstütztes AWS SDK. Sie können einen automatischen Modellevaluierungsjob erstellen, der Metriken für die Bewertung generiert. Sie können auch einen Job zur Modellevaluierung von Menschen erstellen, bei dem ein Team von Mitarbeitern bewertet und ihre Beiträge für die Bewertung bereitstellt.

Die folgenden Beispiele zeigen Ihnen, wie Sie mithilfe der Amazon Bedrock-Konsole einen automatischen und menschlichen Modellevaluierungsauftrag erstellen. AWS CLI, SDK für Python.

Anzeigen von Ergebnissen der Aufträge zur Modellbewertung mit der Amazon-Bedrock-Konsole

Wenn ein Auftrag zur Modellbewertung abgeschlossen ist, werden die Ergebnisse in dem von Ihnen angegebenen Amazon-S3-Bucket gespeichert. Wenn Sie den Speicherort der Ergebnisse in irgendeiner Weise ändern, ist der Bericht über die Modellbewertung nicht mehr in der Konsole sichtbar.

Automatische Aufträge zur Modellbewertung

Die folgenden Beispiele zeigen Ihnen, wie Sie einen automatischen Modellevaluierungsjob 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 Jobs zur Modellevaluierung finden Sie unterAnforderungen 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 ausreichende Berechtigungen für den Zugriff auf die Konsole verfügt. Weitere Informationen hierzu finden Sie unter Erforderliche Berechtigungen für die Modellevaluierung 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 unterErforderliche Cross-Origin-Berechtigung zur gemeinsamen Nutzung von Ressourcen (CORS) für S3-Buckets.

Um einen automatischen Modellevaluierungsjob zu erstellen
  1. Öffnen Sie die Amazon Bedrock-Konsole: 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 in Ihrem Konto einmalig sein, und zwar 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 unterGreifen Sie auf Amazon Bedrock Foundation-Modelle zu.

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

      Durch eine Änderung der Inferenzkonfiguration werden die von den ausgewählten Modellen 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-Wert Ihrer URI Prompt-Datensatzdatei ein oder wählen Sie „S3 durchsuchen“, um nach Ihrem Prompt-Datensatz zu suchen.

    7. >Evaluationsergebnisse — Geben Sie den 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 von AWS KMS Schlüssel, den Sie verwenden möchten.

    9. Amazon IAM Bedrock-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 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="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

Im AWS CLI, können Sie den help Befehl verwenden, um zu sehen, welche Parameter erforderlich sind und welche Parameter optional sind, wenn Sie create-evaluation-job in der 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

Die folgenden Beispiele zeigen, wie ein Modellevaluierungsjob erstellt wird, bei dem menschliche Mitarbeiter eingesetzt werden.

Konsole

Erstellen eines Auftrags zur Modellbewertung mit menschlichen Mitarbeitern
  1. Öffnen Sie die Amazon Bedrock-Konsole: Home https://console.aws.amazon.com/bedrock/

  2. Klicken Sie im Navigationsbereich auf Modelle.

  3. Wählen Sie auf der Testkarte Erstellen Sie unter Mensch: Bringen Sie Ihr eigenes Team mit die Option Evaluierung erstellen aus.

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

    1. Auswertungsname: 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 einmalig sein, und zwar AWS-Region.

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

  5. Wählen Sie anschließend Weiter.

  6. Geben Sie auf der Seite Bewertung einrichten Folgendes ein.

    1. Modelle: Sie können bis zu zwei Modelle auswählen, die Sie im Auftrag zur Modellbewertung verwenden möchten.

      Weitere Informationen zu den verfügbaren Modellen in Amazon Bedrock finden Sie unter Greifen Sie auf Amazon Bedrock Foundation-Modelle zu.

    2. (Optional) Um die Inferenzkonfiguration für die ausgewählten Modelle zu ändern, wählen Sie „Aktualisieren“.

      Durch eine Änderung der Inferenzkonfiguration werden die von den ausgewählten Modellen generierten Antworten geändert. Weitere Informationen zu den verfügbaren Inferenzparametern finden Sie unter Inferenzparameter für Basismodelle.

    3. Aufgabentyp: Wählen Sie 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.

    4. Bewertungsmetriken: Die Liste der empfohlenen Metriken ändert sich je nach der ausgewählten Aufgabe. Für jede empfohlene Metrik müssen Sie eine Bewertungsmethode auswählen. Sie können maximal 10 Bewertungsmetriken pro Auftrag zur Modellbewertung verwenden.

    5. (Optional) Wählen Sie Metrik hinzufügen, um eine Metrik hinzuzufügen. Sie müssen die Metrik, die Beschreibung und die Bewertungsmethode definieren.

    6. Auf der Karte „Datensätze“ müssen Sie Folgendes angeben.

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

      2. Ziel der Evaluationsergebnisse — Sie müssen das S3 URI des Verzeichnisses angeben, in dem die Ergebnisse Ihres Modellevaluierungsjobs gespeichert werden sollen, oder S3 durchsuchen wählen, um die verfügbaren S3-Buckets zu sehen.

    7. (Optional) AWS KMS Schlüssel — Geben Sie den ARN vom Kunden verwalteten Schlüssel an, den Sie zur Verschlüsselung Ihres Model-Evaluierungsjobs verwenden möchten.

    8. Auf der Karte Amazon Bedrock IAM Rolle — Berechtigungen müssen Sie Folgendes tun. Lesen Sie Erforderliche Berechtigungen und IAM Servicerollen für die Modellevaluierung in Amazon Bedrock, um mehr über die für Modellbewertungen erforderlichen Berechtigungen zu erfahren.

      1. Um eine bestehende Amazon Bedrock-Servicerolle zu verwenden, wählen Sie Bestehende Rolle verwenden aus. Andernfalls verwenden Sie Neue Rolle erstellen, um die Details Ihrer neuen IAM Servicerolle anzugeben.

      2. Geben Sie im Feld Name der Servicerolle den Namen Ihrer IAM Servicerolle an.

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

  7. Wählen Sie anschließend Weiter.

  8. Geben Sie auf der Karte Berechtigungen Folgendes an. Lesen Sie Erforderliche Berechtigungen und IAM Servicerollen für die Modellevaluierung in Amazon Bedrock, um mehr über die für Modellbewertungen erforderlichen Berechtigungen zu erfahren.

  9. IAMWorkflow-Rolle „Mensch“ — Geben Sie eine SageMaker Servicerolle an, die über die erforderlichen Berechtigungen verfügt.

  10. Geben Sie auf der Karte Arbeitsteam Folgendes an.

    Anforderungen an Benachrichtigungen für Mitarbeiter

    Wenn Sie einen neuen Mitarbeiter zu einem Auftrag zur Modellbewertung hinzufügen, erhält er automatisch eine E-Mail, in der er zur Teilnahme an dem Auftrag zur Modellbewertung eingeladen wird. Wenn Sie einen vorhandenen menschlichen Mitarbeiter zu einem Modellevaluierungsjob hinzufügen, müssen Sie ihn benachrichtigen und ihm ein Mitarbeiterportal URL für den Modellevaluierungsjob zur Verfügung stellen. Der bestehende Mitarbeiter erhält keine automatische E-Mail-Benachrichtigung darüber, dass er dem neuen Auftrag zur Modellbewertung hinzugefügt wurde.

    1. Geben Sie in der Dropdownliste Team auswählen entweder Neues Arbeitsteam erstellen oder den Namen eines vorhandenen Arbeitsteams an.

    2. (Optional) Anzahl der Arbeitnehmer pro Prompt: Aktualisieren Sie die Anzahl der Mitarbeiter, die jede Eingabeaufforderung 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.

    3. (Optional) Bestehende Mitarbeiter-E-Mail-Adresse — Wählen Sie diese Option, um eine E-Mail-Vorlage zu kopieren, die das Mitarbeiterportal enthältURL.

    4. (Optional) E-Mail eines neuen Arbeitnehmers: Wählen Sie diese Option, um die E-Mails anzuzeigen, die neue Mitarbeiter automatisch erhalten.

      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.

  11. Wählen Sie anschließend Weiter.

  12. Verwenden Sie auf der Seite Anweisungen geben den Texteditor, um Anweisungen zur Ausführung der Aufgabe bereitzustellen. 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.

  13. Wählen Sie anschließend Weiter.

  14. Auf der Seite Überprüfen und erstellen finden Sie eine Zusammenfassung der Optionen, die Sie in den vorherigen Schritten ausgewählt haben.

  15. Wählen Sie Erstellen, um mit dem Auftrag zur Modellbewertung zu beginnen.

    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 Modellevaluierungsauftrag noch in Bearbeitung ist, können Sie festlegen, dass der Job gestoppt wird, bevor alle Antworten der Modelle von Ihrem Arbeitsteam bewertet wurden. Wählen Sie dazu auf der Landingpage zur Modellevaluierung die Option Bewertung beenden aus. Dadurch wird der Status des Modellevaluierungsjobs in Beendet geändert. Sobald der Modellevaluierungsjob erfolgreich beendet wurde, können Sie den Modellevaluierungsjob löschen.

APIund AWS CLI

Wenn Sie außerhalb der Amazon Bedrock-Konsole einen menschlichen Modellevaluierungsauftrag erstellen, müssen Sie eine SageMaker Amazon-Flow-Definition erstellen. ARN

In der Flow-Definition ARN wird der Arbeitsablauf eines Modellevaluierungsjobs 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 mit Amazon API Bedrock-Operationen gestartet wurden, müssen Sie eine Flow-Definition erstellen, ARN indem Sie AWS CLI oder ein unterstütztes AWS SDK. Weitere Informationen zur Funktionsweise und zur programmgesteuerten Erstellung von Flow-Definitionen 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.

Im Folgenden finden Sie ein Beispiel für eine Anfrage unter Verwendung von AWS CLI. In der Anfrage SageMaker gehört der HumanTaskUiArnARN. In der 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", ## 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://your-output-bucket" }, "RoleArn": "arn:aws:iam::111122223333:role/SageMakerCustomerRoleArn" }'

Nachdem Sie Ihre Flow-Definition erstellt habenARN, verwenden Sie die folgenden Beispiele, um mithilfe der AWS CLI oder ein unterstütztes AWS SDK.

SDK for Python

Das folgende Codebeispiel zeigt Ihnen, wie Sie einen Model-Evaluierungsjob erstellen, der menschliche Arbeiter über das SDK for SDK für Python verwendet.

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)