基盤モデル評価とは - Amazon SageMaker

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

基盤モデル評価とは

FMEval は、不正確、有害、またはバイアスのあるコンテンツなどのモデルリスクを定量化するのに役立ちます。を評価すると、ISO42001 AI マネジメントシステムスタンダードや AI リスク管理フレームワークなど、責任ある生成 AI に関する国際的なガイドラインに準拠LLMできます。 NIST

以下のセクションでは、モデル評価の作成、モデル評価ジョブの結果の表示、および結果の分析でサポートされている方法の概要を説明します。

モデル評価タスク

モデル評価ジョブの評価タスクは、プロンプトの情報に基づいてモデルに実行させるタスクです。モデル評価ジョブごとに 1 つのタスクタイプを選択できます

モデル評価ジョブでサポートされているタスクタイプ
  • オープンエンド生成 – 事前定義された構造を持たないテキストに対する自然な人間の応答の生成。

  • テキストの要約 – 大きなテキストに含まれる意味と重要な情報を保持しながら、簡潔で要約された概要を生成する。

  • 質問への回答 – プロンプトに対する関連性の高い正確な回答の生成。

  • 分類 – ラベルやスコアなどのカテゴリをテキストに、その内容に基づいて割り当てます。

  • カスタム – モデル評価ジョブのカスタム評価ディメンションを定義できます。

各タスクタイプには、自動モデル評価ジョブで使用できる特定のメトリクスが関連付けられています。自動モデル評価ジョブ、およびヒューマンワーカーを使用するモデル評価ジョブに関連するメトリクスについては、「」を参照してくださいモデル評価ジョブでのプロンプトデータセットと使用可能な評価ディメンションの使用

推論パラメータの更新

推論パラメータは、モデルを再トレーニングまたは微調整することなく、モデルの出力に影響を与える方法です。

自動モデル評価ジョブでは、モデルの温度、トップ P、および最大新しいトークンを変更できます。

温度

モデルのレスポンスのランダム性の量を変更します。デフォルトの温度を下げてランダム性の量を減らし、 を高くするとさらに大きくなります。

トップ P

推論中、モデルはテキストを生成し、単語のリストから選択して次の単語を配置します。Top P を更新すると、そのリスト内の単語数がパーセンテージに基づいて変更されます。Top P を小さくすると、より決定的なサンプルが生成され、値を大きくすると、生成されたテキストのばらつきと創造性が向上します。

最大新規トークン数

モデルが提供できるレスポンスの長さを変更します。

モデルをモデル評価ジョブに追加した後、Studio で推論パラメータを更新できます。

自動モデル評価ジョブ

自動モデル評価ジョブは、ベンチマークに基づくメトリクスを使用して、顧客に対する有害、有害、またはその他の不適切な応答を測定します。モデルレスポンスは、タスクに固有の組み込みデータセットを使用してスコアリングされるか、独自のカスタムプロンプトデータセットを指定できます。

自動モデル評価ジョブを作成するには、Studio または fmevalライブラリを使用します。自動モデル評価ジョブは、単一のモデルの使用をサポートします。Studio では、 JumpStart モデルを使用するか、以前にエンドポイントにデプロイした JumpStart モデルを使用できます。

または、fmevalライブラリを独自のコードベースにデプロイし、独自のユースケースに合わせてモデル評価ジョブをカスタマイズすることもできます。

結果をよりよく理解するには、生成されたレポートを使用します。このレポートには、視覚化と例が含まれています。また、ジョブの作成時に指定された Amazon S3 バケットに保存された結果も表示されます。結果の構造の詳細については、「」を参照してください自動評価ジョブの結果を理解する

で公開されていないモデルを使用するには JumpStart 、fmevalライブラリを使用して自動モデル評価ジョブを実行する必要があります。 JumpStart モデルのリストについては、「」を参照してください利用可能な基盤モデル

プロンプトテンプレート

選択した JumpStart モデルがすべてのプロンプトに対して適切に機能するように、 SageMaker Clarify は入力プロンプトを自動的にモデルと選択した評価ディメンションに最適な形式に拡張します。Clarify が提供するデフォルトのプロンプトテンプレートを表示するには、評価ディメンションのカードでプロンプトテンプレートを選択します。例えば、UI でタスクタイプのテキスト要約を選択した場合、デフォルトで Clarify は関連する評価ディメンションごとにカードを表示します。この場合、精度 毒性 セマンティック堅牢性 です。これらのカードでは、Clarify がその評価ディメンションを測定するために使用するデータセットとプロンプトテンプレートを設定できます。使用しないディメンションを削除することもできます。

デフォルトのプロンプトテンプレート

Clarify には、各評価ディメンションの測定に使用できるデータセットの選択が用意されています。これらのデータセットの 1 つ以上を使用するか、独自のカスタムデータセットを指定することができます。Clarify が提供するデータセットを使用する場合は、Clarify によって挿入されたプロンプトテンプレートをデフォルトとしても使用できます。これらのデフォルトプロンプトは、各データセットのレスポンス形式を分析し、同じレスポンス形式を達成するために必要なクエリの拡張を決定して導き出しました。

