Skip to content

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

カスタム環境

カスタムモデルは、DataRobotにアップロードされると、Kubernetes上で動作するDockerコンテナという環境の中で実行されます。 つまり、DataRobotは、カスタムタスクを定義するアップロードされたファイルをコンテナにコピーします。 DataRobotにはさまざまなビルトイン環境が用意されているので、ほとんどの場合、カスタム環境を追加する必要はありません。 タスクのコードを記載したrequirements.txtファイルをアップロードすることにより、これらの環境にPythonやRのパッケージを容易に追加できます。 カスタム環境が必要なのは、カスタムタスクが次の状況にある場合だけです。

  • 追加のLinuxパッケージが必要な状況。
  • 別のオペレーティングシステムが必要な状況。
  • Python、R、Java以外の言語を使用する状況。

このドキュメントでは、これらのケースでカスタム環境を構築する方法について説明します。 カスタム環境をローカルでアセンブルしてテストするには、Docker Desktopと DataRobotユーザーモデル(DRUM)のCLIツールの両方をマシンにインストールします。

カスタム環境ガイドライン

備考

環境テンプレートを使用することをお勧めします。特定のユースケースを除き、独自の環境を構築することは推奨されません。 (DRUMを使用せず、独自の予測サーバーを実装する場合など)

テンプレート環境でサポートされていないツール、言語、またはフレームワークを使用する場合は、独自に作成できます。 DataRobotでは、提供された環境を必要に応じて変更することをお勧めします。ただし、使いやすく再利用可能な環境を作成するには、次のガイドラインに従う必要があります。

  • 環境には、必要な要件をインストールするDockerfileが含まれている必要があります。

  • カスタムモデルには、予測を行うための単純なウェブサーバーが必要です。 DataRobotでは、複数のモデルで再利用できるように、これを環境内に置くことをお勧めします。 ウェブサーバーはポート8080でリッスンし、次のルートを実装する必要があります。

    備考

    URL_PREFIXはランタイムで使用可能な環境変数です。 以下のルートに追加する必要があります。

    必須エンドポイント 説明
    GET /URL_PREFIX/ このルートは、モデルのサーバーが実行されているかどうかを確認するために使用されます。
    POST /URL_PREFIX/predict/ このルートは予測の作成に使用されます。
    オプションの拡張エンドポイント 説明
    GET /URL_PREFIX/stats/ このルートは、DataRobotカスタムモデルテストのメモリー使用量データを取得するために使用されます。
    GET /URL_PREFIX/health/ このルートは、モデルがロードされ、正常に機能するかどうかを確認するために使用されます。 モデルの読み込みに失敗した場合、513レスポンスコードを含むエラーが返されます。 このケースを処理しないと、バックエンドk8sコンテナがクラッシュし、数分間の再起動ループに入ることがあります。
  • モデルサーバーを起動するには、実行可能なstart_server.shファイルが必要です。

  • すべてのコードおよびstart_server.shは、Dockerfileによって/opt/code/にコピーする必要があります。

備考

完全なAPI仕様の詳細については、 DRUMサーバーAPIyamlファイルを参照してください。

環境変数

When you build a custom environment with DRUM, your custom model code can reference several environment variables injected to facilitate access to the DataRobot Client and MLOps Connected Client:

環境変数 説明
MLOPS_DEPLOYMENT_ID If a custom model is running in deployment mode (i.e., the custom model is deployed), the deployment ID is available.
DATAROBOT_ENDPOINT If a custom model has public network access, the DataRobot endpoint URL is available.
DATAROBOT_API_TOKEN If a custom model has public network access, your DataRobot API token is available.

環境の作成

DRUMのインストールが完了したら、GitHubにある例の1つをコピーして環境作成を開始します。 このリンクをクリックする前にGitHubにログインしてください。 以下を確認してください。

  1. 環境コードは単一のフォルダーに保存されます。
  2. env_info.jsonファイルを削除します。

Linuxパッケージの追加

Linuxパッケージを環境に追加するには、dockerfileの先頭の、FROM datarobot…の行の直後にコードを追加します。

Ubuntuベース用のdockerfile構文を使用します。 たとえば、次のコマンドはDataRobotにどのベースを使用するかを指示し、そしてDockerイメージ内にパッケージfooboomooをインストールするよう指示します。

FROM datarobot/python3-dropin-env-base
RUN apt-get update --fix-missing && apt-get install foo boo moo 

Python/Rパッケージの追加

場合によっては、Python/Rのパッケージを環境に含めたい場合があります。 その場合は、以下の点に注意してください。

  • インストールするパッケージをrequirements.txtに表示します。 Rパッケージの場合、バージョンはリストに含めません。

  • PythonとRのパッケージを同じrequirements.txtファイルに混在させないでください。 その代わり、複数のファイルを作成し、dockerfileを調整して、DataRobotがそれらを見つけて使用できるようにします。

ローカルで環境をテストする

