Skip to content

評価とモデレーションを設定

プレミアム機能

評価およびモデレーションガードレールはプレミアム機能です。 この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。

機能フラグ:モデレーションのガードレールを有効にする(プレミアム)、モデルレジストリでグローバルモデルを有効にする(プレミアム)、予測応答で追加のカスタムモデル出力を有効にする

評価とモデレーションのガードレールは、組織がプロンプトインジェクションや、悪意のある、有害な、または不適切なプロンプトや回答をブロックするのに役立ちます。 また、ハルシネーションや信頼性の低い回答を防ぎ、より一般的には、モデルをトピックに沿った状態に保つこともできます。 さらに、これらのガードレールは、個人を特定できる情報(PII)の共有を防ぐことができます。 多くの評価およびモデレーションガードレールは、デプロイされたテキスト生成モデル(LLM)をデプロイされたガードモデルに接続します。 これらのガードモデルはLLMのプロンプトと回答について予測し、これらの予測と統計を中心的なLLMデプロイに報告します。

評価とモデレーションのガードレールを使用するには、まず、LLMのプロンプトや回答について予測するガードモデルを作成してデプロイします。たとえば、ガードモデルは、プロンプトインジェクションや有害な回答を識別することができます。 次に、ターゲットタイプがテキスト生成またはエージェントのワークフローであるカスタムモデルを作成する場合、評価とモデレーションのガードレールを1つ以上定義します。

重要な前提条件

LLMに評価とモデレーションのガードレールを設定する前に、ガードモデルをデプロイし、LLMのデプロイを設定する際には、以下のガイドラインに従ってください。

  • カスタムガードモデルを使用している場合、デプロイする前に、moderations.input_column_namemoderations.output_column_name登録モデルバージョンのタグ型キー値{ target=blank }として定義します。 _これらのキー値を設定しない場合、ガードモデルのユーザーは、入力列名と出力列名を手動で入力する必要があります。
  • 評価とモデレーションを設定するに、中心的なLLMの監視に使用するグローバルまたはカスタムガードモデルをデプロイします。
  • デプロイされたガードモデルとは異なる予測環境に、中心的なLLMをデプロイします。
  • デプロイされたLLMを介して予測を開始する前に、関連付けID{ target=blank }を設定して予測ストレージを有効にします。 _関連付けIDを設定せず、LLMの予測とともに関連付けIDを指定した場合、モデレーションの指標は カスタム指標タブでは計算されません。
  • 関連付けIDを定義後、関連付けIDの自動生成を有効にして、これらの指標がカスタム指標タブに表示されるようにできます。 この設定は、デプロイ やデプロイ に有効化できます。
予測方法に関する注意事項

チャット生成Q&Aアプリケーションの外部で予測を行う場合、評価とモデレーションは、 リアルタイム予測とのみ互換性があり、 バッチ予測とは互換性がありません。 また、ボルトオンのガバナンスAPIを使ってストリーミングレスポンスをリクエストする場合、評価とモデレーションはストリーミングの効果を無効にします。 ガードレールは、LLMの完全なレスポンスのみを評価するため、レスポンステキストを1つのチャンクで返します。

評価とモデレーションのガードレールを選択する

ターゲットタイプがテキスト生成またはエージェントのワークフローであるカスタムモデルを作成する場合、評価とモデレーションのガードレールを1つ以上定義します。

