View a markdown version of this page

Tipi di valutazione e invio delle offerte di lavoro - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tipi di valutazione e invio delle offerte di lavoro

Analisi comparativa con set di dati standardizzati

Usa il tipo di valutazione comparativa per valutare la qualità del tuo modello su set di dati di riferimento standardizzati, inclusi set di dati popolari come MMLU e BBH.

Benchmark Set di dati personalizzato supportato Modalità Description Metriche Strategia Sottoattività disponibile
mmlu No Testo Multi-task Comprensione del linguaggio: verifica la conoscenza di 57 materie. accuratezza zs_cot
mmlu_pro No Testo MMLU - Sottoinsieme professionale - Incentrato su domini professionali come legge, medicina, contabilità e ingegneria. accuratezza zs_cot No
bbh No Testo Attività di ragionamento avanzato - Una raccolta di problemi impegnativi che mettono alla prova le capacità cognitive e di risoluzione dei problemi di livello superiore. accuratezza fs_cot
gpqa No Testo Risposta a domande di fisica generale - Valuta la comprensione di concetti di fisica e le relative capacità di risoluzione dei problemi. accuratezza zs_cot No
matematica No Testo Risoluzione di problemi matematici - Misura il ragionamento matematico su argomenti quali algebra, calcolo e problemi testuali. exact_match zs_cot
strong_reject No Testo Quality-Control Attività: verifica la capacità del modello di rilevare e rifiutare contenuti inappropriati, dannosi o errati. deflection zs
ifeval No Testo Instruction-Following Valutazione: misura la precisione con cui un modello segue le istruzioni fornite e completa le attività secondo le specifiche. accuratezza zs No

Per ulteriori informazioni sui formati BYOD, vedere. Formati di set di dati supportati per attività Bring-Your-Own-Dataset (BYOD)

Sottoattività disponibili

Di seguito sono elencate le sottoattività disponibili per la valutazione del modello in più domini, tra cui MMLU (Massive Multitask Language Understanding), BBH (Big Bench Hard) e MATH. StrongReject Queste sottoattività consentono di valutare le prestazioni del modello in base a funzionalità e aree di conoscenza specifiche.

Sottoattività MMLU

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" ]

Sottoattività BBH

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" ]

Sottoattività matematiche

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

StrongReject Sottoattività

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" ]

Invia il tuo lavoro di riferimento

SageMaker Studio
Una configurazione minima per il benchmarking tramite 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()

Per ulteriori informazioni sull'invio del lavoro di valutazione tramite SageMaker Python SDK, consulta: https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html

Valutazione del Large Language Model as a Judge (LLMAJ)

Utilizzate la valutazione LLM-as-a-judge (LLMAJ) per sfruttare un altro modello di frontiera per valutare le risposte del modello target. Puoi utilizzare i modelli AWS Bedrock come giudici chiamando l'create_evaluation_jobAPI per avviare il processo di valutazione.

  • SageMaker LLM come giudice: questa funzionalità è basata su Amazon Bedrock Evaluations. L'utilizzo di questa funzione è soggetto ai prezzi di Amazon Bedrock Evaluations, consulta i Termini di servizio applicabili ad Amazon Bedrock e i termini applicabili all'utilizzo di modelli di terze parti. Amazon Bedrock Evaluations può trasmettere in modo sicuro i dati all'interno Regioni AWS della tua area geografica per l'elaborazione. Per ulteriori informazioni, accedi alla documentazione di Amazon Bedrock Evaluations.

Per ulteriori informazioni sui modelli di valutazione supportati, consulta: https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html

È possibile utilizzare 2 diversi formati di metrica per definire la valutazione:

Invia un job LLMAJ con metriche integrate

SageMaker Studio
Una configurazione minima per il benchmarking LLMAJ tramite 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()

Per ulteriori informazioni sull'invio del lavoro di valutazione tramite SageMaker Python SDK, consulta: https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html

Invia un job LLMAJ con metriche personalizzate

Definisci le tue metriche personalizzate:

{ "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}} ] } }

Per ulteriori informazioni, consulta: https://docs.aws.amazon.com/bedrock/latest/userguide/model-evaluation-custom-metrics-prompt-formats.html

SageMaker Studio
Carica la metrica personalizzata tramite Metriche personalizzate > Aggiungi metriche personalizzate.
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 )

Punteggi personalizzati

Definisci la tua funzione di punteggio personalizzata per avviare un lavoro di valutazione. Il sistema fornisce due punteggi integrati: Prime math e Prime code. Puoi anche portare la tua funzione di punteggio. Puoi copiare direttamente il codice della funzione scorer o importare la tua definizione di funzione Lambda utilizzando l'ARN associato. Per impostazione predefinita, entrambi i tipi di punteggio producono risultati di valutazione che includono metriche standard come punteggio F1, ROUGE e BLEU.

Per ulteriori informazioni sui marcatori integrati e personalizzati e sui rispettivi, vedere. requirements/contracts Valuta con punteggi preimpostati e personalizzati

Registra il tuo set di dati

Crea il tuo set di dati per lo scorer personalizzato registrandolo come Hub Content Dataset. SageMaker

SageMaker Studio

In Studio, carica il tuo set di dati utilizzando la pagina dedicata ai set di dati.

Set di dati di valutazione registrato in Studio. SageMaker
SageMaker Python SDK

Nell'SDK SageMaker Python, carica il tuo set di dati utilizzando la pagina dedicata ai set di dati.

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()

Invia un lavoro di valutazione integrato

SageMaker Studio
Seleziona tra Esecuzioni di codice o Risposte matematiche per Built-In un punteggio personalizzato.
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()

Seleziona da BuiltInMetric.PRIME_MATH o BuiltInMetric.PRIME_CODE per Punteggio. Built-In

Invia un lavoro di valutazione personalizzato

Definisci una funzione di ricompensa personalizzata. Per ulteriori informazioni, consulta Punteggi personalizzati (Bring Your Own Metrics).

Registra la funzione di ricompensa personalizzata

SageMaker Studio
Accedere a SageMaker Studio > Assets > Evaluator > Crea valutatore > Crea funzione di ricompensa.
Inviate il lavoro di valutazione di Custom Scorer facendo riferimento alla funzione di ricompensa preimpostata registrata in Custom Scorer > Metriche personalizzate.
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()