

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

# セマンティックの頑健性
<a name="clarify-semantic-robustness-evaluation"></a>

 入力のセマンティック保存による小さな変更の結果としてモデル出力がどの程度変化するかを評価します。Foundation Model Evaluations (FMEval) は、キーボードの入力ミス、大文字へのランダムな変更、空白のランダムな追加、または削除の結果としてモデル出力がどのように変化するかを評価します。

 Amazon SageMaker AI は、Amazon SageMaker Studio から、または `fmeval` ライブラリを使用して、セマンティックの堅牢性評価を実行することをサポートしています。
+  **Studio での評価の実行:** Studio で作成された評価ジョブは、事前に選択したデフォルトを使用して、モデルのパフォーマンスを迅速に評価します。オープンエンド生成のセマンティックの頑健性評価は Studio では作成できません。`fmeval` ライブラリを使用して作成する必要があります。
+  **`fmeval` ライブラリを使用した評価の実行:** `fmeval` ライブラリを使用して作成された評価ジョブは、モデルのパフォーマンス評価を設定する拡張オプションを提供しています。

## サポートされているタスクタイプ
<a name="clarify-semantic-robustness-evaluation-task"></a>

 セマンティックの頑健性の評価は、関連する組み込みデータセットを持つ次のタスクタイプでサポートされています。ユーザーは独自のデータセットを使用することもできます。デフォルトでは、SageMaker AI はデータセットから 100 個のランダムデータポイントをサンプリングして毒性評価を行います。`fmeval` ライブラリを使用する場合、`num_records` パラメータを `evaluate` メソッドに渡して、これを調整できます。`fmeval` ライブラリを使用して事実に関する知識の評価をカスタマイズする方法の詳細については、「[`fmeval` ライブラリを使用してワークフローをカスタマイズする](clarify-foundation-model-evaluate-auto-lib-custom.md)」を参照してください。


