Skip to content

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

ポータブル予測

DataRobot offers portable prediction methods on the Predictions > Portable predictions tab, allowing you to execute prediction jobs outside of the DataRobot application. ポータブル予測の方法は以下に詳しく説明します。

方法 説明
ポータブル予測サーバー Configure a remote DataRobot execution environment for DataRobot model packages (.mlpkg files) distributed as a self-contained Docker image.
スコアリングコード Export Scoring Code from DataRobot in Java or Python to make predictions. スコアリングコードには移植性があるので、任意のコンピューティング環境で実行できます。 この方法は、REST APIのパフォーマンスを完全にサポートできないアプリケーションやネットワークアクセスが十分でない低レイテンシーアプリケーションの場合に便利です。

ポータブル予測サーバー

ポータブル予測サーバー(PPS)は、自己完結型のDockerイメージとして配布されるDataRobotモデルパッケージ(.mlpkgファイル)用のDataRobot実行環境です。 ポータブル予測サーバーを設定したら、単一または複数モデルのポータブルリアルタイム予測ポータブルバッチ予測 ジョブの実行を開始できます。

CPUに関する注意事項

DataRobotでは、Intel CPUを使用して、ポータブル予測サーバーを実行することを強く推奨します。 Intel以外のCPUを使用すると、特に、TensorflowまたはKerasで構築されたディープラーニングのようなモデルで、予測の不一致となる場合があります。 これには、ARMアーキテクチャプロセッサー(AArch32やAArch64など)が含まれます。

一般的な設定手順は次のとおりです。

  1. モデルパッケージのダウンロード
  2. PPS Dockerイメージをダウンロードします。
  3. PPS Dockerへのイメージのロード
  4. DataRobotが提供するDockerスニペットをコピーして、Dockerコンテナでポータブル予測サーバーを実行します。

重要

デプロイによってモデルのポータブル予測サーバーを設定したい場合は、まず外部の予測環境を追加して、そのモデルを外部環境へデプロイする必要があります。

モデルパッケージのダウンロード

You can download a PPS model package for a deployed DataRobot model running on an external prediction environment to run prediction jobs with a Portable Prediction Server outside of DataRobot. デプロイからモデルパッケージをダウンロードすると、ポータブル予測サーバーはモデルのパフォーマンスを監視 して予測統計を追跡します。ただし、デプロイでモデルパッケージのダウンロードがサポートされていることを確認する必要があります。 デプロイには、DataRobotの構築環境と外部予測環境が必要です。

デプロイタブ(デプロイインベントリ)で、DataRobotの構築環境と外部の予測環境の両方を持つデプロイを開き、予測 > ポータブル予測タブに移動します。

要素 説明
1 Portable prediction method / Portable Prediction Server REST APIベースの予測サーバーをDockerイメージとして設定するのに便利です。
2 ポータブル予測サーバーの使用方法 開発者ツールタブにリンクすると、ポータブル予測サーバーのDockerイメージを取得できます。
3 モデルパッケージ(.mlpkg)をダウンロード デプロイされたモデルのモデルパッケージをダウンロードします。
4 Dockerスニペット モデルパッケージをダウンロードしたら、Dockerスニペットを使用して、モニタリングが有効になっているモデルのポータブル予測サーバーを起動します。 起動する前に、APIキー、ローカルファイル名、パス、モニタリングを指定する必要があります。
5 クリップボードにコピー Dockerスニペットをクリップボードにコピーして、コマンドラインに貼り付けられるようにします。

予測 > ポータブル予測タブで、モデルパッケージをダウンロード(.mlpkg)をクリックします。 ダウンロードが完了すると、ダウンロードがダウンロードバーに表示されます。 モデルパッケージをダウンロードしたら、クリップボードにコピーをクリックし、後で使用するためにコードスニペットを保存します。 ダウンロードしたモデルパッケージでポータブル予測サーバーを起動するには、このコードが必要です。

ポータブル予測サーバーの設定

ダウンロードしたモデルパッケージをポータブル予測サーバーにデプロイするには、まずPPS Dockerイメージをダウンロードし、そのイメージをDockerに読み込む必要があります。

PPS Dockerイメージの取得