Clarify が提供するプロンプトテンプレートは、選択したモデルにも依存します。プロンプトの特定の場所で指示を期待するように微調整されたモデルを選択できます。例えば、モデル meta-textgenerationneuron-llama-2-7b 、タスクタイプ Text Summarization 、および を選択します。Gigaword データセットには、次のデフォルトのプロンプトテンプレートが表示されます。

Summarize the following text in one sentence: Oil prices fell on thursday as demand for energy decreased around the world owing to a global economic slowdown...

一方、 llama チャットモデル meta-textgenerationneuron-llama-2-7b-f を選択すると、次のデフォルトのプロンプトテンプレートが表示されます。

[INST]<<SYS>>Summarize the following text in one sentence:<</SYS>>Oil prices fell on thursday as demand for energy decreased around the world owing to a global economic slowdown...[/INST]

カスタムプロンプトテンプレート

プロンプトテンプレートダイアログボックスで、 SageMaker Clarify が提供する自動プロンプトテンプレートサポートをオンまたはオフに切り替えることができます。自動プロンプトテンプレートをオフにすると、Clarify はデフォルトのプロンプト (同じ評価ディメンション内のすべてのデータセットのベースラインとして) を提供し、これを変更できます。例えば、デフォルトのプロンプトテンプレートに 1 つの文 に以下の要約 という命令が含まれている場合は、100 語未満または使用する他の任意の命令で以下を要約するように変更できます。

また、評価ディメンションのプロンプトを変更すると、同じディメンションを使用するすべてのデータセットに同じプロンプトが適用されます。したがって、プロンプトを適用する場合は、次のテキストを 17 の文でデータセットに要約します。Gigaword 毒性を測定するには、データセットに同じ手順を使用します。Government report 毒性を測定します。別のデータセットに別のプロンプトを使用する場合は (同じタスクタイプと評価ディメンションを使用)、 が提供する Python パッケージを使用できますFMEval。詳細については、「fmeval ライブラリを使用してワークフローをカスタマイズする」を参照してください。

例 プロンプトテンプレートを使用した更新されたプロンプトテンプレートの例

2 つのプロンプトのみで構成されるシンプルなデータセットがあり、 を使用して評価したいという単純なシナリオを想像してくださいmeta-textgenerationneuron-llama-2-7b-f

{ "model_input": "Is himalaya the highest mountain in the world?", "target_output": "False, Mt. Everest is the highest mountain in the world", "category": "Geography" }, { "model_input": "Is Olympia the capital of Washington?", "target_output": "True", "category": "Capitals" }

プロンプトは質問と回答のペアであるため、質問応答 (Q&A) タスクタイプを選択します。

Studio でプロンプトテンプレートを選択すると、 SageMaker Clarify がmeta-textgenerationneuron-llama-2-7b-f JumpStart モデルの要件に合わせてプロンプトをフォーマットする方法を確認できます。

[INST]<<SYS>>Respond to the following question. Valid answers are "True" or "False".<<SYS>>Is himalaya the highest mountain in the world?[/INST]

このモデルでは、 SageMaker Clarify は、 [INST]<<SYS>>タグを追加して、正しいプロンプト形式を含むようにプロンプトを補完します。また、モデルがより良く応答Respond to the following question. Valid answers are "True" or "False".できるように を追加して、最初のリクエストを強化します。

SageMaker Clarify が提供するテキストは、ユースケースに適していない可能性があります。デフォルトのプロンプトテンプレートをオフにするには、データセットのデフォルトのプロンプトテンプレート「オフ」に切り替えます。

ユースケースに合わせてプロンプトテンプレートを編集できます。例えば、次の行に示すように、True/False の回答形式ではなく短い回答を求めることができます。

[INST]<<SYS>>Respond to the following question with a short response.<<SYS>>Is himalaya the highest mountain in the world?[/INST]

これで、指定された評価ディメンションのすべての組み込みまたはカスタムプロンプトデータセットは、指定したプロンプトテンプレートを使用します。

ヒューマンワーカーを使用するモデル評価ジョブ

また、ヒューマンワーカーを使用して、モデルのレスポンスを、有用性やスタイルなど、より主観的な側面について手動で評価することもできます。ヒューマンワーカーを使用するモデル評価ジョブを作成するには、Studio を使用する必要があります。

ヒューマンワーカーを使用するモデル評価ジョブでは、最大 2 つの JumpStart モデルのレスポンスを比較できます。オプションで、 以外のモデルからのレスポンスを指定することもできます AWS。ヒューマンワーカーを使用するすべてのモデル評価ジョブでは、カスタムプロンプトデータセットを作成し、Amazon S3 に保存する必要があります。カスタムプロンプトデータを作成する方法の詳細については、「」を参照してくださいヒューマンワーカーによるモデル評価ジョブの作成

Studio では、ヒューマンワークフォースがモデルからのレスポンスを評価するために使用する基準を定義できます。Studio で利用可能なテンプレートを使用して評価手順を文書化することもできます。さらに、Studio で作業チームを作成できます。作業チームは、モデル評価ジョブに参加したい人です。