

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 de Job
<a name="model-customize-evaluation-types"></a>

## Analyse comparative avec des ensembles de données standardisés
<a name="model-customize-evaluation-benchmarking"></a>

Utilisez le type d'évaluation de référence pour évaluer la qualité de votre modèle dans 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 | Compréhension linguistique multitâche : teste les connaissances dans 57 domaines. | précision | zs\$1cot | Oui | 
| mmlu\$1pro | 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\$1cot | 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\$1cot | 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\$1cot | 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\$1match | zs\$1cot | Oui | 
| strong\$1reject | Non | Texte | Tâche de contrôle qualité : teste la capacité du modèle à détecter et à rejeter le contenu inapproprié, préjudiciable ou incorrect. | deflection | zs | Oui | 
| ifeval | Non | Texte | Évaluation suivant les instructions : é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, consultez[Formats de jeu de données pris en charge pour les tâches Bring-Your-Own-Dataset (BYOD)](model-customize-evaluation-dataset-formats.md).

### Sous-tâches disponibles
<a name="model-customize-evaluation-benchmarking-subtasks"></a>

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 du 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
<a name="model-customize-evaluation-benchmarking-submit"></a>

------
#### [ SageMaker Studio ]

![\[Une configuration minimale pour l'analyse comparative via Studio SageMaker\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/benchmark-submission-sagemaker-studio.png)


------
#### [ 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 de tâches d'évaluation via le SDK SageMaker Python, voir : [https://sagemaker.readthedocs.io/en/stable/model\$1customization/evaluation.html](https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html)

------

## Évaluation du modèle linguistique étendu en tant que juge (LLMAJ)
<a name="model-customize-evaluation-llmaj"></a>

Utilisez l'évaluation LLM-as-a-judge (LLMAJ) pour tirer parti d'un autre modèle de pointe afin de classer 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.

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](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html)

Vous pouvez utiliser deux formats de mesures différents pour définir l'évaluation :
+ **Métriques intégrées : Tirez parti des métriques** intégrées de AWS Bedrock pour analyser la qualité des réponses d'inférence de votre modèle. Pour plus d'informations, voir : [https://docs.aws.amazon.com/bedrock/latest/userguide/model- evaluation-type-judge-prompt .html](https://docs.aws.amazon.com/bedrock/latest/userguide/model-evaluation-type-judge-prompt.html)
+ **Métriques personnalisées :** définissez vos propres métriques personnalisées dans le format de métrique personnalisé de Bedrock Evaluation pour analyser la qualité des réponses d'inférence de votre modèle à l'aide de vos propres instructions. Pour plus d'informations, voir : [https://docs.aws.amazon.com/bedrock/latest/userguide/model- evaluation-custom-metrics-prompt -formats.html](https://docs.aws.amazon.com/bedrock/latest/userguide/model-evaluation-custom-metrics-prompt-formats.html)

### Soumettre une tâche LLMAJ de métriques intégrée
<a name="model-customize-evaluation-llmaj-builtin"></a>

------
#### [ SageMaker Studio ]

![\[Une configuration minimale pour le benchmarking LLMAJ via Studio SageMaker\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/llmaj-as-judge-submission-sagemaker-studio.png)


------
#### [ 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 de tâches d'évaluation via le SDK SageMaker Python, voir : [https://sagemaker.readthedocs.io/en/stable/model\$1customization/evaluation.html](https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html)

------

### Soumettre une tâche LLMAJ de métriques personnalisée
<a name="model-customize-evaluation-llmaj-custom"></a>

Définissez vos métriques personnalisées :

```
{
    "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](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 Métriques personnalisées > Ajouter des métriques personnalisées\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/custom-llmaj-metrics-submission-sagemaker-studio.png)


------
#### [ 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
)
```

------

## Scorers personnalisés
<a name="model-customize-evaluation-custom-scorers"></a>

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 score. 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 marqueurs produisent des résultats d'évaluation qui incluent des métriques standard telles que le score F1, ROUGE et BLEU.

Pour plus d'informations sur les évaluateurs intégrés et personnalisés et leurs exigences/contrats respectifs, voir. [Évaluez à l'aide de marqueurs prédéfinis et personnalisés](model-customize-evaluation-preset-custom-scorers.md)

### Enregistrez votre jeu de données
<a name="model-customize-evaluation-custom-scorers-register-dataset"></a>

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

------
#### [ SageMaker Studio ]

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

![\[Ensemble de données d'évaluation enregistré dans SageMaker Studio\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/dataset-registration-sagemaker-studio.png)


------
#### [ SageMaker Python SDK ]

Dans le SDK SageMaker Python, téléchargez votre ensemble 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 scorer intégrée
<a name="model-customize-evaluation-custom-scorers-builtin"></a>

------
#### [ SageMaker Studio ]

![\[Choisissez parmi des exécutions de code ou des réponses mathématiques pour une notation personnalisée intégrée\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/builtin-scorer-submission-sagemaker-studio.png)


------
#### [ 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 notation intégrée.

------

### Soumettre un job de scorer personnalisé
<a name="model-customize-evaluation-custom-scorers-custom"></a>

Définissez une fonction de récompense personnalisée. Pour de plus amples informations, veuillez consulter [Scorateurs personnalisés (apportez vos propres statistiques)](model-customize-evaluation-preset-custom-scorers.md#model-customize-evaluation-custom-scorers-byom).

**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\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/custom-scorer-submission-sagemaker-studio.png)


![\[Soumettez la tâche d'évaluation de Custom Scorer faisant référence à la fonction de récompense prédéfinie enregistrée dans Custom Scorer > Métriques personnalisées\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/custom-scorer-benchmark-submission-sagemaker-studio.png)


------
#### [ 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()
```

------