

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 評価タイプとジョブ送信
<a name="model-customize-evaluation-types"></a>

## 標準化されたデータセットを使用したベンチマーク
<a name="model-customize-evaluation-benchmarking"></a>

ベンチマーク評価タイプを使用して、MMLU や BBH などの一般的なデータセットを含む標準化されたベンチマークデータセット全体でモデルの品質を評価します。


| ベンチマーク | サポートされているカスタムデータセット | モダリティ | 説明 | メトリクス | 方針 | 使用可能なサブタスク | 
| --- | --- | --- | --- | --- | --- | --- | 
| mmlu | いいえ | テキスト | マルチタスク言語理解 — 57 のテーマの知識をテストします。 | 正確性 | zs\$1cot | はい | 
| mmlu\$1pro | いいえ | テキスト | MMLU – プロフェッショナルサブセット – 法律、医学、会計、エンジニアリングなどのプロフェッショナル分野に焦点を当てています。 | 正確性 | zs\$1cot | いいえ | 
| bbh | いいえ | テキスト | 高度な推論タスク – 高レベルの認知スキルと問題解決スキルをテストする困難な問題のコレクション。 | 正確性 | fs\$1cot | はい | 
| gpqa | いいえ | テキスト | 一般的な物理質問への回答 – 物理の概念と関連する問題解決能力の理解を評価します。 | 正確性 | zs\$1cot | いいえ | 
| 算術 | いいえ | テキスト | 数学的問題解決 — 代数、微積分、単語の問題など、複数のトピックにわたって数学的推論を測定します。 | exact\$1match | zs\$1cot | はい | 
| strong\$1reject | いいえ | テキスト | 品質管理タスク – 不適切、有害、または誤ったコンテンツを検出して拒否するモデルの能力をテストします。 | deflection | zs | はい | 
| ifeval | いいえ | テキスト | 指示に従った評価 – どの程度モデルが所定の指示に正確に従い、仕様に従ってタスクを完了したかを評価します。 | 正確性 | zs | いいえ | 

BYOD 形式の詳細については、「」を参照してください[Bring-Your-Own-Dataset (BYOD) タスクでサポートされているデータセット形式](model-customize-evaluation-dataset-formats.md)。

### 使用可能なサブタスク
<a name="model-customize-evaluation-benchmarking-subtasks"></a>

以下は、MMLU (Massive Multitask Language Understanding)、BBH (Big Bench Hard)、StrongReject、MATH など、複数のドメインでモデル評価に使用できるサブタスクの一覧です。これらのサブタスクでは、特定の機能や知識領域におけるモデルのパフォーマンスを評価できます。

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

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

**数学サブタスク**

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

**StrongReject サブタスク**

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

### ベンチマークジョブを送信する
<a name="model-customize-evaluation-benchmarking-submit"></a>

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

![\[SageMaker Studio によるベンチマークの最小設定\]](http://docs.aws.amazon.com/ja_jp/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()
```

SageMaker Python SDK による評価ジョブの送信の詳細については、[https://sagemaker.readthedocs.io/en/stable/model\$1customization/evaluation.html](https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html) を参照してください。

------

## Large Language Model as a Judge (LLMAJ) の評価
<a name="model-customize-evaluation-llmaj"></a>

LLM-as-a-judge (LLMAJ) 評価を使用して、別のフロンティアモデルを活用してターゲットモデルのレスポンスを評価できます。`create_evaluation_job` API を呼び出して評価ジョブを起動することで、 AWS Bedrock モデルを審査員として使用できます。

サポートされている判事モデルの詳細については、[https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html) を参照してください。

2 つの異なるメトリクス形式を使用して評価を定義できます。
+ **組み込みメトリクス:** AWS Bedrock 組み込みメトリクスを活用して、モデルの推論レスポンスの品質を分析します。詳細については、[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) を参照してください。
+ **カスタムメトリクス:** Bedrock Evaluation カスタムメトリクス形式で独自のカスタムメトリクスを定義して、独自の指示を使用してモデルの推論レスポンスの品質を分析します。詳細については、[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) を参照してください。

### 組み込みメトリクス LLMAJ ジョブを送信する
<a name="model-customize-evaluation-llmaj-builtin"></a>

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

![\[SageMaker Studio による LLMAJ ベンチマークの最小設定\]](http://docs.aws.amazon.com/ja_jp/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()
```

SageMaker Python SDK による評価ジョブの送信の詳細については、[https://sagemaker.readthedocs.io/en/stable/model\$1customization/evaluation.html](https://sagemaker.readthedocs.io/en/stable/model_customization/evaluation.html) を参照してください。

------

### カスタムメトリクス LLMAJ ジョブを送信する
<a name="model-customize-evaluation-llmaj-custom"></a>

カスタムメトリクス (複数可) を定義します。

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

詳細については、[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 ]

![\[カスタムメトリクス経由でカスタムメトリクスをアップロードする > カスタムメトリクスを追加する\]](http://docs.aws.amazon.com/ja_jp/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
)
```

------

## カスタムスコアラー
<a name="model-customize-evaluation-custom-scorers"></a>

独自のカスタムスコアラー関数を定義して、評価ジョブを起動します。システムは、Prime Math と Prime コードの 2 つの組み込みスコアラーを提供します。独自のスコアラー関数を使用することもできます。スコアラー関数コードを直接コピーするか、関連付けられた ARN を使用して独自の Lambda 関数定義を取り込むことができます。デフォルトでは、どちらのスコアラータイプも、F1 スコア、ROUGE、BLEU などの標準メトリクスを含む評価結果を生成します。

組み込みスコアラーとカスタムスコアラー、およびそれぞれの要件/契約の詳細については、「」を参照してください[プリセットおよびカスタムスコアラーで評価する](model-customize-evaluation-preset-custom-scorers.md)。

### データセットを登録する
<a name="model-customize-evaluation-custom-scorers-register-dataset"></a>

SageMaker Hub コンテンツデータセットとして登録して、カスタムスコアラーに独自のデータセットを作成します。

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

Studio で、専用のデータセットページを使用してデータセットをアップロードします。

![\[SageMaker Studio に登録された評価データセット\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/dataset-registration-sagemaker-studio.png)


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

SageMaker Python SDK で、専用のデータセットページを使用してデータセットをアップロードします。

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

------

### 組み込みスコアラージョブを送信する
<a name="model-customize-evaluation-custom-scorers-builtin"></a>

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

![\[組み込みカスタムスコアリングのコード実行または数学回答から選択\]](http://docs.aws.amazon.com/ja_jp/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()
```

組み込みスコアリング`BuiltInMetric.PRIME_CODE`には `BuiltInMetric.PRIME_MATH` または を選択します。

------

### カスタムスコアラージョブを送信する
<a name="model-customize-evaluation-custom-scorers-custom"></a>

カスタム報酬関数を定義します。詳細については、「[カスタムスコアラー (独自のメトリクスを使用)](model-customize-evaluation-preset-custom-scorers.md#model-customize-evaluation-custom-scorers-byom)」を参照してください。

**カスタム報酬関数を登録する**

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

![\[SageMaker Studio に移動する > アセット > 評価者 > 評価者を作成する > 報酬関数を作成する\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/custom-scorer-submission-sagemaker-studio.png)


![\[登録済みのプリセット報酬関数を参照するカスタムスコアラー評価ジョブをカスタムスコアラー > カスタムメトリクスで送信する\]](http://docs.aws.amazon.com/ja_jp/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()
```

------