Skip to content

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

カスタムモデルの作成

カスタムモデルは、ユーザーが作成して、モデルワークショップを介して(ファイルのコレクションとして)、DataRobotにアップロードできる事前トレーニング済みのモデルです。 カスタムモデルは、以下のうちいずれかの方法でアセンブルできます。

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

  • アセンブルタブで、環境要件とstart_server.shファイル あり でカスタムモデルを作成します。 このタイプのカスタムモデルは、カスタムまたはドロップイン環境と組み合わせることができます。

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

カスタムモデルのテスト

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

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

アセンブリの準備としてカスタムモデルを作成するには:

  1. レジストリ > モデルワークショップをクリックします。 このタブには、作成したモデルが一覧表示されます。

  2. + モデルを追加(または、カスタムモデルパネルが開いている場合は ボタン)をクリックします。

  3. モデルを追加ページで、モデルを設定のフィールドに入力します。

    フィールド 説明
    モデル名 カスタムモデルのわかりやすい名前。
    ターゲットタイプ モデルが行っている予測のタイプ。 予測タイプに応じて、追加の設定を構成する必要があります。
    • 二値:二値分類モデルの場合は、PositiveクラスラベルNegativeクラスラベルを入力します。
    • 連続値:追加設定なし。
    • 多クラス:多クラス分類モデルでは、ターゲットのターゲットクラスを1行に1クラスずつ入力またはアップロード(.csv.txt)します。 クラスがモデルの予測に正しく適用されるように、モデルが予測したクラスの確率と同じ順序でクラスを入力してください。
    • テキスト生成プレミアム機能。 追加設定なし。
    • 異常検知:追加設定なし。
    • 非構造化:追加設定なし。 非構造化モデルは、特定の入力/出力スキーマに準拠する必要はなく、異なる要求形式を使用する可能性があります。 「非構造化」ターゲットタイプのデプロイでは、予測ドリフト、精度追跡、チャレンジャー、および信頼性が無効になります。 サービスの正常性、デプロイアクティビティ、ガバナンスは引き続き利用できます。
    ターゲット名 モデルが予測するデータセットの列名。 このフィールドは、多クラスモデルおよび異常検知モデルでは使用できません。
    高度な設定
    言語 モデルの構築に使用されるプログラミング言語。
    説明 モデルのコンテンツと目的の説明。
    異常検知のターゲットタイプ

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

    • データドリフト
    • 精度と関連付けID
    • チャレンジャーモデル
    • 信頼性ルール
    • 予測の説明
  4. フィールドに入力したら、モデルを追加をクリックします。

    カスタムモデルがアセンブルタブで開きます。

カスタムモデルのアセンブル

カスタムモデルを作成した後、必要な環境、依存関係、ファイルを指定できます。

  1. アセンブルするモデルで、アセンブルタブの環境セクションに移動し、基本環境ドロップダウンメニューからモデル環境を選択します。

    モデル環境

    モデル環境は、カスタムモデルのテストとデプロイに使用されます。 基本環境ドロップダウンリストには、 ドロップインモデル環境と、作成可能な カスタム環境が含まれています。

  2. 依存関係セクションに入力するために、ファイルセクションでrequirements.txtファイルをアップロードし、DataRobotが最適なイメージを構築できるようにします。

  3. ファイルセクションで、必要なカスタムモデルファイルを追加します。 モデルと ドロップイン環境をペアリングしていない場合、これにはカスタムモデル環境要件とstart_server.shファイルが含まれます。 ファイルの追加方法はいくつかあります。

      要素 説明
    1 ファイル ファイルをグループボックスにドラッグしてアップロードします。
    2 ソースから選択 クリックしてローカルファイルまたはローカルフォルダーを参照します。
    3 アップロード クリックしてローカルファイルまたはローカルフォルダーを参照するか、 リモートリポジトリからファイルをプルします。
    4 作成 空のファイルまたはテンプレートとして新しいファイルを作成し、カスタムモデルに保存します。
    • model-metadata.yamlを作成:ランタイムパラメーターファイルの基本的で編集可能な例を作成します。
    • 空白ファイルを作成:空のファイルを作成します。 名称未設定の横にある編集アイコン()をクリックしてファイル名と拡張子を入力し、カスタムコンテンツを追加します。

    ファイルの置き換え

    既存のファイルと同じ名前の新しいファイルを追加する場合、保存をクリックすると、ファイルセクションで古いファイルが置き換えられます。

    モデルファイルの場所

    ローカルフォルダーからファイルを追加する場合は、モデルファイルがすでにカスタムモデルのルートにあることを確認してください。 アップロードされたフォルダーは、モデル自体ではなく、モデルに必要な依存ファイルおよび追加のアセット用です。 モデルファイルがフォルダーに含まれている場合でも、ファイルがルートレベルに存在しない限り、DataRobotからモデルファイルにアクセスすることはできません。 ルートにあるファイルは、フォルダー内の依存関係を指定することができます。