開発者ツールタブに移動し、ポータブル予測サーバーのDockerイメージをダウンロードします。 次の表で説明するように、DataRobotの環境とバージョンに応じて最新のイメージにアクセスするためのオプションが異なる場合があります。

デプロイのタイプ ソフトウェアバージョン アクセス方法
セルフマネージドAIプラットフォーム v6.3以前 詳細については、DataRobotの担当者に連絡してください。 イメージはリクエストに応じて提供されます。
セルフマネージドAIプラットフォーム v7.0以降 開発者ツールからイメージをダウンロード します(以下の説明に従ってインストールしてください)。 イメージを取得できない場合は、DataRobotの担当者に連絡してください。
マネージドAIプラットフォーム 2021年1月以降 開発者ツールからイメージをダウンロード します(以下の説明に従ってインストールしてください)。

Dockerへのイメージのロード

注意

現在、DataRobotはイメージサイズの縮小に取り組んでいますが、圧縮されたDockerイメージは6 GBを超える場合があります(Dockerが読み込まれたイメージのレイヤーは14 GBを超える場合があります)。 PPSイメージをダウンロードおよびインポートする場合は、これらのサイズを考慮してください。

続行する前に、開発者ツールからイメージをダウンロードします。 Dockerで読み込める、gzipされたtarアーカイブです。

ダウンロードしてファイルのチェックサムを確認したら、docker loadを使用してイメージを読み込みます。 Dockerはgzipされたtarアーカイブからのイメージ読み込みをネイティブにサポートしているので、ダウンロードしたファイルを解凍する必要はありません。

以下のコマンドをコピーし、<version>を置き換えてコマンドを実行すると、PPSイメージがDockerに読み込まれます。

docker load < datarobot-portable-prediction-api-<version>.tar.gz 

File path consideration

PPSファイルがカレントディレクトリにない場合は、tarファイルへのローカルな絶対ファイルパスを指定する必要があります(例:/path/to/datarobot-portable-prediction-api-<version>.tar.gz)。

PPSファイルにdocker loadコマンドを実行すると、次のような出力が表示されるはずです。

docker load < datarobot-portable-prediction-api-9.0.0-r4582.tar.gz
33204bfe17ee: Loading layer [==================================================>]  214.1MB/214.1MB
62c077c42637: Loading layer [==================================================>]  3.584kB/3.584kB
54475c7b6aee: Loading layer [==================================================>]  30.21kB/30.21kB
0f91625c248c: Loading layer [==================================================>]  3.072kB/3.072kB
21c5127d921b: Loading layer [==================================================>]  27.05MB/27.05MB
91feb2d07e73: Loading layer [==================================================>]  421.4kB/421.4kB
12ca493d22d9: Loading layer [==================================================>]  41.61MB/41.61MB
ffb6e915efe7: Loading layer [==================================================>]  26.55MB/26.55MB
83e2c4ee6761: Loading layer [==================================================>]  5.632kB/5.632kB
109bf21d51e0: Loading layer [==================================================>]  3.093MB/3.093MB
d5ebeca35cd2: Loading layer [==================================================>]  646.6MB/646.6MB
f72ea73370ce: Loading layer [==================================================>]  1.108GB/1.108GB
4ecb5fe1d7c7: Loading layer [==================================================>]  1.844GB/1.844GB
d5d87d53ea21: Loading layer [==================================================>]  71.79MB/71.79MB
34e5df35e3cf: Loading layer [==================================================>]  187.3MB/187.3MB
38ccf3dd09eb: Loading layer [==================================================>]  995.5MB/995.5MB
fc5583d56a81: Loading layer [==================================================>]  3.584kB/3.584kB
c51face886fc: Loading layer [==================================================>]    402MB/402MB
c6017c1b6604: Loading layer [==================================================>]  1.465GB/1.465GB
7a879d3cd431: Loading layer [==================================================>]  166.6MB/166.6MB
8c2f17f7a166: Loading layer [==================================================>]  188.7MB/188.7MB
059189864c15: Loading layer [==================================================>]  115.9MB/115.9MB
991f5ac99c29: Loading layer [==================================================>]  3.072kB/3.072kB
f6bbaa29a1c6: Loading layer [==================================================>]   2.56kB/2.56kB
4a0a241b3aab: Loading layer [==================================================>]  415.7kB/415.7kB
3d509cf1aa18: Loading layer [==================================================>]  5.632kB/5.632kB
a611f162b44f: Loading layer [==================================================>]  1.701MB/1.701MB
0135aa7d76a0: Loading layer [==================================================>]  6.766MB/6.766MB
fe5890c6ddfc: Loading layer [==================================================>]  4.096kB/4.096kB
d2f4df5f0344: Loading layer [==================================================>]  5.875GB/5.875GB
1a1a6aa8556e: Loading layer [==================================================>]  10.24kB/10.24kB
77fcb6e243d1: Loading layer [==================================================>]  12.97MB/12.97MB
7749d3ff03bb: Loading layer [==================================================>]  4.096kB/4.096kB
29de05e7fdb3: Loading layer [==================================================>]  3.072kB/3.072kB
2579aba98176: Loading layer [==================================================>]  4.698MB/4.698MB
5f3d150f5680: Loading layer [==================================================>]  4.699MB/4.699MB
1f63989f2175: Loading layer [==================================================>]  3.798GB/3.798GB
3e722f5814f1: Loading layer [==================================================>]  182.3kB/182.3kB
b248981a0c7e: Loading layer [==================================================>]  3.072kB/3.072kB
b104fa769b35: Loading layer [==================================================>]  4.096kB/4.096kB
Loaded image: datarobot/datarobot-portable-prediction-api:9.0.0-r4582 

