Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

カスタム推論モデルの作成

カスタム推論モデルは、ユーザーが作成して、カスタムモデルワークショップを介してDataRobotにアップロードできる事前トレーニング済みのモデル(またはファイルのコレクション)です。次に、モデルアーティファクトをアップロードして、DataRobotの一元化されたデプロイハブにカスタム推論モデルを作成、テスト、およびデプロイすることができます。

カスタム推論モデルは、以下のうち1つの方法でアセンブルできます。

  • カスタムモデルを作成し、モデルのフォルダーにWebサーバーのスコアリングコードとstart_server.shファイルを含めます。このタイプのカスタムモデルは、カスタムまたはドロップイン環境と組み合わせることができます。

  • Webサーバーのスコアリングコードとstart_server.shファイルなしでカスタムモデルを作成します。このタイプのカスタムモデルは、ドロップイン環境を使用する必要があります。ドロップイン環境には、モデルによって使用されるWebサーバーのスコアリングコードとstart_server.shファイルが含まれます。これらはワークショップ内のDataRobotによって提供されます。ドロップインカスタム環境を独自に作成することもできます。

  • レガシーモデルの変換。

作業を続ける前に、カスタムモデルフォルダの準備に関するガイドラインを確認してください。カスタムモデルと環境フォルダーの間でファイルが重複している場合は、モデルのファイルが優先されます。

備考

カスタムモデルのファイルコンテンツをアセンブルすると、DataRobotにアップロードする前に開発目的でローカルでコンテンツをテストできます。ワークショップでカスタムモデルを作成した後、テストタブからテストスイートを実行できます。

新しいカスタムモデルの作成

  1. カスタムモデルを作成するには、モデルレジストリ > カスタムモデルワークショップに移動し、モデルタブを選択します。このタブには、作成したモデルが表示されます。新しいモデルを追加をクリックします。

    ダイアログボックスが表示されます。

  2. カスタムモデルに名前を付け(1)、ターゲット特徴量の名前を指定して(2)、ターゲットタイプ(二値分類、連続値、多クラス、異常検知、または非構造化)を選択します(3)。二値分類モデルの場合、指定されたフィールドにPositiveおよびNegativeクラスラベルを入力する必要があります。

    さらに、モデルの構築に使用されるコーディング言語とモデルの説明を提供するオプションのフィールドがあります。

  3. 目的のフィールドにすべて入力したら、カスタムモデルを追加をクリックして、ワークショップで使用可能なモデルのリストに新しいカスタムモデルを追加します。

  4. 新しいモデルにファイルを追加するには、そのモデルをワークショップリストで選択します。モデルヘッダーのテストタブに移動し、モデルを含む個々のファイルまたはフォルダーをアップロードします。複数のファイルを一度に参照して選択するか、ドラッグアンドドロップすることができます。統合されたリポジトリからファイルをプルすることもできます。

    備考

    なお、モデルとドロップイン環境を組み合わせていない場合は、Webサーバーのスコアリングコードとstart_server.shファイルをモデルのフォルダーにアップロードする必要があります。

  5. ワークショップからテストおよびデプロイするために、カスタムモデルで使用する環境を選択します。カスタムモデルをモデルパッケージとしてモデルレジストリにエクスポートすることもできます。

異常検知

異常検知の問題に対応したカスタム推論モデルを作成できます。モデルを構築する場合は、DRUMテンプレートをリファレンスしてください。(このリンクをクリックする前にGitHub にログインしてください。)カスタム推論異常検知モデルをデプロイする場合、次の機能はサポートされていないことに備考してください。

  • データドリフト
  • 精度と関連付けID
  • チャレンジャーモデル
  • 信頼性ルール
  • 予測間隔

依存関係の管理

カスタムモデルの場合は、モデルコードにさまざまな機械学習ライブラリを含めることができますが、DataRobotで提供されるすべてのドロップイン環境がすべてのライブラリをネイティブにサポートするわけではありません。ただし、これらの依存関係をワークショップから管理し、モデルコードをサポートするように基本のドロップイン環境を更新することができます。

モデルの依存関係を管理するには、カスタムモデルの一部としてアップロードされたrequirements.txtファイルを含める必要があります。テキストファイルは、モデルコードで使用される機械学習ライブラリを示す必要があります。

たとえば、CaretおよびXGBoostライブラリを使用するカスタムRモデルを考えてみます。このモデルがワークショップに追加され、Rドロップイン環境が選択されている場合、基本環境はCaretのみをサポートし、XGBoostはサポートしません。これに対処するには、requirements.txtを編集してCaretとXGBoostの依存関係を含めます。編集したファイルを再アップロードした後、XGBoostを使用して基本環境をインストールし、環境内でモデルを使用できるようにすることができます。

