View a markdown version of this page

Arten der Bewertung und Einreichung von Aufträgen - Amazon SageMaker KI

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.

Arten der Bewertung und Einreichung von Aufträgen

Benchmarking mit standardisierten Datensätzen

Verwenden Sie den Typ Benchmark-Bewertung, um die Qualität Ihres Modells anhand standardisierter Benchmark-Datensätze zu bewerten, einschließlich beliebter Datensätze wie MMLU und BBH.

Benchmark Benutzerdefinierter Datensatz wird unterstützt Modalitäten Description Kennzahlen Strategie Unteraufgabe verfügbar
mmlu Nein Text Multi-task Sprachverständnis — Testet das Wissen in 57 Fächern. Richtigkeit zs_cot Ja
mmlu_pro Nein Text MMLU – professioneller Bereich – konzentriert sich auf Fachbereiche wie Recht, Medizin, Rechnungswesen und Ingenieurwesen. Richtigkeit zs_cot Nein
bbh Nein Text Fortschrittliche Argumentationsaufgaben – eine Sammlung herausfordernder Probleme, die kognitive Fähigkeiten und Fähigkeiten zur Problemlösung auf höherem Niveau auf die Probe stellen. Richtigkeit fs_cot Ja
gpqa Nein Text Beantwortung allgemeiner Fragen zur Physik – beurteilt das Verständnis physikalischer Konzepte und die damit verbundenen Fähigkeiten zur Problemlösung. Richtigkeit zs_cot Nein
math Nein Text Mathematische Problemlösung – bewertet mathematische Überlegungen in verschiedenen Themenbereichen wie Algebra, Infinitesimalrechnung und Textaufgaben. exact_match zs_cot Ja
strong_reject Nein Text Quality-Control Aufgabe — Testet die Fähigkeit des Modells, unangemessene, schädliche oder falsche Inhalte zu erkennen und abzulehnen. deflection zs Ja
ifeval Nein Text Instruction-Following Bewertung — Misst, wie genau ein Modell gegebene Anweisungen befolgt und Aufgaben gemäß den Spezifikationen erledigt. Richtigkeit zs Nein

Weitere Informationen zu BYOD-Formaten finden Sie unter. Unterstützte Datensatzformate für Bring-Your-Own-Dataset (BYOD-) Aufgaben

Verfügbare Unteraufgaben

Im Folgenden sind verfügbare Unteraufgaben für die Modellevaluierung in mehreren Bereichen aufgeführt, darunter MMLU (Massive Multitask Language Understanding), BBH (Big Bench Hard) und MATH. StrongReject Diese Unteraufgaben ermöglichen es Ihnen, die Leistung Ihres Modells in Bezug auf bestimmte Fähigkeiten und Wissensbereiche zu bewerten.

MMLU-Unteraufgaben

MMLU_SUBTASKS = [ "abstract_algebra", "anatomy", "astronomy", "business_ethics", "clinical_knowledge", "college_biology", "college_chemistry", "college_computer_science", "college_mathematics", "college_medicine", "college_physics", "computer_security", "conceptual_physics", "econometrics", "electrical_engineering", "elementary_mathematics", "formal_logic", "global_facts", "high_school_biology", "high_school_chemistry", "high_school_computer_science", "high_school_european_history", "high_school_geography", "high_school_government_and_politics", "high_school_macroeconomics", "high_school_mathematics", "high_school_microeconomics", "high_school_physics", "high_school_psychology", "high_school_statistics", "high_school_us_history", "high_school_world_history", "human_aging", "human_sexuality", "international_law", "jurisprudence", "logical_fallacies", "machine_learning", "management", "marketing", "medical_genetics", "miscellaneous", "moral_disputes", "moral_scenarios", "nutrition", "philosophy", "prehistory", "professional_accounting", "professional_law", "professional_medicine", "professional_psychology", "public_relations", "security_studies", "sociology", "us_foreign_policy", "virology", "world_religions" ]