docker loadコマンドがLoaded imageメッセージとともに正常に完了したら、イメージがdocker imagesコマンドで読み込まれていることを確認する必要があります。

To view a list of the images in Docker, copy and run the command below:

docker images 

この例では、前の手順で読み込んだ datarobot/datarobot-portable-prediction-apiイメージを確認できます。

docker images
REPOSITORY                                    TAG           IMAGE ID       CREATED        SIZE
datarobot/datarobot-portable-prediction-api   9.0.0-r4582   df38ea008767   29 hours ago   17GB 

Save disk space

(オプション)圧縮されたイメージアーカイブdatarobot-portable-prediction-api-<version>.tar.gzは、正常に読み込めたら削除することで、ディスクスペースを節約できます(オプション)。

コードスニペットでのPPSの起動

モデルパッケージをダウンロードしてDocker PPSイメージを設定したら、関連するdocker runコードスニペットを使用して、ダウンロードしたモデルパッケージでポータブル予測サーバーを起動することができます。

デプロイされたモデルからのこちらのコードスニペット例では、以下にハイライトされたオプションを設定する必要があります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run \
-p 8080:8080 \
-v <local path to model package>/:/opt/ml/model/ \
-e PREDICTION_API_MODEL_REPOSITORY_PATH="/opt/ml/model/<model package file name>" \
-e PREDICTION_API_MONITORING_ENABLED="True" \
-e MLOPS_DEPLOYMENT_ID="6387928ebc3a099085be32b7" \
-e MONITORING_AGENT="True" \
-e MONITORING_AGENT_DATAROBOT_APP_URL="https://app.datarobot.com" \
-e MONITORING_AGENT_DATAROBOT_APP_TOKEN="<your api token>" \
datarobot-portable-prediction-api 
  • -v <local path to model package>/:/opt/ml/model/ \: ダウンロードしたモデルパッケージの場所へのローカルな絶対ファイルパスを指定します。 -v(または --volume)オプションのバインドでボリュームをマウントし、( <local path to model package>の)ローカルモデルパッケージディレクトリの内容をDockerコンテナの/opt/ml/modelボリュームに追加します。

  • -e PREDICTION_API_MODEL_REPOSITORY_PATH="/opt/ml/model/<model package file name>" \: /opt/ml/model/ボリュームにマウントされたモデルパッケージのファイル名を指定します。 これにより、PPSがモデルパッケージを見つけられる場所を示す環境変数PREDICTION_API_MODEL_REPOSITORY_PATHが設定されます。

  • -e MONITORING_AGENT_DATAROBOT_APP_TOKEN="<your api token>" \: 監視目的で、DataRobotの開発者ツールからAPIトークンを提供します。 これにより、環境変数MONITORING_AGENT_DATAROBOT_APP_TOKENが設定され、PPSがAPIキーを見つけられるようになります。

  • datarobot-portable-prediction-api:この行を、使用しているPPSイメージのイメージ名とバージョンで置き換えます。 例:datarobot/datarobot-portable-prediction-api:<version>

