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 Sprachverständnis für mehrere Aufgaben – testet Wissen in 57 Themen. 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 Aufgabe zur Qualitätskontrolle — Testet die Fähigkeit des Modells, unangemessene, schädliche oder falsche Inhalte zu erkennen und abzulehnen. deflection zs Ja
ifeval Nein Text Bewertung der Anweisungsbefolgung – Prüft, wie genau ein Modell die Anweisungen befolgt und die 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 zu nutzen, um die Antworten Ihres Zielmodells zu bewerten. Sie können AWS Bedrock-Modelle als Richter verwenden, indem Sie die create_evaluation_job API aufrufen, um den Bewertungsjob zu starten.

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

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 Punktezähler

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 Anforderungen/Verträgen 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 die integrierte 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 „Integrierte Bewertung“ BuiltInMetric.PRIME_MATH oder „Integrierte BuiltInMetric.PRIME_CODE 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 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()