View a markdown version of this page

Types d'évaluation et soumission des offres d'emploi - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Types d'évaluation et soumission des offres d'emploi

Analyse comparative avec des ensembles de données standardisés

Utilisez le type d'évaluation de référence pour évaluer la qualité de votre modèle à travers des ensembles de données de référence standardisés, y compris des ensembles de données populaires tels que MMLU et BBH.

Comparaison Ensemble de données personnalisé pris en charge Modalités Description Métriques Stratégie Sous-tâche disponible
mmlu Non Texte Multi-task Compréhension de la langue — Teste les connaissances dans 57 matières. précision zs_cot Oui
mmlu_pro Non Texte MMLU – Sous-ensemble professionnel : se concentre sur les domaines professionnels tels que le droit, la médecine, la comptabilité et l’ingénierie. précision zs_cot Non
bbh Non Texte Tâches de raisonnement avancées : ensemble de problèmes difficiles qui mettent à l’épreuve des compétences cognitives et de résolution de problèmes de haut niveau. précision fs_cot Oui
gpqa Non Texte Réponses aux questions de physique générale : évalue la compréhension des concepts de physique et les capacités de résolution de problèmes connexes. précision zs_cot Non
math Non Texte Résolution de problèmes mathématiques : mesure le raisonnement mathématique dans des domaines tels que l’algèbre, le calcul et les problèmes de mots. exact_match zs_cot Oui
strong_reject Non Texte Quality-Control Tâche : teste la capacité du modèle à détecter et à rejeter le contenu inapproprié, préjudiciable ou incorrect. deflection zs Oui
ifeval Non Texte Instruction-Following Évaluation : évalue la précision avec laquelle un modèle suit les instructions données et exécute les tâches conformément aux spécifications. précision zs Non

Pour plus d'informations sur les formats BYOD, consultezFormats de jeu de données pris en charge pour les tâches Bring-Your-Own-Dataset (BYOD).

Sous-tâches disponibles

La liste suivante répertorie les sous-tâches disponibles pour l'évaluation de modèles dans plusieurs domaines, notamment MMLU (Massive Multitask Language Understanding), BBH (Big Bench Hard) et MATH. StrongReject Ces sous-tâches vous permettent d’évaluer les performances de votre modèle par rapport à des capacités et à des domaines de connaissances spécifiques.

Sous-tâches 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" ]

Sous-tâches 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" ]

Sous-tâches mathématiques

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

StrongReject Sous-tâches

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

Soumettez votre offre d'emploi de référence

SageMaker Studio
Une configuration minimale pour l'analyse comparative via 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()

Pour plus d'informations sur la soumission des tâches d'évaluation via le SDK SageMaker Python, consultez : https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html

Évaluation du Large Language Model as a Judge (LLMAJ)

Utilisez l'évaluation LLM-as-a-judge (LLMAJ) pour tirer parti d'un autre modèle frontière afin de noter les réponses de votre modèle cible. Vous pouvez utiliser les modèles AWS Bedrock comme juges en appelant create_evaluation_job l'API pour lancer la tâche d'évaluation.

  • SageMaker LLM en tant que juge  : cette fonctionnalité est développée par Amazon Bedrock Evaluations. Votre utilisation de cette fonctionnalité est soumise à la tarification des évaluations Amazon Bedrock. Consultez les conditions de service applicables à Amazon Bedrock et les conditions qui s'appliquent à votre utilisation de modèles tiers. Amazon Bedrock Evaluations peut transmettre en toute sécurité des données à travers votre Régions AWS zone géographique à des fins de traitement. Pour plus d'informations, consultez la documentation d'Amazon Bedrock Evaluations.

Pour plus d'informations sur les modèles de juges pris en charge, voir : https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html

Vous pouvez utiliser deux formats de métriques différents pour définir l'évaluation :

Soumettre un job LLMAJ avec des métriques intégrées

SageMaker Studio
Configuration minimale pour l'analyse comparative de LLMAJ via 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()

Pour plus d'informations sur la soumission des tâches d'évaluation via le SDK SageMaker Python, consultez : https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html

Soumettre un job LLMAJ avec des métriques personnalisées

Définissez vos indicateurs personnalisés :

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

Pour plus d'informations, voir : https://docs.aws.amazon.com/bedrock/latest/userguide/model-evaluation-custom-metrics-prompt-formats.html

SageMaker Studio
Téléchargez la métrique personnalisée via Mesures personnalisées > Ajouter des mesures personnalisées.
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 )

Scores personnalisés

Définissez votre propre fonction de notation personnalisée pour lancer une tâche d'évaluation. Le système fournit deux marqueurs intégrés : Prime math et Prime code. Vous pouvez également apporter votre propre fonction de marqueur. Vous pouvez copier directement le code de votre fonction scorer ou apporter votre propre définition de fonction Lambda à l'aide de l'ARN associé. Par défaut, les deux types de scoreurs produisent des résultats d'évaluation qui incluent des mesures standard telles que le score F1, ROUGE et BLEU.

Pour plus d'informations sur les marqueurs intégrés et personnalisés et leurs fonctions respectives requirements/contracts, consultezÉvaluez à l'aide de marqueurs prédéfinis et personnalisés.

Enregistrez votre ensemble de données

Apportez votre propre jeu de données pour un scoreur personnalisé en l'enregistrant en tant que jeu de données de contenu SageMaker Hub.

SageMaker Studio

Dans Studio, chargez votre jeu de données à l'aide de la page dédiée.

Ensemble de données d'évaluation enregistré dans SageMaker Studio.
SageMaker Python SDK

Dans le SDK SageMaker Python, téléchargez votre jeu de données à l'aide de la page dédiée aux ensembles de données.

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

Soumettre une tâche de scoreur intégrée

SageMaker Studio
Choisissez parmi les exécutions de code ou les réponses mathématiques pour une notation Built-In personnalisée.
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()

Sélectionnez parmi BuiltInMetric.PRIME_MATH ou BuiltInMetric.PRIME_CODE pour la Built-In notation.

Soumettre une tâche de scoreur personnalisée

Définissez une fonction de récompense personnalisée. Pour de plus amples informations, veuillez consulter Scorateurs personnalisés (apportez vos propres statistiques).

Enregistrez la fonction de récompense personnalisée

SageMaker Studio
Accédez à SageMaker Studio > Ressources > Évaluateur > Créer un évaluateur > Créer une fonction de récompense.
Soumettez la tâche d'évaluation Custom Scorer en faisant référence à la fonction de récompense prédéfinie enregistrée dans Custom Scorer > Custom metrics.
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()