BBH-Unteraufgaben

BBH_SUBTASKS = [ "boolean_expressions", "causal_judgement", "date_understanding", "disambiguation_qa", "dyck_languages", "formal_fallacies", "geometric_shapes", "hyperbaton", "logical_deduction_five_objects", "logical_deduction_seven_objects", "logical_deduction_three_objects", "movie_recommendation", "multistep_arithmetic_two", "navigate", "object_counting", "penguins_in_a_table", "reasoning_about_colored_objects", "ruin_names", "salient_translation_error_detection", "snarks", "sports_understanding", "temporal_sequences", "tracking_shuffled_objects_five_objects", "tracking_shuffled_objects_seven_objects", "tracking_shuffled_objects_three_objects", "web_of_lies", "word_sorting" ]

Mathematische Unteraufgaben

MATH_SUBTASKS = [ "algebra", "counting_and_probability", "geometry", "intermediate_algebra", "number_theory", "prealgebra", "precalculus" ]

StrongReject Unteraufgaben

STRONG_REJECT_SUBTASKS = [ "gcg_transfer_harmbench", "gcg_transfer_universal_attacks", "combination_3", "combination_2", "few_shot_json", "dev_mode_v2", "dev_mode_with_rant", "wikipedia_with_title", "distractors", "wikipedia", "style_injection_json", "style_injection_short", "refusal_suppression", "prefix_injection", "distractors_negated", "poems", "base64", "base64_raw", "base64_input_only", "base64_output_only", "evil_confidant", "aim", "rot_13", "disemvowel", "auto_obfuscation", "auto_payload_splitting", "pair", "pap_authority_endorsement", "pap_evidence_based_persuasion", "pap_expert_endorsement", "pap_logical_appeal", "pap_misrepresentation" ]

Reichen Sie Ihren Benchmark-Job ein

SageMaker Studio
Eine Minimalkonfiguration für das Benchmarking über SageMaker Studio.
SageMaker Python SDK
from sagemaker.train.evaluate import get_benchmarks from sagemaker.train.evaluate import BenchMarkEvaluator Benchmark = get_benchmarks() # Create evaluator with MMLU benchmark evaluator = BenchMarkEvaluator( benchmark=Benchmark.MMLU, model="arn:aws:sagemaker:<region>:<account-id>:model-package/<model-package-name>/<version>", s3_output_path="s3://<bucket-name>/<prefix>/", evaluate_base_model=False ) execution = evaluator.evaluate()

Weitere Informationen zur Einreichung von Bewertungsaufträgen über das SageMaker Python SDK finden Sie unter: https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html

Bewertung von Large Language Model as a Judge (LLMAJ)

Verwenden Sie die Evaluierung LLM-as-a-judge (LLMAJ), um ein anderes Frontier-Modell zur Bewertung Ihrer Zielmodellantworten zu nutzen. Sie können AWS Bedrock-Modelle als Richter verwenden, indem Sie die create_evaluation_job API aufrufen, um den Bewertungsjob zu starten.

  • SageMaker LLM als Judge: Diese Funktion wird von Amazon Bedrock Evaluations unterstützt. Ihre Nutzung dieser Funktion unterliegt den Preisen für Amazon Bedrock-Evaluationen. Weitere Informationen finden Sie in den für Amazon Bedrock geltenden Servicebedingungen und in den Bedingungen, die für Ihre Nutzung von Modellen von Drittanbietern gelten. Amazon Bedrock Evaluations kann Daten AWS-Regionen innerhalb Ihrer Region zur Verarbeitung sicher übertragen. Weitere Informationen finden Sie in der Dokumentation zu Amazon Bedrock Evaluations.

Weitere Informationen zu den unterstützten Judge-Modellen finden Sie unter: https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html

Sie können zwei verschiedene Metrikformate verwenden, um die Bewertung zu definieren:

Reichen Sie einen LLMAJ-Job mit integrierten Metriken ein

SageMaker Studio
Eine Minimalkonfiguration für das LLMAJ-Benchmarking über Studio. SageMaker
SageMaker Python SDK
from sagemaker.train.evaluate import LLMAsJudgeEvaluator evaluator = LLMAsJudgeEvaluator( model="arn:aws:sagemaker:<region>:<account-id>:model-package/<model-package-name>/<version>", evaluator_model="<bedrock-judge-model-id>", dataset="s3://<bucket-name>/<prefix>/<dataset-file>.jsonl", builtin_metrics=["<builtin-metric-1>", "<builtin-metric-2>"], s3_output_path="s3://<bucket-name>/<prefix>/", evaluate_base_model=False ) execution = evaluator.evaluate()

Weitere Informationen zur Einreichung von Bewertungsaufträgen über das SageMaker Python SDK finden Sie unter: https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html

Reichen Sie einen LLMAJ-Job mit benutzerdefinierten Metriken ein

Definieren Sie Ihre benutzerdefinierte (n) Metrik (en):

{ "customMetricDefinition": { "name": "PositiveSentiment", "instructions": ( "You are an expert evaluator. Your task is to assess if the sentiment of the response is positive. " "Rate the response based on whether it conveys positive sentiment, helpfulness, and constructive tone.\n\n" "Consider the following:\n" "- Does the response have a positive, encouraging tone?\n" "- Is the response helpful and constructive?\n" "- Does it avoid negative language or criticism?\n\n" "Rate on this scale:\n" "- Good: Response has positive sentiment\n" "- Poor: Response lacks positive sentiment\n\n" "Here is the actual task:\n" "Prompt: {{prompt}}\n" "Response: {{prediction}}" ), "ratingScale": [ {"definition": "Good", "value": {"floatValue": 1}}, {"definition": "Poor", "value": {"floatValue": 0}} ] } }

Weitere Informationen finden Sie unter: https://docs.aws.amazon.com/bedrock/latest/userguide/model-evaluation-custom-metrics-prompt-formats.html

SageMaker Studio
Laden Sie die benutzerdefinierte Metrik über Benutzerdefinierte Metriken > Benutzerdefinierte Metriken hinzufügen hoch.
SageMaker Python SDK
evaluator = LLMAsJudgeEvaluator( model="arn:aws:sagemaker:<region>:<account-id>:model-package/<model-package-name>/<version>", evaluator_model="<bedrock-judge-model-id>", dataset="s3://<bucket-name>/<prefix>/<dataset-file>.jsonl", custom_metrics=custom_metric_dict = { "customMetricDefinition": { "name": "PositiveSentiment", "instructions": ( "You are an expert evaluator. Your task is to assess if the sentiment of the response is positive. " "Rate the response based on whether it conveys positive sentiment, helpfulness, and constructive tone.\n\n" "Consider the following:\n" "- Does the response have a positive, encouraging tone?\n" "- Is the response helpful and constructive?\n" "- Does it avoid negative language or criticism?\n\n" "Rate on this scale:\n" "- Good: Response has positive sentiment\n" "- Poor: Response lacks positive sentiment\n\n" "Here is the actual task:\n" "Prompt: {{prompt}}\n" "Response: {{prediction}}" ), "ratingScale": [ {"definition": "Good", "value": {"floatValue": 1}}, {"definition": "Poor", "value": {"floatValue": 0}} ] } }, s3_output_path="s3://<bucket-name>/<prefix>/", evaluate_base_model=False )

Benutzerdefinierte Punktezähler