dockerタグを使用してイメージに名前とタグを付ける

あるいは、docker tagを使用して新しいイメージにlatestというタグを付けてdatarobot-portable-prediction-apiに名前を変更すれば、最後の行にdatarobot-portable-prediction-apiを残すことができます。

この例では、Dockerはイメージの名前を変更し、9.0.0-r4582タグをlatestタグで置き換えています。

docker tag datarobot/datarobot-portable-prediction-api:9.0.0-r4582 datarobot-portable-prediction-api:latest 

新しいタグと名前を確認するには、もう一度docker imagesコマンドを使用します。

docker images
REPOSITORY                                    TAG           IMAGE ID       CREATED        SIZE
datarobot/datarobot-portable-prediction-api   9.0.0-r4582   df38ea008767   29 hours ago   17GB
datarobot-portable-prediction-api             latest        df38ea008767   29 hours ago   17GB 

セットアップを完了したら、Dockerスニペットを使用して、単一または複数モデルのポータブルリアルタイム予測の実行や、ポータブルバッチ予測の実行ができます。 PPSを使用した予測ジョブの追加の例も参照してください。 PPSは、メインのDataRobotインストール環境から切り離して実行することができます。 開始すると、イメージは:8080ポートを介してHTTP APIを提供します。

FIPS対応モデルパッケージのPPSを実行する

ENABLE_FIPS_140_2_MODE: true (クラスターレベルのconfig.yamlファイルで)DataRobotクラスターを設定すると、そのクラスターは、ENABLE_FIPS_140_2_MODE: trueのPPSを起動する必要がある.mlpkgファイルを構築します。 このため、FIPS対応モデルと標準モデルを、同じPPSインスタンスでホストできません。

FIPS対応モデルをサポートしてPPSを実行するには、 docker runに、次の引数を含めることができます。

-e  ENABLE_FIPS_140_2_MODE="true" 

PPSコンテナ起動のフルコマンドは、以下の例のようになります。

docker run 
-td 
-p 8080:8080 
-e PYTHON3_SERVICES="true" 
-e ENABLE_FIPS_140_2_MODE="true" 
-v <local path to model package>/:/opt/ml/model 
--name portable_predictions_server  
--rm datarobot/datarobot-portable-prediction-api:<version> 

スコアリングコード

スコアリングコードを使用すると、DataRobotで生成済みモデルをJARファイルとしてエクスポートして、プラットフォームの外部で使用できます。 Export a model's Scoring Code from the model's deployment; the download includes a pre-compiled JAR file (with all dependencies included), as well as the source code JAR file. エクスポートした後、モデルのソースコードを表示することで、DataRobotでの予測の生成手順について理解を深めることができます。

スコアリングコードJARには、予測モデルのJavaスコアリングコードが含まれています。 予測計算ロジックはDataRobot APIと同じです(コード生成メカニズムによって、生成プロセスの一部として各モデルの精度がテストされます)。 生成コードは、DataRobotアプリケーションに依存せず、どの環境にも簡単にデプロイできます。

DataRobotはスコアリングコードがあるモデルをどのように判断しますか?

スコアリングコード機能を有効にすると、DataRobotでは、各ブループリントの前処理のステップのJava代替が生成され、その結果が検定セット上で元の結果と比較されます。 結果の差分が0.00001よりも大きい場合、DataRobotでは、スコアリングコードをダウンロードするオプションは提供されません。 この方法により、元のモデルと同じ予測がスコアリングコードJARモデルで生成されることが保証されます。

スコアリングコードをダウンロードする

DataRobotプラットフォームの外部で使用するために、モデルのスコアリングコードは、コンパイル済みのJARファイル(すべての依存関係を含む)としてダウンロードできます。 このトピックでは、デプロイからスコアリングコードをダウンロードする方法について説明します。 For Scoring Code-enabled models deployed to an external prediction server, you can download Scoring Code from a deployment's Actions menu on the Deployments page or from a deployment's Predictions > Portable predictions tab. DataRobotの予測環境にデプロイされたスコアリングコード対応モデルについては、デプロイページからのみスコアリングコードをダウンロードできます。