評価およびモデレーションガードレールを選択および設定するには:

  1. ワークショップにおいて、ターゲットタイプがテキスト生成またはエージェントのワークフローのカスタムモデルのアセンブルタブを開き、モデルを構築します。構築方法は、DataRobot以外で作成したカスタムモデルから手動で行うか、ユースケースのLLMプレイグラウンドで構築されたモデルから自動で行うかのいずれかです。

    モデレーションを使ってテキスト生成モデルを構築する場合、必要なランタイムパラメーター(資格情報など)の設定やリソース設定(パブリックネットワークへのアクセスなど)を必ず行います。 最後に、基本環境をモデレーション対応の環境(たとえば[GenAI] Python 3.12 with Moderations)に設定します。

    リソース設定

    DataRobotでは、より多くのメモリーおよびCPUリソースを備えた、より大きなリソースバンドルを使用してLLMカスタムモデルを作成することをお勧めします。

  2. カスタムモデルに必要な設定を行ったら、評価とモデレーションセクションに移動し、 設定をクリックします。

  3. 設定サマリーで、次のいずれかを実行します。

    •  系統の表示をクリックすると、DataRobotでどのように評価が実行されているかを確認できます。 すべての評価とそれぞれのモデレーションは並行して実行されます。

    • 一般設定をクリックして、以下を設定します。

      設定 説明
      モデレーションのタイムアウトを設定 モデレーションシステムが自動的にタイムアウトするまでの最大待機時間を設定します。
      タイムアウトアクション モデレーションシステムがタイムアウトした場合に何が起こるかを定義します。プロンプト/回答をスコアリングするまたはプロンプト/回答をブロックする
  4. 評価とモデレーションの設定パネルで、次のいずれかの指標カードをクリックして必要なプロパティを設定します。

    評価指標 要件 説明
    コンテンツの安全性 NGCからインポートされたデプロイ済みNIMモデル llama-3.1-nemoguard-8b-content-safety プロンプトと回答を安全または安全でないものとして分類し、検出された安全でないカテゴリーのリストを返します。
    コスト LLMコスト設定 提供されたトークンあたりの入力コストと、トークンあたりの出力コストを使用して、LLM回答の生成コストを計算します。 コストの計算には、引用コストも含まれます。 詳細については、コスト指標の設定を参照してください。
    カスタムデプロイ カスタムデプロイ 任意のデプロイを使用して、LLM(サポートされているターゲットタイプ:連続値、二値分類、多クラス、テキスト生成)の評価とモデレーションを行います。
    感情分類器 感情分類器のデプロイ プロンプトまたはレスポンステキストを感情別に分類します。
    忠実度 プレイグラウンドLLM、ベクターデータベース LLMの回答がソースと一致するかどうかを測定して、考えられるハルシネーションを識別します。
    ジェイルブレイク NGCからインポートされ、デプロイされたNIMモデル nemoguard-jailbreak-detect NemoGuard JailbreakDetectを使ってジェイルブレイクの試みを分類します。
    PII検出 PresidioのPII検出 Microsoft Presidioライブラリを使用して、テキスト内の個人識別情報 (PII) を検出します。
    プロンプトインジェクション プロンプトインジェクション分類器 モデルの出力変更を意図した入力操作(システムプロンプトの上書きや変更など)を検出します。
    プロンプトトークン N/A LLMへの入力に関連付けられたトークンの数を追跡します。
    回答トークン N/A LLMからの出力に関連付けられたトークンの数を追跡します。
    Rouge 1 ベクターデータベース LLMブループリントから生成された回答とベクターデータベースから取得されたドキュメントの間で類似度を計算します。
    入力のトピックを維持 NVIDIA NeMoガードレールの設定 NVIDIA NeMo Guardrailsを使用してトピックの境界を設定することで、プロンプトがトピックに関連し、禁止用語を使用しないようにします。
    出力のトピックを維持 NVIDIA NeMoガードレールの設定 NVIDIA NeMo Guardrailsを使用してトピックの境界を設定することで、回答がトピックに関連し、禁止用語を使用しないようにします。
    トークン数 N/A LLMへの入力、LLMからの出力、ベクターデータベースから取得したテキストに関連付けられたトークンの数を追跡します。
    毒性 毒性分類器 コンテンツの有害性を分類してモデレーション技術を適用し、有害なコンテンツの拡散を防ぎます。
    エージェントのワークフロー指標
    Agent Goal Accuracy プレイグラウンドのLLM ユーザーの目標を特定し、達成する上でのLLMのパフォーマンスを、参照なしで評価します。
    Task Adherence プレイグラウンドのLLM エージェントが割り当てられたタスクまたは事前に定義された目標をどの程度遵守しているかを測定します。

    PII検出、プロンプトインジェクション検出、感情分類、毒性分類に必要なデプロイは、レジストリのグローバルモデルとして使用できます。

    多クラスカスタムデプロイの指標の制限値

    多クラスカスタムデプロイの指標には、以下の制限があります。

    • モデレーション基準の一致リストで定義できるクラスは最大で10個までです。

    • ガードモデルで使用できるクラス名は最大で100個までです。

  5. 上記で選択した指標に応じて、次のフィールドを設定します。

    フィールド 説明
    全般的な設定
    名前 評価指標の複数のインスタンスを追加する場合は、一意の名前を入力します。
    適用先 評価指標に応じて、プロンプト回答のどちらか、または両方を選択します。 プロンプトを選択すると、指標の計算に使用されるのは、最後のLLMプロンプトではなく、ユーザープロンプトであることに注意してください。
    カスタムデプロイ、PII検出、プロンプトインジェクション、感情分類器、毒性設定
    デプロイ名 ガードモデルによって計算された評価指標の場合、カスタムモデルデプロイを選択します。
    カスタムデプロイの設定
    入力列名 この名前は、カスタムモデルの作成者によって定義されます。 DataRobotによって作成されたグローバルモデルの場合、デフォルトの入力列名はtextです。 カスタムデプロイのガードモデルにmoderations.input_column_name キー値が定義されている場合、このフィールドは自動的に入力されます。
    出力列名 この名前はカスタムモデル作成者によって定義され、モデルのターゲット列を参照する必要があります。 ターゲット名は、デプロイの 概要タブに表示されます(多くの場合、_PREDICTIONが付加されます)。 カスタムデプロイからCSVデータをエクスポートして表示することで、列名を確認できます。 カスタムデプロイのガードモデルにmoderations.output_column_nameキー値が定義されている場合、これらのフィールドには自動的に値が設定されます。
    Faithfulness、Agent Goal Accuracy、Task Adherenceの設定
    LLM 選択した指標を評価するプレイグラウンドLLMを選択します。 忠実度の場合、LLMを選択すると、DataRobotが提供する資格情報ではなく、ユーザー自身が指定した資格情報を使用するオプションがあります。
    入力/出力のトピック維持設定
    LLMタイプ Azure OpenAIOpenAI、またはNIMを選択します。 LLMのタイプがAzure OpenAIの場合、OpenAI APIのデプロイを追加で入力します。NIMの場合は、NIMのデプロイを入力します。 LLM Gatewayを使用する場合、デフォルトでは、DataRobotが提供する資格情報が指定されます。 LLMのタイプがAzure OpenAIまたはOpenAIの場合、資格情報を変更をクリックして、自身の認証情報を入力します。
    ファイル トピックの維持の評価については、ファイルの横にあるをクリックして、NeMoガードレール設定ファイルを変更します。 特に、prompts.ymlを許可されたトピックとブロックされたトピックで、blocked_terms.txtをブロックされた用語で更新し、NeMoガードレールが実施するルールを提供します。 blocked_terms.txtファイルは、入力と出力の_ トピックの維持 指標間で共有されるため、入力指標のblocked_terms.txtを変更すると出力指標でも変更され、その逆も同様です。 カスタムモデルには、1つは入力用、もう1つは出力用の2つのNeMo _トピックの維持 指標しか存在できません。
    モデレーション設定
    モデレーションの設定と適用 この設定を有効にすると、モデレーションセクションが展開され、モデレーションロジックの適用タイミングを決定する条件を定義できます。
    コスト指標の設定

    コスト指標では、通貨額/トークン数形式での入力および出力コストを定義し、追加をクリックします。

    コスト指標には、モデレーションを設定して適用するためのモデレーションセクションが含まれていません。

  6. モデレーションセクションで、モデレーションの設定と適用を有効にして、評価指標ごとに以下を設定します。

    設定 説明
    モデレーションの基準 該当する場合、モデレーションロジックをトリガーするために評価されるしきい値を設定します。 感情分類器の場合、一致または一致しないを選択し、モデレーションロジックをトリガーするクラス(感情)のリストを定義します。
    モデレーション方法 レポートレポートとブロック、または置換(該当する場合)を選択します。
    モデレーションのメッセージ レポートとブロックを選択すると、オプションでデフォルトのメッセージを変更できます。
  7. 必須フィールドを設定した後、追加をクリックして評価を保存し、評価選択ページに戻ります。 次に、別の指標を選択して設定するか、設定を保存をクリックします。

    選択したガードレールは、アセンブルタブの評価とモデレーションセクションに表示されます。

