ドリフトv2の評価を設定することで、経時的なデータの変化を測定し、モデルの一貫した結果を確認することができます。 ドリフトv2評価は、モデル出力の変化、予測精度、入力データの分布を確認するために使用します。
以下のセクションでは、ドリフト v2 評価を構成する方法について説明します。
機械学習モデルのdriftv2評価の設定
モデル評価の準備時にペイロードデータを記録しておけば、機械学習モデルに対してドリフトv2評価を設定し、データの変化がモデルの結果にどのように影響するかを理解するのに役立ちます。
ドリフト・アーカイブの計算
モデルの特徴のデータ分布を決定するために、トレーニングデータの分析に使用する方法を選択する必要があります。 トレーニングデータを接続し、そのサイズが500MB以下であれば、driftv2アーカイブを計算することができます。
トレーニングデータを接続しない場合、またはデータのサイズが500MBを超える場合は、ノートブックでdriftv2アーカイブを計算することを選択する必要があります。 また、画像や テキストモデルを評価したい場合は、ノートブックでdriftv2アーカイブを計算する必要があります。
スコアリングやdriftv2アーカイブの計算に使用するトレーニングデータの最大サンプルサイズを設定することで、トレーニングデータのサイズの制限を指定することができます。 non-watsonx.aiRuntime 以外のデプロイメントでは、driftv2アーカイブの計算には、モデルのスコアリング エンドポイントに対するトレーニング データのスコアリングに関連するコストがかかります。
ドリフトしきい値の設定
評価結果の問題を特定するために、各指標にしきい値を設定する必要があります。 設定した値により、メトリック・スコアがしきい値に違反した場合に表示されるアラートが 「洞察」ダッシュボード に作成されます。 0 から 1 の範囲の値を設定する必要があります。 違反を回避するには、メトリック・スコアをしきい値より小さくする必要があります。
重要なフィーチャーを選択する
表形式モデルの場合のみ、フィーチャーのドリフトがモデルに与える影響を判断するために、フィーチャーの重要度が計算されます。 フィーチャーの重要度を計算するには、モデルから、モデルの結果に最も大きな影響を与える重要なフィーチャーと最も重要なフィーチャーを選択します。
SHAPの説明を設定すると、グローバルな説明を使って重要な機能が自動的に検出される。
JSON ファイルをアップロードすることで、重要な機能のリストをアップロードすることもできます。 JSONファイルをアップロードするために使用できるサンプルスニペットが提供されています。 詳しくは、 機能の重要度のスニペットを参照してください。
サンプル・サイズの設定
サンプルサイズは、評価中に評価されるトランザクション数をどのように処理するかを理解するために使用される。 評価したいトランザクションの最低数を示す最小サンプル・サイズを設定する必要があります。 また、評価したいトランザクションの最大数を示す最大サンプルサイズを設定することもできます。
生成AIモデルのためのドリフトv2評価の設定
プロンプト・テンプレートを評価すると、以下のタスク・タイプのドリフト v2 評価結果の要約を確認できます。
- テキストの要約
- テキストの分類
- コンテンツの生成
- エンティティー抽出
- 質問への回答
- 取得拡張世代 (RAG)
ドリフトしきい値の設定
独自の設定でドリフト v2 評価を構成するために、各メトリックの最小サンプル・サイズと最大サンプル・サイズを設定できます。 最小サンプル・サイズまたは最大サンプル・サイズは、評価するモデル・トランザクションの最小数または最大数を示します。
また、ベースライン・データを構成したり、各メトリックのしきい値を設定したりすることもできます。 しきい値は、評価の要約ページでアラートを作成します。このアラートは、評価指標スコアがしきい値に違反した場合に表示されます。 0 から 1 の範囲の値を設定する必要があります。 違反を回避するには、メトリック・スコアをしきい値より小さくする必要があります。
ドリフト・アーカイブの計算
Watsonx.governance は、ペイロード・レコードを使用して、ドリフト v2 評価のベースラインを確立します。 ベースライン・データとして計算するレコード数を構成する必要があります。 ノートブック を使用して、評価を構成するためのドリフト v2 ベースライン・データ・アーカイブを生成できます。
埋め込みを計算する
エンベッディング・ドリフト・メトリクスを計算するには、テスト・データとともにエンベッディングを提供する必要があります。 notebooksを使えば、エンベッディングを生成し、永続化することができます。
サポートされるドリフト v2 メトリック
機械学習モデルまたはジェネレーティブAIモデルのドリフトv2評価を有効にすると、評価するモデルのタイプに応じたメトリクスで評価結果のサマリーを表示できます。
機械学習モデルを評価する場合、Insights ダッシュボードで driftv2の評価結果を見ることができます。 詳細については、ドリフトv2の結果を確認するを参照。
ドリフト v2 評価では、以下の指標がサポートされます。
埋め込みドリフト
エンベッディング・ドリフトは、ベースライン・データと比較した場合に、異常値であるレコードの割合を検出する。
- How it works: 評価結果を生成するためにembeddings drift metricを有効にする場合、ベースラインデータと共にembeddingsを提供する必要があります。 Watsonx.governanceは、ベースラインデータの埋め込みを処理するオートエンコーダを構築し、モデル出力に対して事前に定義されたコサインおよびユークリッド距離メトリクスを計算します。 Watsonx.governanceは、外れ値検出のための閾値を設定するために距離メトリックの分布を識別し、距離メトリック値が閾値より高い場合にドリフトを検出します。 RAGタスクでは、ドリフトを決定するために、モデルレコードのすべてのコンテキスト列の埋め込みが1つのベクトルに結合されます。
- 計算してみてください:Watsonx.governanceは、エンベッディング・ドリフトを計算するために以下の公式を使用する:
- 対応機種LLM
- プロンプト・テンプレートの評価に適用: はい
- タスク・タイプ:
- テキストの要約
- テキストの分類
- コンテンツの生成
- エンティティー抽出
- 質問への回答
- 取得拡張世代 (RAG)
- タスク・タイプ:
出力ドリフト
出力ドリフトは、モデルの信頼度分布の変化を測定する。
仕組み
モデルをトレーニングした時点から、モデルの出力がどれだけ変化したかを測定します。 回帰モデルの場合、出力ドリフトは、訓練データとペイロードデータにおける予測値の分布の変化を測定することによって計算される。 分類モデルの場合、出力ドリフトは、訓練データとペイロードデータにおけるクラス確率の分布の変化を測定することにより、各クラス確率について計算される。 多クラス分類モデルの場合、出力ドリフトは加重平均を測定することにより、各クラス確率について集約される。計算
出力ドリフトの計算には以下の公式を使用する:対応モデル:従来の機械学習とLLM
プロンプト・テンプレートの評価に適用: はい
- タスク・タイプ:
- テキストの要約
- テキストの分類
- コンテンツの生成
- エンティティー抽出
- 質問への回答
- タスク・タイプ:
モデル品質ドリフト
モデル品質ドリフトは、推定された実行時精度とトレーニング精度を比較し、精度の低下を測定する。
- 動作方法:
ドリフト検出モデルは、ドリフトv2評価の設定時にペイロードデータを処理し、グランドトゥルースなしでモデルが正確な予測を生成するかどうかを予測するために構築されます。 ドリフト検出モデルは、モデルからの入力特徴量およびクラス確率を使用して、独自の入力特徴量を作成します。
- 計算を行います。
モデルの品質ドリフトを計算するには、以下の式を使用する:
モデルの精度は、学習データにおいて正しく予測されたトランザクションの割合を測定することにより、base_accuracy
として計算されます。 評価中に、トランザクションがドリフト検出モデルに対してスコアリングされ、モデルによって正しく予測される可能性があるトランザクションの量が測定されます。 これらのトランザクションは、predicted_accuracy
を計算するために処理されたトランザクションの総数と比較される。 predicted_accuracy
base_accuracy
より小さい場合、モデルの品質ドリフトスコアが生成される。
- 対応モデル:従来の機械学習
- プロンプト・テンプレート評価に適用: いいえ
フィーチャー・ドリフト
特徴ドリフトは、重要な特徴の値分布の変化を測定する。
- 動作方法:
ドリフトは、連続値および離散値の確率分布を測定することにより、カテゴリーおよび数値の特徴について計算される。 数値特徴の離散値を識別するために、各特徴の明確な値の数と各特徴の値の総数を比較するために2進対数を使用する。 離散的な数値特徴を識別するために、以下の二項対数式を使用する:
distinct_values_count
が total_count
の 2 進対数より小さい場合、特徴量は離散として識別されます。
- 計算を行います。
フィーチャードリフトを計算するには、以下の式を使用する:
対応モデル:従来の機械学習
プロンプト・テンプレート評価に適用: いいえ
予測ドリフト
予測ドリフトは、LLM 予測クラスの分布の変化を測定します。
- 計算を行います。
Watsonx.governance は、 Jensen Shannon distance 数式を使用して予測ドリフトを計算します。
プロンプト・テンプレートの評価に適用: はい
- タスク・タイプ: テキスト分類
対応機種LLM
入力メタデータのドリフト
入力メタデータ・ドリフトは、LLM 入力テキスト・メタデータの分布の変化を測定します。
動作:
Watsonx.governance は、LLM 入力テキストを使用して、以下のメタデータを計算します。
文字カウント: 入力テキスト内の文字の総数
ワード・カウント: 入力テキスト内の単語の総数
トークン・カウント: 入力テキスト内のトークンの総数
センテンス・カウント: 入力テキスト内のセンテンスの総数
ワードの平均長: 入力テキスト内のワードの平均長
ワードの合計長: 入力テキスト内のワードの合計長
センテンスの平均長: 入力テキスト内のセンテンスの平均長Watsonx.governance は、メタデータ列の分布の変化を測定することで、入力メタデータのドリフトを計算します。 入力トークン・カウント列 (ペイロードに存在する場合) は、入力メタデータ・ドリフトの計算にも使用されます。 ペイロード・テーブルにレコードを追加する際に、任意のメタ・フィールドを指定することもできます。 これらのメタ・フィールドは、入力メタデータ・ドリフトの計算にも使用されます。 離散数値入力メタデータ列を識別するために、 watsonx.governance は以下の 2 進対数式を使用します。
distinct_values_count
がtotal_count
の 2 進対数より小さい場合、特徴量は離散として識別されます。離散型入力メタデータ列の場合、 watsonx.governance は Jensen Shannon distance 数式を使用して入力メタデータのドリフトを計算します。
連続型入力メタデータ列の場合、 watsonx.governance は 総変動距離 および オーバーラップ係数 の数式を使用して、入力メタデータのドリフトを計算します。
プロンプト・テンプレートの評価に適用: はい
- タスク・タイプ:
- テキストの要約
- テキストの分類
- コンテンツの生成
- エンティティー抽出
- 質問への回答
- タスク・タイプ:
対応機種LLM
出力メタデータ・ドリフト
出力メタデータ・ドリフトは、LLM 出力テキスト・メタデータの分布の変化を測定します。
仕組み:
Watsonx.governance は、LLM 出力テキストを使用して、以下のメタデータを計算します。
文字数: 出力テキスト内の文字の総数
ワード数: 出力テキスト内の単語の総数
トークン数: 出力テキスト内のトークンの総数
センテンス数: 出力テキスト内のセンテンスの総数
ワードの平均長: 出力テキスト内のワードの平均長
センテンスの平均長: 出力テキスト内のセンテンスの平均長
ワードの合計長: 出力テキスト内のワードの合計長Watsonx.governance は、メタデータ列の分布の変化を測定することで、出力メタデータのドリフトを計算します。 出力トークン・カウント列は、ペイロード内に存在する場合、出力メタデータ・ドリフトの計算にも使用されます。 ペイロード・テーブルにレコードを追加する際に、任意のメタ・フィールドを指定することもできます。 これらのメタ・フィールドは、出力メタデータ・ドリフトの計算にも使用されます。 離散数値出力メタデータ列を識別するために、 watsonx.governance は以下の 2 進対数式を使用します。
distinct_values_count
がtotal_count
の 2 進対数より小さい場合、特徴量は離散として識別されます。離散出力メタデータ列の場合、 watsonx.governance は Jensen Shannon distance 数式を使用して入力メタデータ・ドリフトを計算します。
連続型出力メタデータ列の場合、 watsonx.governance は 全変動距離 および オーバーラップ係数 の数式を使用して、出力メタデータのドリフトを計算します。
プロンプト・テンプレートの評価に適用: はい
- タスク・タイプ:
- テキストの要約
- テキストの分類
- コンテンツの生成
- 質問への回答
- タスク・タイプ:
対応機種LLM
ドリフト v2 評価指標の計算には、以下の数式が使用されます。
全変動距離
全変動距離は、次の式に示すように、2 つの確率分布 (ベースライン (B) と生産 (P)) が同じトランザクションに割り当てる確率の最大差を測定します。
2 つの分布が等しい場合、それらの間の全変動距離は 0 になります。
合計変動距離を計算するには、以下の式を使用します。
↪Ll_165 は、 の領域にまたがる一連の等距離サンプルであり、ベースラインと生産データの組み合わせの最小値から、ベースラインと生産データの組み合わせの最大値までの範囲である。
は、連続する2つの𝑥サンプル間の差である。
はǔ標本における生産データの密度関数の値である。
は、ǔサンプルにおけるベースラインデータの密度関数の値である。
分母は、生産データとベースラインデータの密度関数プロット下の総面積を表す。 これらの合計は、領域空間上の統合の近似値であり、これらの項は両方とも 1 で、合計は 2 でなければなりません。
オーバーラップ係数
オーバーラップ係数は、2 つの確率分布間の交点の合計面積を測定することによって計算されます。 分布間の非類似度を測定するために、1 から交点またはオーバーラップ領域を減算してドリフトの量を計算します。 オーバーラップ係数の計算には、以下の式が使用されます。
↪Ll_165 は、 の領域にまたがる一連の等距離サンプルであり、ベースラインと生産データの組み合わせの最小値から、ベースラインと生産データの組み合わせの最大値までの範囲である。
は、連続する2つの𝑥サンプル間の差である。
はǔ標本における生産データの密度関数の値である。
は、ǔサンプルにおけるベースラインデータの密度関数の値である。
ジェンセン・シャノン距離
Jensen Shannon Distance は、1 つの確率分布が 2 番目の確率分布とどの程度異なるかを測定する Kullback-Leibler (KL) Divergence の正規化された形式です。 Jensen Shannon Distance は対称スコアであり、常に有限値を持ちます。
以下の式は、ベースライン (B) と生産 (P) の 2 つの確率分布の Jensen Shannon 距離を計算するために使用されます。
はKL発散である。
コサイン距離
コサイン距離は、埋め込みベクトル間の差を測定する。 余弦距離の測定には、次の式が使われる:
余弦距離は、同じベクトルを示す0から、ベクトル間に相関がないことを示す1、正反対のベクトルを示す2までの範囲である。
ユークリッド距離
ユークリッド距離は、ユークリッド空間における埋め込みベクトル間の最短距離である。 ユークリッド距離の測定には次の式が使われる:
ユークリッド距離の範囲は、完全に同一のベクトルを示す0から無限大の間である。 しかし、単位長さに正規化されたベクトルでは、ユークリッド距離の最大値はとなる。
親トピック: モデル評価の構成