信頼性ルールの設定¶
本機能の提供について
信頼性タブを使用できるのは、DataRobot MLOpsユーザーだけです。 この機能を有効にする方法については、DataRobotの担当者にお問い合わせください。 デプロイの信頼性を経時的に監視(サマリーページに表示)できるようにするには、データドリフトの監視も有効にする必要があります。
MLOpsでは、信頼性 > 設定タブでデプロイの信頼性ルールを作成できます。 信頼性ルールを使うと、モデルが不確かな予測を行ったり、見たことのないデータを受信したりした時点をリアルタイムで認識することができます。 データドリフトとは異なり、モデルの信頼性は時間の経過に伴う幅広い統計プロパティを処理しません。代わりに、個々の予測に対してトリガーされ、さまざまなトリガーに依存するルールを使用して目的の動作を設定できます。 信頼性ルールを使用してトリガーおよび対応するアクションを予測に追加すると、運用環境でモデルのリスクを軽減するのに役立ちます。 信頼性ルールは、監視中にデータの整合性の問題を特定して処理し、不安定な予測の根本原因をより適切に特定するのに役立ちます。
信頼性タブには以下のサブタブがあります。
-
サマリー:信頼性ルールを設定し、信頼性監視を有効にした状態で予測を行った後、時間の経過に伴う信頼性データのサマリーを表示します。
-
設定:不確実性を監視するための信頼性ルールを作成し、それを管理するためのアクションを指定します。
-
予測警告タブ(連続値プロジェクトのみ):デプロイが外れ値で予測を生成した時点を検出する予測警告を設定します。
複数系列に使用できる特定の信頼性ルールは次のとおりです。 AutoMLプロジェクトと同じ信頼性ルールの一般的なワークフローに従っていますが、特定の設定やオプションがあります。
信頼性ルールの作成¶
デプロイ用の信頼性ルールを作成するには:
-
デプロイインベントリで、デプロイを選択し、信頼性 > 設定タブに移動します。
-
信頼性ルールの設定ページで、モデルに対して信頼性を有効にしていない場合は、信頼性を有効にするトグルをクリックし、次のいずれかを実行します。
-
新しいカスタムルールを作成するには、+ ルールを追加をクリックします。
-
DataRobotが提供するルールを使用するには、+ 推奨ルールを使用をクリックします。
-
-
鉛筆アイコン()をクリックして、ルールの名前を入力します。 次に、トリガーを選択し、選択したトリガーに基づいて実行するアクションを指定します。 トリガーはルール違反を検知し、アクションは違反する予測を処理します。
ルールの設定が完了すると、ルールの下にルールの説明が表示され、設定されたトリガーとそれぞれのアクションで何が起こるかに関する説明が表示されます。
-
追加をクリックしてルールを保存し、+新しいルールを追加をクリックして新しいルールを追加します。
-
ルールの追加と編集が終了したら、サブミットをクリックします。
注意
サブミットをクリックすることが、新しいルールとルール変更を恒久的に保存する唯一の方法です。 サブミットをクリックせずに信頼性タブから移動した場合、ルールとルールの編集は保存されません。
備考
ルールが既存のルールと重複している場合、保存できません。 この場合、サブミットをクリックすると、注意が表示されます。
信頼性ルールを保存してサブミットした後、DataRobotは新しいルールと以前に作成されたルールを使用してデプロイを監視します。 ルールが作成された後、予測応答本文は信頼性オブジェクトを返します。 詳細については、予測APIドキュメントを参照してください。
ルールのトリガーを選択する¶
作成するルールのトリガーを選択します。 使用可能なトリガーは3つあります。
各トリガーには、特定の設定が必要です。 以下の表と次のセクションでは、これらの設定を説明します。
トリガー | 説明 |
---|---|
不確かな予測 | 予測の値がしきい値に違反しているかどうかを検出します。 予測値の下限と上限のしきい値を設定する必要があります。 |
外れ値入力 | 数値特徴量の入力値がしきい値の範囲外かどうかを検出します。 |
低観測値領域 | 指定された値のリストにカテゴリー特徴量の入力値が含まれていないかどうかを検出します。 |
不確かな予測¶
不確実な予測トリガーを構成するには、予測値の下限と上限のしきい値を設定します。 これらの値を手動で入力するか、計算するをクリックして、モデルのホールドアウトパーティションから派生されたしきい値を使用します(DataRobotモデルでのみ使用可能)。 連続値モデルの場合、トリガーは設定されたしきい値の範囲外の値を検出します。 二値分類モデルの場合、トリガーは、しきい値の内側にある予測の確率値を検出します。 デプロイのモデルのタイプは、設定 > データタブで表示できます。
外れ値入力¶
範囲外の入力トリガーを設定するには、数値特徴量を選択し、その入力値の下限しきい値と上限しきい値を設定します。 値を手動で入力するか、計算するをクリックして、トレーニングデータから派生されたしきい値を使用します(DataRobotモデルでのみ使用可能)。
低観測値領域¶
低観測値領域トリガーを設定するには、カテゴリー特徴量を選択し、1つ以上の値を指定します。 指定された値と一致しない予測リクエストに表示される入力値は、アクションをトリガーします。
ルールのアクションを選択する¶
作成するルールのアクションを選択します。 トリガーがルール違反を示した場合に、DataRobotがアクションを適用します。 使用できるアクションは3つあります。
アクション | 説明 |
---|---|
予測のオーバーライド | 設定済の値でトリガーに違反する行の予測値を変更します。 |
エラーを発生 | トリガーに違反する行は予測とともに480 HTTPエラーを返します。これは、サービスの正常性タブのデータの誤差率にも影響します。 |
操作なし | 検出された予測値は変更されません。 |
予測のオーバーライド¶
オーバーライドアクションを設定するには、トリガーに違反する予測の戻り値を上書きする値を設定します。 二値分類モデルと多クラスモデルの場合、示された値はモデルのクラスラベルのいずれかに設定できます(「True」または「False」など)。 連続値モデルの場合、手動で値を入力するか、DataRobotで提供される最大値、最小値、または平均値を使用します(DataRobotモデルにのみ提供されます)。
エラーを発生¶
エラーの発生アクションを設定するには、提供されているデフォルトのエラーメッセージを使用するか、独自のカスタムエラーメッセージを指定します。 このエラーメッセージは、予測とともに480 HTTPエラーに表示されます。
信頼性ルールの編集¶
オーナー権限がある場合は、信頼性 > ルールタブから既存のルールを編集または削除できます。
備考
信頼性ルールを編集すると、予測値が新しい値で上書きされることや設定されたルールに基づいてエラーが返されることがあるので、デプロイの予測に大きな影響が生じる可能性があります。
ルールの編集¶
-
ルールの鉛筆アイコンを選択します。
-
ルールを編集したら、サブミットをクリックします。 信頼性タブから離れる前にサブミットをクリックしなかった場合、編集は失われます。
ルールの削除¶
-
ルールのゴミ箱アイコンを選択します。
-
サブミットをクリックして削除操作を完了します。 サブミットをクリックせずに信頼性タブを離れた場合、ルールは削除されません。
ルールの並べ替え¶
リストされているルールを並べ替えるには、目的の順序にドラッグアンドドロップしてサブミットをクリックします。
ルールの適用順序¶
ルールが適用される順序は、リストに表示されるルールの順序によって決まります。 すべての信頼性ルールトリガーが適用されますが、複数のルールが予測応答のトリガーに一致する場合、リスト内の最初のルールが適用され、予測値が変更されます。 しかし、トリガーされるいずれかのルールに「エラーを発生」アクションがある場合、そのルールが優先されます。
たとえば、次のルールがあるデプロイを考えてみます。
トリガー | アクション | しきい値 |
---|---|---|
ルール1:不確かな予測 | 予測値を55に上書きします。 | 下限:1 上限:50 |
ルール2:不確かな予測 | 予測値を66に上書きします。 | 下限:45 上限:50 |
予測が値100を返してきた場合、両方のルールがしきい値の外にある不確かな予測を検出するため、両方のルールがトリガーされます。 最初のルールであるルール1が優先されるので、予測値は55に上書きされます。値を66に上書きするアクション(ルール2に基づく)は無視されます。
別の例として、次のルールがあるデプロイを考えてみます。
トリガー | アクション | しきい値 |
---|---|---|
ルール1:不確かな予測 | 予測値を55に上書きします。 | 下限:1 上限:55 |
ルール2:不確かな予測 | エラーを発生させます。 | 下限:45 上限:60 |
予測が値50を返す場合、両方のルールがトリガーされます。 ただし、ルール2はエラーを返すように設定されているため、ルール1よりも優先されます。 エラーを返すアクションの優先度はルールの番号順よりも高いので、値は上書きされません。
予測警告¶
信頼性 > 予測警告タブの連続値モデルデプロイに対して予測警告を有効にします。 予測警告を使用すると、予期された結果に予測が一致しないときを識別することによって、運用環境でのリスクを緩和し、モデルをより頑強にできます。 この機能では、いつ外れ値を含む予測がデプロイで生成されるかが検出され、その結果が予測と共にまとめてレポートされます。
備考
予測警告は連続値モデルを使用するデプロイにのみ使用できます。 この特徴量は分類または時系列モデルに対応していません。
予測警告は、信頼性監視の一部である不確かな予測トリガーと同じ機能を提供します。 しかし、予測警告の結果は時間経過に伴う予測チャート(データドリフトタブ)に統合されているので、両方の機能を有効にすることを検討してください。
予測警告を有効にする¶
-
予測警告を有効にするには、信頼性 > 予測警告に移動します。
備考
予測警告タブは、連続値モデルデプロイにのみ表示されます。
-
下限と上限を入力するか、または設定をクリックしてDataRobotに予測警告範囲を計算させます。
DataRobotは、モデルのホールドアウトパーティションから予測警告範囲のしきい値を派生させます。 これらのしきい値は外れ値検知の境界です。これらの制限の外側にある予測がレポートされます。 ホールドアウトに基づくしきい値を受け入れるか、範囲を手動で定義することができます。
-
必要な変更をした後、[保存範囲]をクリックします。
信頼性ルールが有効になり、予測がデプロイに対して生成された後、予測警告レポートを生成できます。 予測警告は、時間経過に伴う予測チャート(データドリフトタブ)にレポートされます。
備考
予測警告は遡及機能ではありません。 たとえば、外れ値の上限しきい値を40に設定した場合、しきい値を設定する前に作成された値50を含む予測は、外れ値として検出されることはありません。 予測警告は、機能が有効化されて以降にリクエストされた予測リクエストのみを返します。
推奨ルール¶
DataRobotでデプロイの一連のルールを推奨する場合は、新しい信頼性ルールを追加するときに推奨ルールを使用をクリックします。
このオプションでは、自動的に設定された2つの信頼性ルールが生成されます。
どちらの推奨ルールでも、上限と下限のしきい値が自動的に計算されます。
予測警告レポートの生成¶
設定を保存したら、デプロイの予測 > 予測APIスクリプトコードタブに移動します。 予測警告のレポートを生成するには、[予測警告] ボックスにチェックを入れます。
チェックしたら、スニペットをコピーし、予測します。 予測警告を有効にすると、検出された外れ値を予測結果と共にレポートするスニペットが変更されます。
各予測結果には、isOutlierPrediction
キーおよび結果が含まれ、外れ値が検知された場合はTrueとマーク付けされ、検知されなかった場合はFalseとマーク付けされます。
外れ値予測が検出された場合、外れ値を次の値で置き換えることを検討してください。
- トレーニングデータセットの最小または最大ターゲット値。
- トレーニングデータセットの平均または中央値のターゲット値。
複数系列の信頼性ルール¶
DataRobotは、履歴を部分的に使用するか全く使用せずに特徴量派生や予測を行える複数系列のブループリントをサポートしています。つまり、以前にトレーニングされておらず、精度の高い予測を行うのに十分なポイントがトレーニングデータセットに含まれていない系列にも対応しています。 これは、需要の予測などに役立ちます。 新製品が発表されたとき、最初の売上予測が必要になる場合があります。 「コールドスタートモデリング」(十分な履歴データがない系列のモデリング)と組み合わせることで、新しい系列について予測できるだけでなく、履歴のある系列で精度の高い予測を維持することもできます。
このサポートがあると、次のような信頼性ルールを設定できます。
- 新しい系列をトリガーする(トレーニングデータには存在しない)。
- 指定されたアクションを実行する。
- (オプション)カスタムエラーメッセージを返す。
備考
デプロイ内のモデルを別のプロジェクトのモデルに置換すると、信頼性ルールは無効になります。 置換が同じプロジェクトのモデルである場合、ルールは保存されます。
複数系列信頼性ルールの作成¶
-
デプロイインベントリからデプロイを選択し、信頼性をクリックします。 信頼性を有効にするをオンにします。
-
+ 新しいルールを追加をクリックして、ルールの設定を開始します。 時系列デプロイでは、1つの信頼性ルールのみを適用できます。 既存のルールに変更を加える場合、クリックして編集します。
-
トリガーを選択します。 新しい系列データを含めるには、トリガーとして新しい系列を選択します。 このルールは、トレーニングデータに存在していなくて、かつ正確な予測に必要な十分な履歴が予測データにない系列が存在するかどうかを検出します。
-
アクションを選択します。
次の表で説明するように、後続のオプションは選択したアクションによって異なります。
アクション 新しい系列が検出された場合... さらなるアクション 操作なし DataRobotはイベントを記録しますが、予測は変更されません。 N/A 新しい系列に対応したモデルを使用 予測は、新しい系列に対応する選択されたモデルの予測でオーバーライドされます。 未知の系列モデリングに対応するモデルを選択します。 DataRobotは、対応するモデルをドロップダウンにプリロードします。 グローバルに最も頻度なクラスを使用する(二値分類のみ) 予測値は、すべての系列で最も頻度の高いクラスに置き換えられます。 N/A すべての系列でターゲット平均を使用(連続値のみ) 予測値はすべての系列でグローバルターゲット平均値によってオーバーライドされます。 N/A 予測のオーバーライド 予測値が指定した優先値に変更されます。 数値を入力して、新しい系列の予測値を置き換えます。 エラーを戻す 480エラーでデフォルトまたはカスタムエラーが返されます。 デフォルトを使用するか、ボックスをクリックしてカスタムエラーメッセージを入力します。
終了したら、追加ボタンをクリックして新しいルールを作成するか、変更を保存します。
置換先モデルの選択¶
新しい系列対応モデルドロップダウンを展開すると、リーダーボードではなく、モデルレジストリから入手できるモデルのリストが表示されます。 レジストリから入手できるモデルを使用すると、プロジェクトからモデルが切り離され、パッケージがサポートされます。 この方法では、同じターゲットを使用し、同じ系列がある限り、互換性のある任意のプロジェクトのバックアップモデルを使用できます。
備考
パッケージがない場合は、「新しい系列に対応する」モデルをデプロイして、モデルレジストリに追加します。 リーダーボードでは、NEW SERIES OPTIMIZEDのバッジで対象となるモデルを確認することができます。 また、最適化されていないモデルを使用しようとすると、予測を作成タブに通知バナーが表示されます。
信頼性タブに関する注意事項¶
信頼性タブを使用する際は、以下の点に注意してください。
- デプロイに対して10以上の信頼性ルールを定義することはできません。
- 信頼性ルールを定義できるのはデプロイのオーナーだけです。 デプロイのユーザーはルールを表示できますが、ルールを編集することや新しいルールを定義することはできません。
- 「不確実な予測」トリガーは、連続値モデルと二値分類モデルでのみサポートされています。
- 多クラスモデルでサポートされるのは「予測のオーバーライド」だけです。