

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Tipos de avaliação e envio de trabalhos
<a name="model-customize-evaluation-types"></a>

## Avaliação comparativa com conjuntos de dados padronizados
<a name="model-customize-evaluation-benchmarking"></a>

Use o tipo de avaliação de referência para avaliar a qualidade do seu modelo em conjuntos de dados de referência padronizados, incluindo conjuntos de dados populares como MMLU e BBH.


| Referência | Conjunto de dados personalizado suportado | Modalidades | Description | Metrics | Estratégia | Subtarefa disponível | 
| --- | --- | --- | --- | --- | --- | --- | 
| mmlu | Não | Texto | Compreensão de linguagem multitarefa: testa o conhecimento em 57 disciplinas. | accuracy | zs\$1cot | Sim | 
| mmlu\$1pro | Não | Texto | MMLU (subconjunto profissional): concentra-se em domínios profissionais como direito, medicina, contabilidade e engenharia. | accuracy | zs\$1cot | Não | 
| bbh | Não | Texto | Tarefas de raciocínio avançado: um conjunto de problemas desafiadores que testam habilidades cognitivas e de resolução de problemas de nível mais alto. | accuracy | fs\$1cot | Sim | 
| gpqa | Não | Texto | Resposta a perguntas de física geral: avalia a compreensão de conceitos de física e habilidades relacionadas à resolução de problemas. | accuracy | zs\$1cot | Não | 
| math | Não | Texto | Resolução de problemas matemáticos: mede o raciocínio matemático em vários tópicos, como álgebra, cálculo e problemas de palavras. | exact\$1match | zs\$1cot | Sim | 
| strong\$1reject | Não | Texto | Tarefa de controle de qualidade — testa a capacidade do modelo de detectar e rejeitar conteúdo impróprio, prejudicial ou incorreto. | deflection | zs | Sim | 
| ifeval | Não | Texto | Avaliação de seguimento de instruções: avalia com que precisão um modelo segue as instruções dadas e conclui as tarefas conforme as especificações. | accuracy | zs | Não | 

Para obter mais informações sobre formatos BYOD, consulte[Formatos de conjunto de dados compatíveis para Bring-Your-Own-Dataset tarefas (BYOD)](model-customize-evaluation-dataset-formats.md).

### Subtarefas disponíveis
<a name="model-customize-evaluation-benchmarking-subtasks"></a>

A seguir, listamos as subtarefas disponíveis para avaliação do modelo em vários domínios, incluindo MMLU (Massive Multitask Language Understanding), BBH (Big Bench Hard) e MATH. StrongReject Essas subtarefas permitem avaliar o desempenho do modelo em capacidades e áreas de conhecimento específicas.

**Subtarefas do 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"
]
```

**Subtarefas do 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"
]
```

**Subtarefas matemáticas**

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

**StrongReject Subtarefas**

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

### Envie seu trabalho de referência
<a name="model-customize-evaluation-benchmarking-submit"></a>

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

