Skip to content

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

カスタム環境

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

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

このドキュメントでは、これらのケースでカスタム環境を構築する方法について説明します。 To assemble and test a custom environment locally, install both Docker Desktop and the DataRobot user model (DRUM) CLI tool on your machine.

Custom environment guidelines

備考

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

If you'd like to use a tool, language, or framework that is not supported by our template environments, you can make your own. DataRobot recommends modifying the provided environments to suit your needs; however, to make an easy-to-use, re-usable environment, you should adhere to the following guidelines:

  • Your environment must include a Dockerfile that installs any requirements you may want.

  • カスタムモデルには、予測を行うための単純なウェブサーバーが必要です。 DataRobot recommends putting this in your environment so you can reuse it with multiple models. ウェブサーバーはポート8080でリッスンし、次のルートを実装する必要があります。

    備考

    URL_PREFIX is an environment variable that is available at runtime. It must be added to the routes below.

    Mandatory endpoints 説明
    GET /URL_PREFIX/ This route is used to check if your model's server is running.
    POST /URL_PREFIX/predict/ This route is used to make predictions.
    Optional extension endpoints 説明
    GET /URL_PREFIX/stats/ This route is used to fetch memory usage data for DataRobot Custom Model Testing.
    GET /URL_PREFIX/health/ This route is used to check if model is loaded and functioning properly. If model loading fails error with 513 response code should be returned. Failing to handle this case may cause the backend k8s container to enter crash and enter a restart loop for several minutes.
  • An executable start_server.sh file is required to start the model server.

  • Any code and start_server.sh should be copied to /opt/code/ by your Dockerfile.

備考

To learn more about the complete API specification, you can review the DRUM server API yaml file.

環境の作成

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 
    

Add a custom environment to DataRobot

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

Note the following environment limits and environment version limits:

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

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

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

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

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

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

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

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

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

環境バージョンの追加

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

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

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

環境情報の表示

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

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

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

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

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

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

Share and download an environment

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

備考

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

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

Self-Managed AI Platform admins

The following is available only on the Self-Managed AI Platform.

環境可用性

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


更新しました May 3, 2023
Back to top