カスタムモデルのテスト¶
カスタム推論モデルはモデルワークショップでテストできます。 また、カスタムモデルをアップロードする前に、DRUMを使用してローカルでテストすることもできます。 テストでは、環境を使用して予測テストのデータでモデルを実行することにより、カスタムモデルをデプロイする前に機能することを確認します。
テスト時の予測とデプロイでの予測
テスト中の予測方法とデプロイされたカスタムモデルの予測方法とにはいくつかの違いがあります。
-
テストでは、予測サーバーをバイパスしますが、デプロイの予測はデプロイ時の予測サーバーを使用することで行われます。
-
カスタムモデルのテストとカスタムモデルデプロイの両方において、予測を行う前に予測データからモデルのターゲットとパーティション列が予測データから削除されます。
-
デプロイは、関連付けIDを含むデータセットで予測を行うために使用できます。 この場合、関連付けIDを含むデータセットでカスタムモデルのテストを実行して、カスタムモデルがそのデータセットで機能することを確認します。
-
モデルの構築が完了した後にカスタムモデルをテストするには、次のいずれかを実行します。
-
テストするカスタムモデルを開き、任意のタブからモデルをテストをクリックします。
-
テストするカスタムモデルを開き、テストタブをクリックし、タブの上部(または最初のテストではタブの中央)で新しいテストを実行をクリックします。
-
-
テストを実行ページの全般的な設定セクションで、以下を設定します。
| 設定 | 説明 | | |----------------------|-------------| | モデルバージョン | テストを実行するカスタムモデルバージョン。 | | 予測テストのデータ | テスト予測に使用するデータセット。 | | メモリー | システムメモリーリソースの設定。 モデルによってメモリー値よりも多くの値が割り当てられると、システムによって削除されます。 この設定はテスト にのみ 適用されます。カスタムモデルバージョン自体には適用され ません 。 | | レプリカ | 並行して実行されるレプリカの最大数。 この設定はテスト にのみ 適用されます。カスタムモデルバージョン自体には適用されません。 |
-
テスト計画を定義セクションで、テストの実行を有効にします。 次の表は、デプロイ準備が完了していることを確認するためにカスタムモデルに実行されるテストを示しています。
テスト名 説明 スタートアップ カスタムモデルイメージを構築して起動できるようにします。 イメージをビルドまたは起動できない場合、テストは失敗し、以降のすべてのテストは中止されます。 予測エラー 提供されたテストデータセットに対して、モデルが予測できるかどうかをチェックします。 テストデータセットにモデルとの互換性がない場合、またはモデルが予測を正常に実行できない場合、テストは失敗します。 Null補完 モデルがnull値を補完できることを確認します。 それ以外の場合、テストは失敗します。 特徴量のインパクトをサポートするには、モデルがテストに合格する必要があります。 副作用 テストデータセット全体で作成されたバッチ予測が同じデータセットの1つの行ごとに作成された予測に一致することを確認します。 予測結果が一致しない場合、テストは失敗します。 予測検定 カスタムモデルの予測をリファレンスモデルの予測と比較して検証します。 リファレンス予測は、選択したデータセットの指定された列から取得されます。 パフォーマンス 予測リクエストの送信、スコアリング、予測結果の返信にかかる時間を計測します。 このテストでは、7つのサンプル(1KBから50MBまで)を作成し、各サンプルに対して10回の予測リクエストを実行するとともに、予測リクエストのレイテンシーのタイミング(最小値、平均値、エラー率など)を測定します。 10秒以上経過するとチェックが中断され、失敗と判定されます。 安定性 モデルの一貫性を検証します。 ペイロードサイズ(行番号で測定)、チェックの一環として実行する予測リクエストの数、そのうち200の応答コードを必要とする率を指定します。 これらのパラメーターを使ってインサイトを抽出することで、モデルのどこに問題があるかを把握できます(たとえば、モデルに不具合が発生したときのレスポンスコードが、ほとんど200以外である場合)。 期間 テストスイートが完了するまでの経過時間を計測します。 備考
非構造化のカスタム推論モデルでは、起動テストのみが実行され、他のすべてのテストは省略されます。
さらに、以下のテストのパラメーター(該当する場合)を設定できます。
テスト名 パラメーターの説明 予測検定 - 出力データセット:予測検証用の予測結果列を含むデータセット。
- 予測一致列:データセット内で予測結果を含む列の名前。 二値分類モデルの場合、列には Positive クラスの確率が含まれている必要があります。
- 一致したしきい値:予測比較のプレシジョン。
- 一致率の合格:モデルがテストに合格するために必要な一致予測パーセンテージ。5刻みで選択されます。
パフォーマンス - 最大レスポンス時間:予測応答の受信に割り当てられた時間。
- 期間制限を確認:モデルがパフォーマンステストを完了するために割り当てられた合計時間。
- 並列ユーザーの数:予測リクエストを並行して行うユーザー数。
安定性 - 実行する予測リクエストの合計数:実行する予測リクエストの数。
- 合格率:モデルがテストに合格するために必要な合格した予測パーセンテージ。5刻みで選択されます。
- 並列ユーザーの数:予測リクエストを並行して行うユーザー数。
- 最小ペイロードサイズ:テストで許可される予測リクエストの最小数。
- 最大ペイロードサイズ:テストで許可される予測リクエストの最大数。
- 期間制限を確認:モデルが安定性テストを完了するために割り当てられた合計時間。
テストが有効で、チェックが失敗した場合に登録をブロックオプションが選択されている場合、失敗したチェックは _エラー_を返します。これにより、カスタムモデルの登録とデプロイがブロックされ、以降のすべてのテストがキャンセルされます。 このオプションが選択されなければ、チェックに失敗した場合は _注意_を返しますが、登録とデプロイは許可され、テストスイートは継続されます。
-
実行をクリックしてテストを開始します。 テストが開始されると、テストの結果タブから進捗を監視しプラン内の個々のテストの結果を表示できます。 適用された一般設定は、概要タブとリソースタブでも表示できます。
-
テストが完了すると各テストの結果がDataRobotの結果タブに表示されます。 テストが正常に完了すると、モデルを登録する準備が完了します。 特定のテストについては、 詳細を見るをクリックして詳細を確認できます。 発生したエラーを表示するには、結果タブで、完全なログを表示をクリックします。(ログをダウンロードを選択してダウンロードすることもできます)。
テストで設定されたリソース設定に問題がなければ、リソースタブを開き、新しいバージョンに適用をクリックして、現在のテスト実行のリソース割り当て設定を使用した新しいカスタムモデルバージョンを作成できます。
テストのインサイト¶
個々のテストから、具体的なインサイトを入手できます。 完了したテストで詳細を見るをクリックすると、以下のテストのインサイトが表示されます。
テストタイプ | 詳細 |
---|---|
予測検証 | モデル予測とリファレンス予測の差分のヒストグラムを、一致する予測を表す差分を除外するオプションとともに表示します。 ヒストグラムに加えて、予測検証のインサイトにはモデル予測と参照予測が一致しない行を含むテーブルが含まれます。 このテーブルの値は、行番号順に並べたり、モデル予測とリファレンス予測の差順に並べたりすることができます。 |
安定性 | メモリー使用量チャートを表示します。 このデータでは、モデルが DRUMベースの実行環境を使用している必要があります。 赤い線は、モデルに割り当てられた最大のメモリーを示しています。 青い線は、モデルがどれだけメモリーを消費したかを表しています。 メモリー使用量は複数のレプリカから収集され、チャートに表示されるデータは毎回異なるレプリカからのものです。 チャートに表示されるデータは、マルチレプリカの設定とは異なる可能性があります。 マルチレプリカの設定の場合、メモリー使用量のチャートはランダムなレプリカから定期的にメモリー使用量の統計を取得して作成されます。 つまり、負荷がすべてのレプリカに均等に分散されている場合、チャートには各レプリカのモデルのメモリー使用量が表示されます。 なお、モデルの使用量は、基になる実行プログラムにモデルの終了ロジックが依存しているため、割り当てられた最大メモリーを若干上回ることがあります。 また、チャートでメモリー使用量が制限値を超えていないことを示していても、モデルが終了してしまうことがあります。これは、モデルが更新されたメモリー使用量データを取得する前に終了してしまうためです。 |
パフォーマンス | さまざまなペイロードサンプルサイズで観測されたレスポンス時間を示す予測レスポンスタイミングチャートを表示します。 各サンプルでは、最小、平均、および最大の予測リクエスト時間に加え、1秒あたりのリクエスト数(RPS)とエラー率を確認することができます。 テスト中にモデルに対して行われた予測リクエストは、予測サーバーをバイパスします。そのため、本番環境では、予測サーバーがレイテンシーを追加することで、レイテンシーの数値が若干高くなります。 さらに、このテストタイプは、ペイロード配信ごとのデータポイントを含むメモリー使用量チャートを出力できます。 |