

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
<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 à 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, 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 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 SageMaker Studio.](https://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 des tâches d'évaluation via le SDK SageMaker Python, consultez : [ https://sagemaker.readthedocs.io/en/stable/model\_customization/evaluation.html ](https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html)

------

## Évaluation du Large Language Model as a Judge (LLMAJ)
<a name="model-customize-evaluation-llmaj"></a>

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 ](https://aws.amazon.com/service-terms/) 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'](https://docs.aws.amazon.com/bedrock/latest/userguide/evaluation-judge.html)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 ](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 :
+ **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 mesures personnalisées dans le format de métrique personnalisé 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 un job LLMAJ avec des métriques intégrées
<a name="model-customize-evaluation-llmaj-builtin"></a>

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

![Configuration minimale pour l'analyse comparative de LLMAJ via Studio. SageMaker](https://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 des tâches d'évaluation via le SDK SageMaker Python, consultez : [ https://sagemaker.readthedocs.io/en/stable/model\_customization/evaluation.html ](https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html)

------

### Soumettre un job LLMAJ avec des métriques personnalisées
<a name="model-customize-evaluation-llmaj-custom"></a>

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 ](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.](https://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
)
```

------

## Scores 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 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](model-customize-evaluation-preset-custom-scorers.md).

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

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.](https://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 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
<a name="model-customize-evaluation-custom-scorers-builtin"></a>

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

![Choisissez parmi les exécutions de code ou les réponses mathématiques pour une notation Built-In personnalisée.](https://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 Built-In notation.

------

### Soumettre une tâche de scoreur personnalisée
<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.](https://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/custom-scorer-submission-sagemaker-studio.png)


![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.](https://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()
```

------