次の例では、DockerツールとDRUMを使って環境をすばやくテストする方法を示しています。

  1. カスタムタスクをカスタム環境と一緒にテストするには、タスクの内容が保存されているローカルフォルダーに移動します。

  2. 以下を実行し、< >ブラケットの中のプレースホルダー名を実際の名前に置き換えてください。

    drum fit --code-dir <path_to_task_content> --docker <path_to_a_folder_with_environment_code> --input <path_to_test_data.csv> --target-type <target_type> --target <target_column_name> --verbose 
    

DataRobotにカスタム環境を追加

カスタム環境を作成するには、.tar.tar.gz、または.zip形式の圧縮フォルダーをアップロードする必要があります。 作業を続ける前に、カスタム環境フォルダーの準備に関するガイドラインを確認してください。 ドロップイン環境は、スコアリングコードとstart_server.shファイルを環境フォルダーに追加することによって作成することもできます。

以下に示す環境数と環境バージョン数の上限に注意してください。

新しい環境を追加ボタンと新しいバージョンボタンの横に、追加した環境(または環境バージョン)の数と、合計で追加できる環境(または環境バージョン)の数を示すバッジがあります。 適切な権限があれば、管理者はこれらの上限数を ユーザーまたは グループレベルで設定できます。 このバッジには、次のステータスカテゴリーがあります。

新しい環境を追加ボタンと新しいバージョンボタンの横に、追加した環境(または環境バージョン)の数と、合計で追加できる環境(または環境バージョン)の数を示すバッジがあります。 適切な権限があれば、管理者はこれらの上限数を ユーザーグループまたは 組織レベルで設定できます。 このバッジには、次のステータスカテゴリーがあります。

バッジ 説明
環境数は上限の75%未満です。
環境数は上限の75%以上です。
環境数が上限に達しました。 最初に環境を削除しないと、環境を追加することはできません。

モデルレジストリ > カスタムモデルワークショップに移動し、環境タブを選択します。 このタブには、DataRobotが提供する環境と自分の作成した環境が一覧表示されます。 新しい環境を追加をクリックして環境の詳細を設定し、ワークショップに追加します。

新しい環境を追加ダイアログボックスのフィールドに入力します。

フィールド 説明
環境名 環境の名前。
アップロードするファイルを選択してください Dockerfileおよびその他の関連ファイルを含むtarballアーカイブ。
プログラミング言語 環境が作られた言語。
説明(任意) カスタム環境に関するオプションの説明。

すべてのフィールドに入力して追加をクリックします。 カスタム環境をワークショップで使用する準備が整います。

環境をアップロードすると、他の個人と共有しない限り、その環境は自分だけが利用できます。

既存の環境に変更を加える場合は、新しいバージョンを作成します。

環境バージョンの追加

ワークショップにカスタム環境の新規バージョンを追加して、トラブルシューティングまたは更新します。 バージョンタブで、新しいバージョンを選択します。

新規バージョンのファイルをアップロードし、簡単な説明をしてから、追加をクリックします。

バージョンタブで新規バージョンを使用でき、過去の環境バージョンは後で使用できるように保存されます。

環境情報の表示

各カスタム環境およびビルトイン環境用のさまざな情報が用意されています。 表示方法:

  1. モデルレジストリ > カスタムモデルワークショップ > 環境 に移動します。 表示されるリストには、ユーザーのアカウントで利用できるすべての環境が、サマリー情報とともに表示されます。

  2. 個々の環境の詳細については、クリックして選択します。

    バージョンタブには、バージョン固有のさまざまな情報が表示され、そのバージョンの環境コンテキストファイルをダウンロードするためのリンクが表示されます。

  3. 現在のデプロイをクリックすると、現在の環境が使用されているすべてのデプロイのリストが表示されます。

  4. 環境情報をクリックすると、バージョン情報を含まない一般的な環境に関する情報が表示されます。

環境の共有とダウンロード

カスタム環境は、右のメニューオプションから組織内の誰とでも共有することができます。 これらのオプションは、組織のすべてのメンバーがアクセスするので、ビルトイン環境では使用できません。これらの環境オプションは削除しないでください。

備考

タスクまたは環境は、明示的に共有されていない限り、モデル登録で他のユーザーが利用することはできません。 しかし、それは、ユーザーがそのタスクを含むブループリントを使用することを制限するものではありません。 詳細については暗黙の共有の説明を参照してください。

モデルレジストリ > カスタムモデルワークショップ > 環境 から、メニューを使用して、ユーザーが適切な権限を持つカスタム環境を共有および/または削除することができます。 (リンク先はカスタムモデルのアクションですが、カスタムのタスクと環境でのオプションは同じであることに注意してください。)

セルフマネージドAIプラットフォームの管理者

以下は、セルフマネージドAIプラットフォームでのみ利用可能です。

環境可用性

各カスタム環境はパブリックまたはプライベートのいずれかです(デフォルト可用性)。 環境をパブリックにすると、同じDataRobotインストールの一部である他のユーザーは、オーナーが明示的にシェアまたはユーザーが独自のバージョンを作成またはアップロードすることなく使用できます。 プライベート環境は、オーナーおよび環境が共有されているユーザーだけが表示できます。 カスタム環境をパブリックにする場合は、DataRobotシステム管理者にお問い合わせください。


更新しました February 6, 2024