![\[Uma configuração mínima para benchmarking por meio do Studio SageMaker\]](http://docs.aws.amazon.com/pt_br/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()
```

Para obter mais informações sobre o envio de trabalhos de avaliação por meio do SageMaker Python SDK, consulte: [https://sagemaker.readthedocs.io/en/stable/model\$1customization/evaluation.html](https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html)

------

## Avaliação do Large Language Model as a Judge (LLMAJ)
<a name="model-customize-evaluation-llmaj"></a>

Use a avaliação LLM-as-a-judge (LLMAJ) para aproveitar outro modelo de fronteira para avaliar as respostas do modelo de destino. Você pode usar os modelos AWS Bedrock como juízes chamando a `create_evaluation_job` API para iniciar o trabalho de avaliação.

Para obter mais informações sobre os modelos de juízes suportados, consulte: [https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html)

Você pode usar dois formatos de métrica diferentes para definir a avaliação:
+ **Métricas integradas: aproveite as métricas** integradas do AWS Bedrock para analisar a qualidade das respostas de inferência do seu modelo. Para obter mais informações, consulte: [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étricas personalizadas:** defina suas próprias métricas personalizadas no formato de métrica personalizada do Bedrock Evaluation para analisar a qualidade das respostas de inferência do seu modelo usando suas próprias instruções. Para obter mais informações, consulte: [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)

### Envie uma tarefa LLMAJ com métricas integradas
<a name="model-customize-evaluation-llmaj-builtin"></a>

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

![\[Uma configuração mínima para benchmarking do LLMAJ por meio do Studio SageMaker\]](http://docs.aws.amazon.com/pt_br/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()
```

Para obter mais informações sobre o envio de trabalhos de avaliação por meio do SageMaker Python SDK, consulte: [https://sagemaker.readthedocs.io/en/stable/model\$1customization/evaluation.html](https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html)

------

### Envie um trabalho LLMAJ com métricas personalizadas
<a name="model-customize-evaluation-llmaj-custom"></a>

Defina suas métricas personalizadas:

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

Para obter mais informações, consulte: [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 ]

![\[Faça o upload da métrica personalizada por meio de Métricas personalizadas > Adicionar métricas personalizadas\]](http://docs.aws.amazon.com/pt_br/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
)
```

------

## Pontuadores personalizados
<a name="model-customize-evaluation-custom-scorers"></a>

Defina sua própria função de pontuação personalizada para iniciar um trabalho de avaliação. O sistema fornece dois marcadores integrados: Prime math e Prime code. Você também pode trazer sua própria função de marcador. Você pode copiar o código da função do marcador diretamente ou trazer sua própria definição de função Lambda usando o ARN associado. Por padrão, os dois tipos de pontuador produzem resultados de avaliação que incluem métricas padrão, como pontuação na F1, ROUGE e BLEU.

Para obter mais informações sobre pontuadores integrados e personalizados e seus respectivos requisitos/contratos, consulte. [Avalie com pontuadores predefinidos e personalizados](model-customize-evaluation-preset-custom-scorers.md)

### Registre seu conjunto de dados
<a name="model-customize-evaluation-custom-scorers-register-dataset"></a>

Traga seu próprio conjunto de dados para um marcador personalizado registrando-o como um conjunto de dados do SageMaker Hub Content.

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

No Studio, faça o upload do seu conjunto de dados usando a página dedicada de conjuntos de dados.

![\[Conjunto de dados de avaliação registrado no Studio SageMaker\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/dataset-registration-sagemaker-studio.png)


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

No SDK do SageMaker Python, faça o upload do seu conjunto de dados usando a página dedicada de conjuntos de dados.

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

------

### Envie um trabalho de pontuação integrado
<a name="model-customize-evaluation-custom-scorers-builtin"></a>

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

![\[Selecione entre execuções de código ou respostas matemáticas para obter pontuação personalizada integrada\]](http://docs.aws.amazon.com/pt_br/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()
```

Selecione a partir de `BuiltInMetric.PRIME_MATH` ou `BuiltInMetric.PRIME_CODE` para a pontuação incorporada.

------

### Envie um trabalho de pontuação personalizado
<a name="model-customize-evaluation-custom-scorers-custom"></a>

Defina uma função de recompensa personalizada. Para obter mais informações, consulte [Pontuadores personalizados (traga suas próprias métricas)](model-customize-evaluation-preset-custom-scorers.md#model-customize-evaluation-custom-scorers-byom).

**Registre a função de recompensa personalizada**

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

![\[Navegando até SageMaker Studio > Assets > Evaluator > Criar avaliador > Criar função de recompensa\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/custom-scorer-submission-sagemaker-studio.png)


![\[Envie o trabalho de avaliação do Custom Scorer referenciando a função de recompensa predefinida registrada em Custom Scorer > Custom Scorer > Custom metrics\]](http://docs.aws.amazon.com/pt_br/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()
```

------