View a markdown version of this page

Bewertungsarten und Stelleneinreichung - 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.

Bewertungsarten und Stelleneinreichung

Benchmarking mit standardisierten Datensätzen

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

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 — Prüft, wie genau ein Modell bestimmte Anweisungen befolgt und Aufgaben gemäß den Spezifikationen ausführt. 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 minimale Konfiguration für das Benchmarking über Studio SageMaker
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

Evaluierung mit umfangreichem Sprachmodell als Richter (LLMAJ)

Verwenden Sie die Evaluierung LLM-as-a-judge (LLMAJ), um ein anderes Frontier-Modell zur Bewertung der Antworten Ihres Zielmodells 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 für Amazon Bedrock Evaluations geltenden Preisen. 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 sicher AWS-Regionen innerhalb Ihrer Region zur Verarbeitung übertragen. Weitere Informationen finden Sie in der Dokumentation zu Amazon Bedrock Evaluations.

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

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

Reichen Sie einen LLMAJ-Job mit integrierten Metriken ein

SageMaker Studio
Eine Minimalkonfiguration für 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 Scorer

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

Weitere Informationen zu integrierten und benutzerdefinierten Punktezählern und ihren jeweiligen requirements/contracts Ergebnissen finden Sie unter. Evaluieren Sie mit voreingestellten und benutzerdefinierten Punktezählern

Registrieren Sie Ihren Datensatz

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

SageMaker Studio

Laden Sie in Studio Ihren Datensatz über die spezielle Datensatzseite hoch.

Registrierter Bewertungsdatensatz in Studio SageMaker
SageMaker Python SDK

Laden Sie im SageMaker Python-SDK Ihren Datensatz über die spezielle 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 Built-In eine 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 Scoring.

Reichen Sie einen benutzerdefinierten Scorer-Job ein

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

Registrieren Sie die benutzerdefinierte Belohnungsfunktion

SageMaker Studio
Navigieren Sie zu SageMaker Studio > Assets > Evaluator > Evaluator erstellen > Belohnungsfunktion erstellen
Reichen Sie den Bewertungsjob „Benutzerdefinierter Punktezähler“ ein und verweisen Sie dabei auf die registrierte voreingestellte Prämienfunktion unter Benutzerdefinierter Punktezähler > Benutzerdefinierte Metriken
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()