モデルタイプに応じて、以下をrequirements.txtにリストします。

  • Rモデルの場合、機械学習ライブラリの依存関係をリストします。

  • Pythonモデルの場合、依存関係およびライブラリのバージョン制約をリストします。サポートされる制約タイプには、<<===>=>が含まれます。また、単一のエントリで複数の制約を発行できます(pandas >= 0.24, < 1.0など)。

依存関係と制約を含めるために要件ファイルが更新されたら、カスタムモデルのテストタブに移動します。モデル > コンテンツヘッダーの下にあるファイルをアップロードします。モデルの依存関係フィールドが更新され、ファイルにリストされている依存関係と制約が表示されます。

テストタブから、モデル環境ヘッダーの下で基本ドロップイン環境を選択します。モデルの依存関係を考慮するために新しい環境を構築する必要があることを警告するメッセージがDataRobotから表示されます。ビルド環境を選択すると、DataRobotは必要なライブラリと制約が基本環境にインストールされます。

基本環境が更新されると、その環境でカスタムモデルを使用できるようになり、テスト、デプロイ、または登録できるようになります。

新しいバージョンの追加

新しいパッケージバージョン、さまざまな前処理のステップ、ハイパーパラメーターなどが原因でモデルを更新する場合は、ファイルの内容を更新して、モデルや環境の新しいバージョンを作成できます。

これを行うには、ワークショップからモデルを選択し、テストタブに移動します。モデルのヘッダーの下でファイルを追加を選択します。更新したファイルまたはフォルダーをアップロードします。

モデルの個々の内容を更新すると、モデルのマイナーバージョン(1.1、1.2など)が自動的に更新されます。

モデルの新しいメジャーバージョン(1.0、2.0など)を作成するには、新しいバージョンを選択します。以前のバージョンの内容を新しいバージョンにコピーするか、空のバージョンを作成して、モデルで使用する新しいファイルを追加します。

環境の新規バージョンをアップロードするには、このワークフローに従います。

以前のバージョンに加えて、新規バージョンのモデルまたは環境を使用できるようになります。使用するモデルの反復をバージョンドロップダウンから選択します。

トレーニングデータの割り当て

カスタム推論モデルにトレーニングデータを追加する場合(モデルをデプロイできるようにする場合)は、カスタムモデルを選択し、モデル情報タブに移動します。

モデル情報タブには、カスタム推論モデルに関する属性が一覧表示されます。トレーニングデータを追加をクリックします。

トレーニングデータをアップロードするよう求めるポップアップが表示されます。

参照をクリックしてトレーニングデータをアップロードします。オプションとして、データのパーティション情報を含む列名を指定できます(トレーニング/検証/ホールドアウトのパーティションに基づいて)。カスタムモデルをデプロイして精度を監視する場合、列にホールドアウトパーティションを指定して、精度のベースラインを規定しますパーティション列を指定しなくても精度は追跡できますが、精度のベースラインはありません。アップロードが完了したら、トレーニングデータを追加をクリックします。

モデルリソースの管理

カスタム推論モデルを作成した後、モデルが使用するリソースを設定して、スムーズなデプロイを促進し、本番環境で発生する可能性のある環境エラーを最小限に抑えることができます。

アセンブルタブからカスタムモデルのリソース割り当てを監視できます。リソース設定は、デプロイのステータスの下にリストされています。

リソース設定を編集するには、鉛筆アイコン()を選択します。ユーザーはモデルに割り当てられた最大メモリーを決定できますが、追加のリソース設定を構成できるのは組織管理者だけです。

備考

DataRobotは、どうしても必要な場合にのみリソース設定を編集することをお勧めします。 メモリーを増やすとカスタムモデルの実行が不安定になる可能性があるため、これらの設定はそのままにしておくことをお勧めしますです。また、レプリカの数を増やしても、カスタムモデルの速度に依存するため、パフォーマンスが向上しない場合があります。

モーダルに表示されるリソース割り当てを設定します。

リソース 説明
メモリー カスタム推論モデルに割り当てるメモリーの最大量を決定します。割り当てられた量を超えるモデルはシステムによって排除されることに注意してください。この問題がテスト中に発生した場合、テストは失敗としてマークされます。モデルのデプロイ時に発生した場合は、Kubernetesによってモデルが自動的に再起動されます。
レプリカ カスタムモデルの実行時にワークロードのバランスを取るために、並行して実行するレプリカの最大数を設定します。

モデルのリソース設定が完了したら、保存をクリックします。編集したリソース設定が適用された新しいバージョンのカスタムモデルが作成されます。

レガシーモデルの変換