テキスト生成カスタムモデルにガードレールを追加した後、モデルを テスト登録、および デプロイして本番環境で予測を作成できます。 予測を作成した後、 カスタム指標 タブで評価指標を表示し、 データ探索タブでプロンプト、回答、およびフィードバック(設定されている場合)を表示できます。

「トレース」タブ

LLMデプロイにモデレーションを追加すると、データ探索 > トレースタブでカスタム指標データを行ごとに表示することはできません。

資格情報を変更

DataRobotは、LLM Gatewayを使用して、利用可能なLLMの資格情報を提供します。 特定の指標とLLMまたはLLMのタイプでは、認証に自身の資格情報を代わりに使用できます。 続行する前に、資格情報管理ページでユーザー指定の資格情報を定義します。

トピック維持の指標

入力のトピックを維持または出力のトピックを維持の資格情報を変更するには、LLMタイプを選択し、資格情報を変更をクリックします。

Azure OpenAI APIのデプロイとOpenAI APIのベースURLを指定します。 次に、ドロップダウンから、適用する資格情報のセットを選択します。

ドロップダウンから、適用する資格情報のセットを選択します。

DataRobotが提供する資格情報に戻すには、資格情報を元に戻すをクリックします。

忠実度の指標

忠実度の資格情報を変更するには、LLMを選択し、資格情報を変更をクリックします。

