カスタムモデルのポータブル予測サーバー¶
カスタムモデルのポータブル予測サーバー(PPS)は、カスタムモデルを外部予測環境にデプロイするためのソリューションです。 PPSは、メインのインストール環境に接続せずに構築および実行できます。 PPSは、デプロイされたカスタムモデル、カスタム環境、および監視エージェントを含むダウンロード可能なバンドルとして利用できます。 起動すると、カスタムモデルPPSインストールは、DataRobot REST APIを使用して予測を提供します。
カスタムモデルPPSバンドルのダウンロードと設定¶
カスタムモデルPPSバンドルは、デプロイインベントリ内に外部予測環境があることを示すタグが付けられたカスタムモデルがある場合に提供されます。
備考
続行する前に、DataRobotはPPS向けのLinuxベースの予測環境をサポートしていることに留意してください。 他のUnixベースの予測環境を使用できますが、検定済みで公式にサポートされているのはLinuxベースのシステムのみです。
使用するカスタムモデルを選択し、デプロイの予測 > ポータブル 予測タブに移動して、ポータブル予測パッケージをダウンロードを選択します。
または、コンテンツを1つのバンドルでダウンロードする代わりに、カスタムモデル、カスタム環境、または監視エージェントを個別のコンポーネントとしてダウンロードすることもできます。
.zipファイルをダウンロードした後、解凍コマンドを使用してローカルに抽出します。
unzip <cm_pps_installer_*>.zip
次に、インストールスクリプト(バンドルから解凍)にアクセスして、監視エージェントをサポートするカスタムモデルPPSを構築します。 このためには、手順2で表示されたコマンドを実行します。
監視エージェントのDockerイメージのインストールをスキップする機能など、その他の構築オプションについては、次を実行します。
bash ./cm_pps_installer.sh --help
構築がエラーなしで合格すると、ローカルのDockerレジストリに2つの新しいDockerイメージが追加されます。
-
cm_pps_XYZ
はカスタムモデルとカスタム環境を組み合わせたイメージです。 -
datarobot/mlops-tracking-agent
は監視エージェントのDockerイメージであり、予測統計をDataRobotに報告するために使用されます。
PPSを使用した予測の実施¶
カスタムモデルPPSの使用を開始できるよう、DataRobotにはバンドル内に2つのDocker構成設定の例が用意されています。
-
docker-compose-fs.yml
:モデルコンテナと監視エージェントコンテナの間でファイルシステムベースのスプーラーを使用します。 単一モデルに推奨されます。 -
docker-compose-rabbit.yml
:モデルコンテナと監視エージェントコンテナの間でRabbitMQベースのスプーラーを使用します。 この設定を使用して、単一の監視エージェントインスタンスで複数のモデルを実行できます。
備考
提供されているDocker Composeファイルを利用するには、モデルのrequirements.txt
ファイルにdatarobot-mlops
パッケージ (必要に応じて追加の依存関係を使用して)を追加してください。
使用する設定を選択したら、Docker構成ファイルを編集して、対応するフィールドにデプロイIDとAPIキーを含めます。
設定が完了したら、予測サーバーを起動します。
-
ファイルシステムベースのスプーラーを使用する単一モデルの場合、次のコマンドを実行します。
docker-compose -f docker-compose-fs.yml up
-
単一の監視エージェントインスタンスを持つ複数モデルの場合は、RabbitMQベースのスプーラーを使用します。
docker-compose -f docker-compose-rabbit.yml up
PPSが実行している場合、Dockerイメージは3つのHTTPエンドポイントを公開します。
POST /predictions
は、所定のデータセットをスコアリングします。GET /info
は、ロードされたモデルに関する情報を返します。GET /ping
は、技術スタックが起動していることを確認します。
備考
予測ルートは、コンマ区切り(CSV)スコアリングデータセットのみをサポートしています。 最大ペイロードサイズは、50MBです。
以下は、予測リクエストとJSON応答の例を示しています。
curl -X POST http://localhost:6788/predictions/ \
-H "Content-Type: text/csv" \
--data-binary @path/to/scoring.csv
{
"data": [{
"prediction": 23.03329917456927,
"predictionValues": [{
"label": "MEDV",
"value": 23.03329917456927
}],
"rowId": 0
},
{
"prediction": 33.01475956455371,
"predictionValues": [{
"label": "MEDV",
"value": 33.01475956455371
}],
"rowId": 1
},
]
}
MLOps環境特徴量¶
次の表に、PPSを使用するすべてのカスタムモデルでサポートされているMLOpsサービス環境特徴量を示します。 使用する実行環境に基づいて、これらの設定を調整することをお勧めします。
特徴量 | 説明 | デフォルト |
---|---|---|
MLOPS_SERVICE_URL |
実行中のDataRobotアプリケーションのアドレス。 | 自動生成された値 |
MLOPS_API_TOKEN |
DataRobot APIキー。 | 未定義。指定する必要があります。 |
MLOPS_SPOOLER_TYPE |
カスタムモデルおよび監視エージェントで使用されるスプーラーのタイプ。 | 自動生成された値 |
MLOPS_FILESYSTEM_DIRECTORY |
モニタリングエージェントのファイルシステムスプーラー設定。 | 自動生成された値 |
MLOPS_RABBITMQ_QUEUE_URL |
モニタリングエージェントのRabbitMQスプーラー設定。 | 自動生成された値 |
MLOPS_RABBITMQ_QUEUE_NAME |
モニタリングエージェントのRabbitMQスプーラー設定。 | 自動生成された値 |
START_DELAY |
監視エージェントを開始する前に遅延をトリガーします。 | 自動生成された値 |
DRUMベースの環境特徴量¶
次の表に、DRUMベースのカスタム環境でサポートされている環境特徴量を示します。
特徴量 | 説明 | デフォルト |
---|---|---|
ADDRESS |
予測サーバーの開始アドレス。 | 0.0.0.0:6788 |
MODEL_ID |
デプロイされたモデルのID(監視に必要)。 | 自動生成された値 |
DEPLOYMENT_ID |
デプロイのID。 | 未定義。指定する必要があります。 |
MONITOR |
MLOpsの監視を有効にするフラグ。 | True。 空の値を指定するか、この特徴量を削除して監視を無効にします。 |
MONITOR_SETTINGS |
監視エージェントスプーラーの設定。 | 自動生成された値 |
RUNTIME_PARAMS_FILE |
ランタイムパラメーターの値を含む.yaml ファイルのパスと名前。 |
未定義。指定する必要があります。 |
RabbitMQサービスの環境特徴量¶
特徴量 | 説明 | デフォルト |
---|---|---|
RABBITMQ_DEFAULT_USER |
デフォルトのRabbitMQユーザー。 | 自動生成された値 |
RABBITMQ_DEFAULT_PASS |
デフォルトのRabbitMQパスワード。 | 自動生成された値 |