レガシーモデルを変換するには:

  1. カスタム推論モデルを作成します。DataRobotがモデルの作成と登録を完了すると、モデルのアセンブルタブが開きます。

  2. タスクを実行する基本環境(右側ペイン)を選択します。レガシーモデルを変換するには、基本環境ドロップダウンから[DataRobot] Legacyコード環境を選択します。

  3. モデルインベントリ(左側ペイン)から、モデリングコンテンツとしてレガシーモデリングデータとプログラムを追加します。リポジトリからファイルをプルしたり、ローカルファイルを追加してモデルパッケージをアセンブルすることができます。

  4. ファイルアップロードが完了すると、モデルがオープンソースではない場合、DataRobotはファイルを変換するようプロンプトを表示します。レガシーコンテンツのメインプログラムファイルを選択してモデルを変換をクリックして、ファイルをモデルのホスティングとモデルサービスに最適化されたJavaアーティファクトに変換します。

  5. 変換した場合、またはエラーが発生した場合、ログを表示をクリックして変換の詳細なログを表示します。エラーが確かに発生しており、エラーの原因が判断されると、修正が行われた後で新しいファイルが使用可能になり、モデルに変換ボタンが再度アクティブ化されます。

    例:

    ヒント

    追加のロジックをログに直接埋め込み、モデルリスクまたはガバナンスチームの監査を支援することができます。

  6. 変換が正常に行われる場合、モデルをテストする前に、出力データセット(予測の作成に使用される最終データセットのレガシーモデル)を選択する必要があります。モデルペインで、ドロップダウンを使用して出力データセット出力列(ターゲット特徴量)を特定します。これらの選択は、カスタムモデルテスト中に行われる出力予測の検証に使用されます。

この時点からは、カスタムモデルテストの指示に従います。

デプロイ

備考

テストをしないでカスタム推論モデルを環境にデプロイすることもできますが、DataRobotでは、デプロイの前にテストに合格をすることが強く推奨されます。

カスタム推論モデルをデプロイするには、デプロイするモデルを選択してテストタブに移動します。画面の中央にあるデプロイリンクをクリックします。

モデルをアップロードすると、デプロイ情報ページが表示されます。カスタムモデルのほとんどの情報は自動的に指定されます。

モデルヘッダーの下で機能検証データを入力できます。このデータは、モデルのトレーニングデータのパーティションであり、モデルパフォーマンスの評価に使用されます。

推論ヘッダーのフィールドに入力し、データドリフトを選択して有効にし、このデプロイで予測リクエストする場合に関連付けIDが必要であるかどうかを指定します。

フィールド 説明
推論データ 推論データがDataRobotに保存されるので、モデルコードをアップロードするときに推論データは必要ありません。
実行エンドポイント 予測に使用する予測サーバーを選択します。
関連付けID(オプション) モデルの予測データセットに関連性IDを含む列名。関連付けIDは予測データセットの識別子として機能するため、後で出力データ(「実測値」とも呼ばれる)を予測に紐づけることができます。アソシエーションIDが、デプロイメントの精度追跡を可能にする詳細方法については、こちらをご覧ください。
データドリフト追跡を有効化(オプション) モデルのトレーニングデータをスコアリングデータと比較して、時間の経過に伴うモデルのパフォーマンスを分析します。この操作を行うにはトレーニングデータが必要です。データドリフトの詳細はこちら

DataRobotでは、トレーニングデータ(使用可能な場合)をデプロイにアップロードして、さらに機能を有効にすることが推奨されます。そのためには、学習ヘッダーのトレーニングデータの追加をクリックします。

使用可能なすべてのデータを追加し、モデルを完全に定義すると、デプロイを作成することができます。画面上部にあるデプロイを作成をクリックします。

予測を作成

カスタム推論モデルをデプロイしたら、DataRobotによって管理されている専用の予測サーバーへのAPI呼び出しを使用して予測できます。予測APIの使用の詳細については、予測のドキュメントを参照してください。

デプロイログ

カスタムモデルをデプロイすると、このタイプのデプロイにユニーク数のログレポートが生成されるため、DataRobot内からカスタムコードをデバッグし、予測リクエストの失敗のトラブルシューティングを行うことができます。

デプロイされたモデルのログを表示するには、デプロイに移動し、アクションメニューを開いて、ログを表示を選択します。

次の2種類のログにアクセスできます。

  • ランタイムログは失敗した予測リクエストのトラブルシューティングに使用できます(予測タブまたはAPIからアクセス)。ログはデプロイされたカスタムモデルを実行するDockerコンテナからキャプチャされ、最大1MBのデータが含まれています。ログは予測リクエストを作成した後、5分でキャッシュされます。更新をクリックすると、ログを再リクエストできます。

  • デプロイログはデプロイ中にカスタムモデルが失敗した場合、自動的にキャプチャされます。ログは、デプロイの一部として恒久的に保存されます。

備考

DataRobotは、カスタムモデルが実行されるDockerコンテナ内からのログのみを提供します。したがって、カスタムモデルのデプロイに失敗した場合や、予測リクエストの実行に失敗した場合、ログが利用できなくなることがあります。この理由は、Dockerコンテナの外部で障害が発生したためです。

検索バーを使用して、ログ内の特定の参照を検索できます。ログをダウンロードをクリックすると、ログのローカルコピーを保存できます。


更新しました February 22, 2022
Back to top