アセンブルタブのファイルセクションで1つ以上のファイルまたはフォルダーを誤って追加した場合は、各ファイルまたはフォルダーの横にある削除()アイコンをクリックして、カスタムモデルから削除できます。

リモートリポジトリ

ファイルセクションで、アップロード > リモートリポジトリをクリックすると、リモートリポジトリからコンテンツを追加パネルが開きます。 リモートリポジトリをクリックして、 新しいリモートリポジトリを登録(A)するか、既存のリモートリポジトリを選択(B)できます。

リポジトリを登録して選択した後、アップロードする各ファイルまたはフォルダーのチェックボックスを選択して、コンテンツを選択するをクリックします。

選択したファイルがファイルセクションに入れられます。

ドロップイン環境

DataRobotでは、モデルワークショップでドロップイン環境が使用でき、必要なライブラリを定義してstart_server.shファイルが使用できます。 次の表に、DataRobotのドロップイン環境の詳細とDRUMリポジトリ内のテンプレートへのリンクを示します。 モデルワークショップアセンブルタブの環境セクションでは各環境の前に[DataRobot]が置かれます。

環境名と例 モデルの互換性とアーティファクトファイルの拡張子
Python 3 ONNXドロップイン ONNXモデル(.onnx
Python 3 PMMLドロップイン PMMLモデル(.pmml
Python 3 PyTorchドロップイン PyTorchモデル(.pth
Python 3 Scikit-Learnドロップイン Scikit-Learnモデル(.pkl
Python 3 XGBoostドロップイン ネイティブXGBoostモデル(.pkl
Python 3 Kerasドロップイン TensorFlow(.h5)を用いたKerasモデル
Javaドロップイン DataRobotスコアリングコードモデル(.jar
Rドロップイン環境 CARET(.rds)を使ってトレーニングされたRモデル
CARETが推奨するすべてのライブラリをインストールするのに時間がかかるため、パッケージ名でもあるモデルタイプのみがインストールされます(例:brnnglmnet)。 この環境のコピーを作成し、Dockerfileを修正して、必要なパッケージを追加でインストールします。 この環境をカスタマイズする際のビルド回数を減らすために、# Install caret modelsセクションで不要な行を削除して、必要なものだけをインストールすることもできます。 CARETドキュメントを参照して、モデルの手法がパッケージ名と一致しているかどうかを確認してください。 このリンクをクリックする前にGitHubにログインしてください。
Juliaドロップイン* Juliaモデル(.jlso
* Juliaのドロップイン環境は公式にはサポートされていません。例として提供されています。

備考

すべてのPython環境には、前処理(必要な場合)を支援するScikit-Learnが含まれていますが、sklearnモデルで予測を作成できるのはScikit-Learnだけです。

ドロップイン環境を使用する場合、カスタムモデルコードは、 DataRobotクライアントMLOps Connected Clientへのアクセスを容易にするために挿入された複数の環境変数を参照できます。

環境変数 説明
MLOPS_DEPLOYMENT_ID カスタムモデルがデプロイモードで実行されている場合(カスタムモデルがデプロイされている場合)、デプロイIDを使用できます。
DATAROBOT_ENDPOINT カスタムモデルに パブリックネットワークアクセスがある場合、DataRobotエンドポイントURLを使用できます。
DATAROBOT_API_TOKEN カスタムモデルに パブリックネットワークアクセスがある場合、DataRobot APIトークンを使用できます。

接続されたデプロイを定義

本機能の提供について

接続されたデプロイは、デフォルトではオフになっています。 この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。

機能フラグ:デプロイの接続を有効にする

接続されたデプロイは、監視対象のテキスト生成モデルデプロイに予測と統計を報告します。 接続されたデプロイを使用するには、最初に、LLMのプロンプトや出力について予測を行う監査モデルを作成してデプロイします。たとえば、監査モデルでプロンプトインジェクション、つまり有害な回答を識別できる場合があります。 次に、テキスト生成ターゲットタイプでカスタムモデルを作成するときに、接続された1つまたは複数のデプロイを定義して予測を生成し、中央モデルにレポートします。 接続されたデプロイの予測は、監視対象のテキスト生成モデルデプロイの予測出力に統合することができます。

接続されたデプロイを定義するには、deploymentタイプのランタイムパラメーターを1つ以上含むmodel-metadata.yamlファイルをアップロードするか作成します。 作成 > model-metadata.yamlを作成をクリックすると、テンプレートに例が含まれるようになります。

runtimeParameterDefinitions:
- fieldName: DEPLOYMENT_PARAMETER
    type: deployment
    description: An example of a deployment parameter (for various purposes, such as connected deployments)
    defaultValue: null 

上の例でnullを接続するデプロイのデプロイIDに置き換えるか、model-metadata.yamlファイルの保存後に編集アイコン()をクリックしてデプロイIDを入力します。

接続されたデプロイを使用するには、カスタムモデルにテキスト生成ターゲットタイプがあることを確認します。 ターゲットタイプは、次のようにmodel-metadata.yamlファイルで定義できます。

targetType: textgeneration 

カスタムモデルのアセンブルと登録を行うと、登録モデルバージョンの関連アイテムセクションで接続されたデプロイを確認できます。

ランタイムパラメーターの管理

If you defined any runtime parameters through runtimeParameterDefinitions in the model-metadata.yaml file, you can manage them in the Runtime Parameters section:

アイコン 設定 説明
編集 キーを編集ダイアログボックスを開き、ランタイムパラメーターのを編集します。
初期値に戻す ランタイムパラメーターの値をmodel-metadata.yamlファイル内のdefaultValueセットにリセットします。

defaultValueのない定義で、ランタイムパラメーターにallowEmpty: falseがある場合は、カスタムモデルを登録する前に値を設定する必要があります。

For more information on how to define runtime parameters and use them in your custom model code, see the Define custom mode runtime parameters documentation.

カスタムモデルデータセットの割り当て

モデルデプロイで特徴量ドリフト追跡を有効にするには、トレーニングデータを追加する必要があります。 これを行うには、モデルのバージョンにトレーニングデータを割り当てます。 非構造化カスタム推論モデルのトレーニングデータセットとホールドアウトデータセットを指定する方法では、トレーニングデータセットとホールドアウトデータセットを個別にアップロードする必要があります。 さらに、これらのデータセットにはパーティション列を含めることはできません。

ファイルサイズに関する注意

カスタムモデルにトレーニングデータを追加する場合、トレーニングデータはRAMとCPUリソースを節約するために フローズン実行の対象となり、トレーニングデータセットのファイルサイズを1.5 GBに制限できます。

環境ファイルを定義した後にカスタムモデルにトレーニングデータを割り当てるには:

  1. アセンブルタブの設定セクションのデータセットの下:

    • モデルのバージョンにトレーニングデータが割り当てられていない場合は、割り当てるをクリックします。

    • モデルバージョンにトレーニングデータが 割り当てられている 場合は、(変更をクリックし、トレーニングデータの下で削除()アイコンをクリックして、既存のトレーニングデータを削除します。

  2. トレーニングデータセクションで、+ データセットを選択をクリックして、次のいずれかを実行します。

    • 新しいデータセットをデータレジストリに追加するには、アップロードをクリックし、ローカルストレージからファイルを選択して、開くをクリックします。

    • データレジストリから既存のデータセットを選択するには、データレジストリリストで、DataRobotに以前アップロードしたトレーニングデータセットを見つけてクリックし、データセットを選択をクリックします。

    スコアリングに必要な特徴量を含める

    カスタムモデルのトレーニングデータの列は、デプロイされたカスタムモデルへのスコアリングリクエストにどの特徴量が含まれるかを示します。 したがって、トレーニングデータが利用可能になると、トレーニングデータセットに含まれない特徴量はモデルに送信されません。 この要件は、 カスタムモデルのテスト中に行われた予測には適用されません。 Available as a preview feature, you can disable this behavior using the Column filtering setting.

  3. (オプション)パーティション列セクションで、(トレーニング/検定/ホールドアウトのパーティショニングに基づいて)データのパーティショニング情報を含む列名(そこにあるトレーニングデータセットから)を指定します。 カスタムモデルをデプロイし、そのデータドリフト精度を監視する予定であれば、列にホールドアウトパーティションを指定して、精度のベースラインを確立します。

    パーティション列の指定

    パーティション列を指定しなくても、データのドリフトと精度を追跡できます。ただし、このシナリオでは、DataRobotにベースライン値はありません。 選択されたパーティション列はTVHのいずれかの値のみを含む必要があります。

  4. 割り当てるをクリックします。

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

    トレーニングデータの割り当てに失敗すると、新しいカスタムモデルバージョンのデータセットの下にエラーメッセージが表示されます。 このエラーが存在する間は、影響を受けるバージョンをデプロイするモデルパッケージを作成できません。 エラーを解決してモデルパッケージをデプロイするには、トレーニングデータを再割り当てして新しいバージョンを作成するか、新しいバージョンを作成してからトレーニングデータを割り当てます。

予測リクエストでの列フィルターの無効化

本機能の提供について

Configurable column filtering is off by default. この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。

機能フラグ:カスタムモデルの予測で特徴量のフィルターを有効にする

Now available for preview, you can enable or disable column filtering for custom model predictions. The filtering setting you select is applied in the same way during custom model testing and deployment. By default, the target column is filtered out of prediction requests and, if training data is assigned, any additional columns not present in the training dataset are filtered out of any scoring requests sent to the model. Alternatively, if the prediction dataset is missing columns, an error message appears to notify you of the missing features.

You can disable this column filtering when you assemble a custom model. In the Model workshop, open a custom model to the Assemble tab, and, in the Settings section, under Column filtering, clear Exclude target column from requests (or, if training data is assigned, clear Exclude target and extra columns not in training data):

As with other changes to a model's environment, files, or settings, changing this setting creates a new minor custom model version.

The following behavior is expected when Exclude target column from requests / Exclude target and extra columns not in training data is enabled or disabled:

Set to Behavior
有効
  • Extra columns: The target column and any extra columns (not present in the training dataset) are excluded from the prediction request.
  • Missing columns: An error message appears to notify you of missing features.
無効
  • Extra columns: The columns submitted in the prediction request are not modified.
  • Missing columns: No error message appears to notify you of missing features.

備考

Predictions made with DRUM are not filtered; all columns are included in each prediction request.

カスタムモデルのリソース設定を行う

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

リソースの割り当てとアクセスを設定するには:

  1. アセンブルタブの設定セクションで、リソースの横にある(編集をクリックします。

  2. リソース設定の更新ダイアログボックスで、次の設定を行います。

    リソース設定へのアクセス

    ユーザーはモデルに割り当てられる最大メモリーを決定できますが、追加のリソース設定を行えるのは 組織管理者だけです。

    設定 説明
    メモリー カスタム推論モデルに割り当てることのできるメモリーの最大量を決定します。 設定された最大値以上のメモリーが割り当てられたモデルはシステムによって排除されます。 この問題がテスト中に発生した場合、テストは失敗としてマークされます。 モデルのデプロイ時に発生した場合は、Kubernetesによってモデルが自動的に再起動されます。
    レプリカ カスタムモデルの実行時にワークロードのバランスを取るために、並行して実行するレプリカの最大数を設定します。 レプリカの数を増やしても、カスタムモデルの速度に依存するため、パフォーマンスが向上しない場合があります。
    ネットワークアクセス プレミアム機能。 カスタムモデルのエグレストラフィックを設定します。
    • パブリック:デフォルト設定。 カスタムモデルは、パブリックネットワーク内の任意の完全修飾ドメイン名(FQDN)にアクセスして、サードパーティのサービスを利用できます。
    • なし:カスタムモデルはパブリックネットワークから分離されているため、サードパーティのサービスにはアクセスできません。
    パブリックネットワークアクセスが有効な場合、カスタムモデルはDATAROBOT_ENDPOINTおよびDATAROBOT_API_TOKEN環境変数を使用できます。 これらの環境変数は、 ドロップイン環境または DRUM上に構築された カスタム環境を使用するすべてのカスタムモデルで使用できます。
    バランスの悪いメモリー設定

    DataRobotでは、必要な場合にのみリソース設定を行うことをお勧めします。 以下のメモリー設定では、Kubernetesメモリーの「制限」(メモリーの最大許容量)が設定されます。ただし、メモリーの「リクエスト」(メモリーの最小許容量)を設定することはできません。 このため、「制限」値をデフォルトの「リクエスト」値より大きく設定することができます。 メモリーの「リクエスト」と増加した「制限」によるメモリー許容量との不均衡が生じ、カスタムモデルがメモリー使用量の上限を超える場合があります。 その結果、カスタムモデルの頻繁な削除や再起動により、カスタムモデルが実行時に不安定になる場合があります。 メモリー設定を増やす必要がある場合は、組織レベルで「リクエスト」を増やすと、この問題を軽減できます。詳細については、DataRobotサポートまでお問い合わせください。

    プレミアム機能:ネットワークアクセス

    _新しく_作成したカスタムモデルはすべて、デフォルトでパブリックネットワークにアクセスできます。ただし、2023年10月より前に作成されたカスタムモデルの新しいバージョンを作成した場合、その新しいバージョンは、パブリックアクセスを有効にする(アクセスをパブリックに設定する)まで、パブリックネットワークから隔離された(アクセスがなしに設定された)ままです。 パブリックアクセスを有効にすると、後続の各バージョンは、前のバージョンのパブリックアクセス定義を継承します。

  3. カスタムモデルのリソース設定を行ったら、保存をクリックします。

    編集したリソース設定が適用された新しいバージョンのカスタムモデルが作成されます。

    凍結バージョン

    リソース設定を更新できるのは、最新のモデルバージョンに限ります。 さらに、最新のモデルバージョンが登録またはデプロイされている場合は、更新されたリソース設定を適用できず、変更を保存しようとすると、「凍結バージョン」の警告が表示されます。 この警告が表示された場合は、カスタムモデルバージョンを新規作成し、リソース設定を更新してから、正しい設定でモデルを登録してデプロイします。

Select a resource bundle

本機能の提供について

Custom model resource bundles are available for preview and off by default. この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。

Feature flags: Enable Resource Bundles, Enable Custom Model GPU Inference

You can select a Resource bundle—instead of Memory—when you assemble a model and configure the resource settings. Resource bundles allow you to choose from various CPU and GPU hardware platforms for building and testing custom models. In a custom model's Settings section, open the Resources settings to select a resource bundle. In this example, the model is built to be tested and deployed on an NVIDIA A10 device.

Click Edit to open the Update resource settings dialog box and, in the resource Bundle field, review the CPU and NVIDIA GPU devices available as build environments:

DataRobot can deploy models onto any of the following NVIDIA resource bundles:

バンドル GPU VRAM CPU RAM 説明
GPU - S 1 x NVIDIA T4 16GB 4 16GB Recommended for general deep learning workloads, or any machine learning workload that benefits from GPU acceleration.
GPU - M 1 x NVIDIA T4 16GB 8 32GB
GPU - L 1 x NVIDIA A10 24GB 8 32GB Recommended for running small LLMs.

Along with the NVIDIA GPU resource bundles, this feature introduces custom model environments optimized to run on NVIDIA GPUs. When you assemble a custom model, you define a Base Environment. The model in the example below is running on an [NVIDIA] Triton Inference Server:

For more information on the DataRobot integration with NVIDIA, see Generative AI with NeMo Guardrails on NVIDIA GPUs.


更新しました April 8, 2024