Definieren Sie Ihre eigene benutzerdefinierte Scorer-Funktion, um einen Bewertungsjob zu starten. Das System bietet zwei integrierte Scorer: Prime Math und Prime Code. Sie können auch Ihre eigene Scorer-Funktion mitbringen. Sie können Ihren Scorer-Funktionscode direkt kopieren oder mithilfe des zugehörigen ARN Ihre eigene Lambda-Funktionsdefinition mitbringen. Standardmäßig liefern beide Scorertypen Bewertungsergebnisse, die Standardmetriken wie F1-Score, ROUGE und BLEU enthalten.

Weitere Informationen zu integrierten und benutzerdefinierten Scorern sowie zu den jeweiligen requirements/contracts Bewertern finden Sie unter. Evaluieren Sie mit voreingestellten und benutzerdefinierten Scorern

Registrieren Sie Ihren Datensatz

Bringen Sie Ihren eigenen Datensatz für den benutzerdefinierten Scorer mit, indem Sie ihn als SageMaker Hub-Inhaltsdatensatz registrieren.

SageMaker Studio

Laden Sie Ihren Datensatz in Studio über die entsprechende Datensatz-Seite hoch.

Registrierter Bewertungsdatensatz in SageMaker Studio.
SageMaker Python SDK

Laden Sie Ihren Datensatz im SageMaker Python-SDK über die entsprechende Datensatzseite hoch.

from sagemaker.ai_registry.dataset import DataSet dataset = DataSet.create( name="your-bring-your-own-dataset", source="s3://<bucket-name>/<prefix>/<dataset-file>.jsonl" ) dataset.refresh()

Reichen Sie einen integrierten Scorer-Job ein

SageMaker Studio
Wählen Sie zwischen Codeausführungen oder mathematischen Antworten für die Built-In benutzerdefinierte Bewertung.
SageMaker Python SDK
from sagemaker.train.evaluate import CustomScorerEvaluator from sagemaker.train.evaluate import get_builtin_metrics BuiltInMetric = get_builtin_metrics() evaluator_builtin = CustomScorerEvaluator( evaluator=BuiltInMetric.PRIME_MATH, dataset="arn:aws:sagemaker:<region>:<account-id>:hub-content/<hub-content-id>/DataSet/your-bring-your-own-dataset/<version>", model="arn:aws:sagemaker:<region>:<account-id>:model-package/<model-package-name>/<version>", s3_output_path="s3://<bucket-name>/<prefix>/", evaluate_base_model=False ) execution = evaluator.evaluate()

Wählen Sie aus BuiltInMetric.PRIME_MATH oder BuiltInMetric.PRIME_CODE für Built-In Bewertung.

Reichen Sie einen benutzerdefinierten Scorer-Job ein

Definieren Sie eine benutzerdefinierte Belohnungsfunktion. Weitere Informationen finden Sie unter Benutzerdefinierte Punktezähler (bringen Sie Ihre eigenen Kennzahlen mit).

Registrieren Sie die benutzerdefinierte Belohnungsfunktion

SageMaker Studio
Navigieren Sie zu SageMaker Studio > Ressourcen > Evaluator > Evaluator erstellen > Belohnungsfunktion erstellen.
Reichen Sie den Job zur Bewertung von Custom Scorer ein und verweisen Sie dabei auf die registrierte, voreingestellte Belohnungsfunktion unter Benutzerdefinierter Scorer > Benutzerdefinierte Kennzahlen.
SageMaker Python SDK
from sagemaker.ai_registry.evaluator import Evaluator from sagemaker.ai_registry.air_constants import REWARD_FUNCTION evaluator = Evaluator.create( name = "your-reward-function-name", source="/path_to_local/custom_lambda_function.py", type = REWARD_FUNCTION )
evaluator = CustomScorerEvaluator( evaluator=evaluator, dataset="s3://<bucket-name>/<prefix>/<dataset-file>.jsonl", model="arn:aws:sagemaker:<region>:<account-id>:model-package/<model-package-name>/<version>", s3_output_path="s3://<bucket-name>/<prefix>/", evaluate_base_model=False ) execution = evaluator.evaluate()