In the Console, on the Deployments tab, open a Scoring Code-enabled deployment (with a DataRobot build environment) and then navigate to the Predictions > Portable predictions tab to complete the fields described below:

要素 説明
1 スコアリングコード DataRobotモデルを含むJavaパッケージを提供。 ポータブル予測法の下で、スコアリングコードを選択します。
2 プログラミング言語 スコアリングコードを呼び出す場所を選択します:Python APIJava API、またはコマンドラインインターフェイス(CLI)。 場所を選択すると、下に表示されているスニペット例が対応する言語に更新されます。
3 監視エージェントを含める スコアリングコードでMLOpsエージェントをダウンロード。
4 予測の説明を含める/予測間隔を含める(時系列) モデルタイプに応じて、以下のいずれかの予測オプションを有効にします:
  • スコアリングコードを使用して、予測の説明を計算するコードを含めます。 これにより、コマンドラインオプションを追加して、スコアリングコードから予測の説明を取得できます。--with-explanations。 詳細については、コマンドラインでのスコアリングを参照してください。
  • 時系列デプロイの場合、スコアリングコードを使用して、予測の説明を計算するコードを含めます。 これにより、コマンドラインオプション--interval_length=<integer value from 1 to 99>を追加することで、スコアリングコードから予測間隔(1から99)を取得できます。 詳細については、コマンドラインでのスコアリングを参照してください。
5 シークレットを表示 コードスニペットで*****により非表示になっているシークレットを表示します。 コードスニペットでシークレットを公開すると、APIキーやdatarobot-keyを取得する便利な方法を提供できます。ただし、これらのシークレットは、セキュリティ上の理由でデフォルトでは非表示になっているため、慎重に処理してください。
6 準備とダウンロード/ソースコードとして準備およびダウンロード 上記で選択済みのオプションに応じて、以下のダウンロード方法のいずれかを選択します:
  • 準備とダウンロード:スコアリングコードをJavaパッケージとしてダウンロード。 これらのパッケージにはコンパイルされたJava実行可能ファイルがあり、すべての依存関係を含み、予測を行うことができます。
  • ソースコードとして準備およびダウンロード:Javaソースコードファイルをダウンロード。 これらは非難読化バージョンのモデルです。これらのモデルコンパイルされておらず、依存パッケージが含まれていないので、モデルのスコアリングには使用できません。 ソースファイルを使用して、モデルの意思決定プロセスを確認できます。 このオプションは、監視エージェントと予測の説明が有効になっていない場合にのみ使用できます。
7 選択されたコーディング言語を使用してスコアリングコードを呼び出すコード例を提供します。
8 クリップボードにコピー スコアリングコードの例をクリップボードにコピーして、IDEやコマンドラインに貼り付けられるようにします。

ヒント

DataRobot予測ライブラリを利用すると、DataRobotがサポートするさまざまな予測方法を用いた予測をPython APIで行うことができます。 ライブラリは予測を行うための共通のインターフェイスを提供するので、ベースとなる実装を簡単に交換できます。 ライブラリには、スコアリングコードJARファイルが必要であることに注意してください。

設定が完了したら、準備とダウンロードをクリックしてJavaパッケージをダウンロード、またはソースコードとして準備およびダウンロードをクリックしてソースコードファイルをダウンロードします。

注意

2020年3月以前の料金プランが適用されている場合、スコアリングコードをダウンロードすると、永続的なデプロイとなり、削除できなくなります。 注意メッセージが表示され、この条件を受け入れるように求められます。 トグルで理解したことを示し、その後準備とダウンロードをクリックしてJavaパッケージをダウンロード、またはソースコードとして準備およびダウンロードをクリックしてソースコードファイルをダウンロードします。

スコアリングコードのダウンロードが完了したら、タブで提供されるスニペットを使用して、スコアリングコードを呼び出します。 たとえば、MLOpsエージェントtarballドキュメントをリファレンスします。これは、開発者ツールページからダウンロードできます。 モニタリングスニペットを使用してMLOpsエージェントと連携することも可能です。


更新しました June 19, 2024