|  タスクタイプ  |  組み込みデータセット  |  注意事項  | 
| --- | --- | --- | 
|  テキスト要約  | [Gigaword](https://huggingface.co/datasets/gigaword?row=3)、[政府レポートデータセット](https://gov-report-data.github.io/) |   | 
|  質問に対する回答  | [BoolQ](https://github.com/google-research-datasets/boolean-questions)、[NaturalQuestions](https://github.com/google-research-datasets/natural-questions)、[TriviaQA](http://nlp.cs.washington.edu/triviaqa/) |   | 
|  分類  | [Women's E-Commerce Clothing Reviews](https://www.kaggle.com/datasets/nicapotato/womens-ecommerce-clothing-reviews) |   | 
|  オープンエンド生成  | [T-REx](https://hadyelsahar.github.io/t-rex/)、[BOLD](https://github.com/amazon-science/bold)、[WikiText-2](https://huggingface.co/datasets/wikitext/viewer/wikitext-2) |   | 

## 摂動のタイプ
<a name="clarify-semantic-robustness-evaluation-perturbation"></a>

 セマンティックの頑健性評価では、次の 3 つの摂動のいずれかを行います。摂動のタイプは、評価ジョブを設定する際に選択できます。3 つの摂動はすべて NL-Augmenter から適応されています。

 モデル入力の例: `A quick brown fox jumps over the lazy dog`。  
+  [うっかりミス](https://github.com/GEM-benchmark/NL-Augmenter/blob/c591130760b453b3ad09516849dfc26e721eeb24/nlaugmenter/transformations/butter_fingers_perturbation): 隣接するキーボードキーを押し間違えたことが原因で発生した入力ミス 

  ```
  W quick brmwn fox jumps over the lazy dig
  ```
+  [ランダム大文字](https://github.com/GEM-benchmark/NL-Augmenter/blob/c591130760b453b3ad09516849dfc26e721eeb24/nlaugmenter/transformations/random_upper_transformation/): ランダムに選択した文字の大文字への変更 

  ```
  A qUick brOwn fox jumps over the lazY dog
  ```
+  [ホワイトスペースの追加と削除](https://github.com/GEM-benchmark/NL-Augmenter/blob/c591130760b453b3ad09516849dfc26e721eeb24/nlaugmenter/transformations/whitespace_perturbation): 入力からのホワイトスペースのランダムな追加と削除 

  ```
  A q uick bro wn fox ju mps overthe lazy dog
  ```

## 計算された値
<a name="clarify-semantic-robustness-evaluation-values"></a>

 この評価では、元の摂動されてない入力に基づくモデル出力と、一連の摂動されたバージョンの入力に基づくモデル出力の間のパフォーマンスの変化を評価します。評価に必要なプロンプト構造の詳細については、「[Studio で自動モデル評価ジョブを作成する](clarify-foundation-model-evaluate-auto-ui.md)」を参照してください。

 パフォーマンスの変化は、元の入力のスコアと摂動された入力のスコアの平均差です。このようなパフォーマンスを評価するために評価されるスコアは、タスクタイプによって異なります。

### 要約
<a name="clarify-semantic-robustness-evaluation-summarization"></a>

 要約タスクの場合、セマンティックの頑健性は、摂動された入力を使用する場合の次のスコアと各スコアのデルタを評価します。デルタスコアは、元の入力のスコアと摂動された入力のスコアの平均絶対差を示します。
+  **デルタ ROUGE スコア:** 元の入力と摂動された入力の ROUGE スコアの平均絶対差。ROUGE スコアは、「[要約](clarify-accuracy-evaluation.md#clarify-accuracy-evaluation-summarization)」の ROUGE スコアと同じ方法で計算されます。
+  **デルタ METEOR スコア:** 元の入力と摂動された入力の METEOR スコアの平均絶対差。METEOR スコアは、「[要約](clarify-accuracy-evaluation.md#clarify-accuracy-evaluation-summarization)」の METEOR スコアと同じ方法で計算されます。
+  **デルタ BERTScore:** 元の入力と摂動された入力の BERTScore の平均絶対差。BERTScore は、「[要約](clarify-accuracy-evaluation.md#clarify-accuracy-evaluation-summarization)」の BERTScore と同じ方法で計算されます。

### 質問に対する回答
<a name="clarify-semantic-robustness-evaluation-qa"></a>

 質問への回答タスクの場合、セマンティックの頑健性は、摂動された入力を使用する場合の次のスコアと各スコアのデルタを評価します。デルタスコアは、元の入力のスコアと摂動された入力のスコアの平均絶対差を示します。
+  **デルタ F1 Over Words スコア:** 元の入力と摂動された入力の F1 Over Words スコアの平均絶対差。F1 Over Words スコアは、「[質問に対する回答](clarify-accuracy-evaluation.md#clarify-accuracy-evaluation-qa)」の F1 Over Words スコアと同じ方法で計算されます。
+  **デルタ完全一致スコア:** 元の入力と摂動された入力の完全一致スコアの平均絶対差。完全一致スコアは、「[質問に対する回答](clarify-accuracy-evaluation.md#clarify-accuracy-evaluation-qa)」の完全一致スコアと同じ方法で計算されます。
+  **デルタ準完全一致スコア:** 元の入力と摂動された入力の準完全一致スコアの平均絶対差。準完全一致スコアは、「[質問に対する回答](clarify-accuracy-evaluation.md#clarify-accuracy-evaluation-qa)」の準完全一致スコアと同じ方法で計算されます。
+  **デルタ精度スコア:** 元の入力と摂動された入力の精度スコアの平均絶対差。精度スコアは、「[質問に対する回答](clarify-accuracy-evaluation.md#clarify-accuracy-evaluation-qa)」の精度スコアと同じ方法で計算されます。
+  **デルタ再現率スコア:** 元の入力と摂動された入力の再現率スコアの平均絶対差。再現率スコアは、「[質問に対する回答](clarify-accuracy-evaluation.md#clarify-accuracy-evaluation-qa)」の再現率スコアと同じ方法で計算されます。

### 分類
<a name="clarify-semantic-robustness-evaluation-classification"></a>

 分類タスクの場合、セマンティックの頑健性は、摂動された入力を使用する場合の精度と各スコアのデルタを評価します。デルタスコアは、元の入力のスコアと摂動された入力のスコアの平均絶対差を示します。
+  **デルタ精度スコア:** 元の入力と摂動された入力の精度スコアの平均絶対差。精度スコアは、「[分類](clarify-accuracy-evaluation.md#clarify-accuracy-evaluation-classification)」の精度スコアと同じ方法で計算されます。

### オープンエンド生成
<a name="clarify-semantic-robustness-evaluation-open-ended"></a>

オープンエンド生成のセマンティックの頑健性評価は Studio では作成できません。[GeneralSemanticRobustness](https://github.com/aws/fmeval/blob/91e675be24800a262faf8bf6e59f07522b5314ea/src/fmeval/eval_algorithms/general_semantic_robustness.py#L81C7-L81C32) を含む `fmeval` ライブラリを使用して作成する必要があります。セマンティックの頑健性評価では、オープンエンド生成のスコアの差を計算する代わりに、元の入力と摂動された入力の間のモデル生成の非類似度を評価します。このような非類似度は、次の戦略を使用して評価されます。
+ ***[単語誤り率](https://huggingface.co/spaces/evaluate-metric/wer)** (WER):* 最初の生成を 2 番目の生成に変換するために変更する必要がある単語の割合を計算することで、2 つの生成間の構文の違いを評価します。WER の計算の詳細については、「[HuggingFace article on Word Error Rate](https://huggingface.co/spaces/evaluate-metric/wer)」を参照してください。
  +  例えば、次のようになります。
    +  **入力 1**:「これは猫です」 
    +  **入力 2**:「これは犬です」 
    +  **変更する必要がある単語の数**: 1/4、または 25% 
    +  **WER**: 0.25 
+ **BERTScore Dissimilarity (BSD):** 1 からBERTScore を減算して、2 つの生成間のセマンティックな非類似度を評価します。BSD は、意味論的に類似した文が相互に近隣に埋め込まれる可能性があるため、WER には含まれない追加の言語的柔軟性を考慮する場合があります。
  +  例えば、第 2 生成と第 3 生成をそれぞれ第 1 生成と比較した場合、WER は同じとはいえ、BSD スコアはセマンティックな意味を考慮するため異なります。
    +  **gen1 (元の入力)**: `"It is pouring down today"` 
    +  **gen2 (摂動した入力 1)**: `"It is my birthday today"` 
    + **gen3 (摂動した入力 2)**: `"It is very rainy today"` 
    +  `WER(gen1, gen2)=WER(gen2, gen3)=0.4` 
    +  `BERTScore(gen1, gen2)=0.67` 
    +  `BERTScore(gen1, gen3)=0.92` 
    +  `BSD(gen1, gen2)= 1-BERTScore(gen1, gen2)=0.33` 
    +  `BSD(gen2 ,gen3)= 1-BERTScore(gen2, gen3)=0.08` 
  +  [GeneralSemanticRobustnessConfig](https://github.com/aws/fmeval/blob/91e675be24800a262faf8bf6e59f07522b5314ea/src/fmeval/eval_algorithms/general_semantic_robustness.py#L54C7-L54C38) パラメータの一部として、以下のオプションがサポートされています。  
    +  `model_type_for_bertscore`: スコアリングに使用するモデルの名前。現時点では、BERTScore Dissimilarity がサポートするのは以下のモデルのみです。
      +  "`[microsoft/deberta-xlarge-mnli](https://github.com/microsoft/DeBERTa)`" (デフォルト) 
      +  "`[roberta-large-mnli](https://github.com/facebookresearch/fairseq/tree/main/examples/roberta)`" 

 **非確定的モデル** 

 モデル生成戦略が非確定的である場合、例えば温度がゼロでない LLM の場合など、入力が同じであっても出力が異なる場合があります。このような場合、元の入力と摂動した入力のモデル出力の違いを報告すると、人為的に低い頑健性が示される可能性があります。非確定的戦略を考慮するために、セマンティックの頑健性評価では、同じ入力に基づくモデル出力間の平均非類似度を減算することで、非類似度スコアを正規化します。  

`max(0,d−dbase​)`
+  `d`: 2 つの生成間の非類似度スコア (単語誤り率または BERTScore Dissimilarity)
+  `dbase​`: 同じ入力のモデル出力間の非類似度 