必須フィールドは、次の表のとおりです。

プロバイダー フィールド
Amazon
  • AWSアカウント(資格情報)
  • AWSリージョン
Azure OpenAI
  • OpenAI APIのデプロイ
  • OpenAI APIのベースURL
  • 資格情報
Google
  • サービスアカウント(資格情報)
  • Googleのリージョン
OpenAI
  • 資格情報

DataRobotが提供する資格情報に戻すには、資格情報を元に戻すをクリックします。

評価指標デプロイのグローバルモデル

PII検出、プロンプトインジェクション検出、感情分類、毒性分類に必要なデプロイは、レジストリのグローバルモデルとして使用できます。 次のグローバルモデルを使用できます。

モデル タイプ ターゲット 説明
プロンプトインジェクション分類器 二値 injection テキストをプロンプトインジェクションまたは正当なものとして分類します。 このガードモデルには、分類するテキストを含むtextという名前の列が1つ必要です。 詳しくは、 deberta-v3-base-injectionモデルの詳細を参照してください。
毒性分類器 二値 toxicity テキストを有毒か無毒に分類します。 このガードモデルには、分類するテキストを含むtextという名前の列が1つ必要です。 詳しくは、 toxic-comment-modelの詳細を参照してください。
センチメント分類器 二値 sentiment テキストのセンチメントを肯定的か否定的に分類します。 このモデルには、分類するテキストを含むtextという名前の列が1つ必要です。 詳しくは、 distilbert-base-uncased-finetuned-sst-2-englishモデルの詳細を参照してください。
感情分類器 多クラス target テキストを感情で分類します。 これは多ラベルモデルです。つまり、複数の感情をテキストに適用できます。 このモデルには、分類するテキストを含むtextという名前の列が1つ必要です。 詳しくは、 roberta-base-go_emotions-onnxモデルの詳細を参照してください。
拒否スコア 連続値 target プロンプトがモデルに設定されている回答範囲を超えているために、LLMがクエリーへの回答を拒否したケースのリストと、入力を比較して、最大類似度スコアを出力します。
PresidioのPII検出 二値 contains_pii テキスト内の個人を特定できる情報(PII)を検出して置き換えます。 このガードモデルには、分類するテキストを含むtextという名前の列が1つ必要です。 必要に応じて、検出するPIIのタイプをコンマ区切りの文字列として列'entities'に指定できます。 この列が指定されていない場合は、サポートされているすべてのエンティティが検出されます。 エンティティのタイプは、PresidioがサポートするPIIエンティティのドキュメントに記載されています。

検出結果に加えて、モデルはanonymized_text列を返します。この列には、検出されたPIIがプレースホルダーに置き換えられた更新バージョンの入力が含まれています。

詳細については、Presidio: Data Protection and De-identification SDKのドキュメントを参照してください。
ゼロショット分類器 二値 target ユーザー指定のラベルを持つテキストに対してゼロショット分類を実行します。 このモデルでは、textという名前の列に分類されたテキストが必要であり、labelsという名前の列にコンマ区切りの文字列としてクラスラベルが必要です。 すべての行に同じラベルセットが必要であるため、最初の行にあるラベルが使用されます。 詳しくは、 deberta-v3-large-zeroshot-v1モデルの詳細を参照してください。
Pythonダミー二値分類 二値 target Positiveクラスでは、常に0.75となります。 詳しくは、 python3_dummy_binaryモデルの詳細を参照してください。

評価およびモデレーションガードレールの表示

ガードレールを含むテキスト生成モデルが登録およびデプロイされると、 登録済みモデルの概要タブと デプロイの概要タブで設定済みのガードレールを表示できます。

評価とモデレーションのログ

評価とモデレーションが設定されたデプロイ済みLLMのアクティビティログ > モデレーションタブで、デプロイの評価とモデレーションに関連するイベントの履歴を表示して、デプロイに設定された評価やモデレーションに関する問題を診断できます。