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
-
Öffnen Sie die Amazon-Bedrock-Konsole unter: https://console.aws.amazon.com/bedrock/.
-
Klicken Sie im Navigationsbereich auf Modelle.
-
Wählen Sie auf der Karte Eine Bewertung erstellen unter Automatisch die Option Automatische Bewertung erstellen.
-
Geben Sie auf der Seite Automatische Bewertung erstellen die folgenden Informationen ein:
-
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.
-
Beschreibung (optional): Geben Sie eine optionale Beschreibung ein.
-
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.
-
(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.
-
Aufgabentyp: Wählen Sie den Aufgabentyp aus, den das Modell während des Auftrags zur Modellbewertung ausführen soll.
-
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.
-
>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.
-
(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.
-
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.
-
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 CreateFlowDefinition
Sie 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
-
Öffnen Sie die Amazon-Bedrock-Konsole unter: https://console.aws.amazon.com/bedrock/.
-
Klicken Sie im Navigationsbereich auf Modelle.
-
Wählen Sie auf der Karte Eine Bewertung erstellen unter Automatisch die Option Automatische Bewertung erstellen.
-
Geben Sie auf der Seite Automatische Bewertung erstellen die folgenden Informationen ein:
-
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
-
Beschreibung (optional): Geben Sie eine optionale Beschreibung ein.
-
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.
-
(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.
-
Aufgabentyp: Wählen Sie den Aufgabentyp aus, den das Modell während des Auftrags zur Modellbewertung ausführen soll.
-
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.
-
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.
-
(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.
-
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.
-
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)