MLOpsと予測(V9.1)¶
2023年7月31日
DataRobot MLOps v9.1リリースには、以下に示す多くの新機能が含まれています。 リリース9.1のその他の詳細については、データとモデリングおよびコードファーストに関するリリースのお知らせをご覧ください。
新機能と機能強化¶
目的別にグループ化された機能
新しい一般提供機能¶
デプロイ作成ワークフローの再設計¶
一般提供機能になりました。デプロイ作成ワークフローが刷新され、より整理された直感的なインターフェイスを提供します。 新しいデプロイを作成する場所(リーダーボード、モデルレジストリ、デプロイインベントリ)やアーティファクトのタイプ(DataRobotモデル、カスタム推論モデル、リモートモード)に関係なく、この新しいワークフローに移動します。 新たな設計では、提供したデータに基づいて、現在のデプロイの機能がわかりやすくまとめられています。設定と機能を論理的にグループ化して、ユーザーが機能を有効にしたときにすぐに確認したり、必須フィールドへの入力や必要な設定が行われていない場合にガイダンスを提供したりします。 新しいサイドバーには、デプロイレビューポリシーについての情報、デプロイへの課金の詳細(組織の設定による)、デプロイ情報ドキュメントへのリンクに加えて、デプロイでの予測に使用されているモデルに関する詳細が表示されます。
詳しくはデプロイの設定のドキュメントをご覧ください。
デプロイ設定を一新¶
新規デプロイ設定ワークフローは、各MLOps機能に必要なオプションを、その機能のデプロイタブに直接提供することで、デプロイ設定エクスペリエンスを強化します。 この新しい組織では、改善されたツールチップとドキュメントへの追加リンクも提供して、デプロイに必要な機能を有効化するのに役立ちます。
新しいワークフローでは、デプロイ設定タスクのカテゴリーを以下のタブで専用の設定に分けています。
デプロイ > 設定タブが、使用非推奨になりました。 使用非推奨期間中、新規設定ページへのリンクを示す設定タブの警告が表示されます。
さらに、設定ページを含む各デプロイタブで、設定アイコンをクリックして、以下の必要な設定オプションにアクセスできます。
詳しくはデプロイ設定のドキュメントをご覧ください。
カスタムモデルのためのGitHub Actions¶
一般提供機能になりました。カスタムモデルアクションは、GitHubのCI/CDワークフローを通じて、DataRobotのカスタム推論モデルとそれに関連するデプロイを管理します。 これらのワークフローでは、モデルやデプロイを作成または削除したり、設定を変更したりできます。 YAMLファイルで定義されたメタデータにより、カスタムモデルのアクションによるモデルとデプロイの制御が可能になります。 このアクションのほとんどのYAMLファイルは、カスタムモデルのリポジトリ内の任意のフォルダーに配置できます。 YAMLは、これらのワークフローで使用されるエンティティが含まれているかどうかを判断するために、検索、収集、スキーマに対するテストが行われます。 詳細については、 custom-models-actionリポジトリを参照してください。
クイックスタートの例では、 datarobot-user-modelリポジトリからの Python Scikit-Learnモデルテンプレートを使用します。 ワークフローを設定し、DataRobotでモデルとデプロイを作成した後、モデルのバージョン情報とパッケージ情報、およびデプロイの概要からコミット情報にアクセスできます。
パブリックプレビュー機能のドキュメントをご覧ください。
カスタムモデルのバージョンにトレーニングデータを割り当てる¶
カスタムモデルのデプロイで特徴量ドリフトの追跡を有効にするには、トレーニングデータを追加する必要があります。 現在、トレーニングデータを追加すると、そのデータはカスタムモデルに直接割り当てられます。 その結果、そのモデルのすべてのバージョンで同じデータが使用されます。 このリリースでは、カスタムモデルへの直接のトレーニングデータ割り当ては、使用非推奨となり、削除が予定され、各カスタムモデルバージョンへのトレーニングデータ割り当てに置き換えられます。 下位互換性をサポートするために、使用非推奨トレーニングデータの割り当て方法は、新規作成されたモデルであっても、使用非推奨期間中のデフォルトのままとなります。
カスタムモデルのバージョンにトレーニングデータを割り当てるには、モデルを変換する必要があります。 アセンブルタブで、モデルバージョン用のトレーニングデータのアラートを見つけて、恒久的に変換をクリックします。
注意
モデルのトレーニングデータの割り当て方法を変更することは、一方向の操作です。 元に戻すことはできません。 変換後は、モデルレベルでトレーニングデータを割り当てることはできません。 この変更はUIおよびAPIに適用されます。 「モデルごと」 のトレーニングデータの割り当てに基づく自動化を組織内で行っている場合は、モデルを変換する前に、関連する自動化を更新して新しいワークフローをサポートする必要があります。 別の方法として、新しいカスタムモデルを作成して 「バージョンごと」 のトレーニングデータの割り当て方法に変更し、自動化に必要なモデルで使用非推奨の 「モデルごと」 の方法を維持することもできます。ただし、機能のギャップを避けるために、使用非推奨のプロセスが終了する前に自動化を更新する必要があります。
モデルを変換したら、カスタムモデルのバージョンにトレーニングデータを割り当てることができます。
-
モデルにトレーニングデータがすでに割り当てられている場合、データセットセクションには、既存のトレーニングデータセットに関する情報が含まれます。 既存のトレーニングデータを置き換えるには、編集アイコン()をクリックします。 トレーニングデータを変更ダイアログボックスで、削除アイコン()をクリックして既存のトレーニングデータを削除し、新しいトレーニングデータをアップロードします。
-
モデルバージョンにトレーニングデータが割り当てられていない場合、割り当てをクリックし、トレーニングデータを追加ダイアログボックスで、トレーニングデータをアップロードします。
新しいカスタムモデルのバージョンを作成するときに、前のバージョンのトレーニングデータを保持することができます。 この設定は、デフォルトで有効化しており、トレーニングデータを、現在のバージョンから新規カスタムモデルバージョン移動します。
詳細については、カスタムモデルにトレーニングデータを追加するとカスタムモデルのバージョンを追加するを参照してください。
予測の監視ジョブ¶
一般提供機能になりました。監視ジョブの定義により、DataRobotの外部で実行されているデプロイを監視し、特徴量データ、予測値、実測値を保存することができます。 たとえば、Snowflakeに接続して、関連するSnowflakeテーブルから元データを取得し、監視目的でDataRobotにデータを送信する監視ジョブを作成することができます。 この機能の一般提供版では、大規模監視が有効な外部モデルに対して、予測監視ジョブ専用のAPIと集計使用機能を提供します。
詳しくは、予測の監視ジョブをご覧ください。
スコアリングコード用のApache Spark API¶
スコアリングコード用のSpark APIライブラリは、DataRobotのスコアリングコードJARをSparkクラスターに統合します。 これにより、定型コードを記述したり、クラスパスに追加の依存関係を含めたりすることなく、PySparkとSpark Scalaでスコアリングコードを簡単に使用できるようになり、同時にAPIを介したスコアリングとデータ転送のパフォーマンスも向上しました。
このライブラリはPySpark APIおよびSpark Scala APIとして提供されています。 以前のバージョンでは、スコアリングコード用のSpark APIは、複数のライブラリで構成され、それぞれが特異なSparkバージョンをサポートしていました。 これからは、サポートされているすべてのSparkバージョンが1つのライブラリに含まれます。
-
スコアリングコード用のPySpark APIは、PyPIでリリースされた
datarobot-predict
Pythonパッケージに含まれています。 PyPIプロジェクトの説明には、ドキュメントと使用例が含まれています。 -
スコアリングコード用のSpark Scala APIはMavenで
scoring-code-spark-api
として公開されており、APIリファレンスに説明があります。
詳しくは、スコアリングコード用のApache Spark APIをご覧ください。
Apache Airflow用のDataRobotプロバイダー¶
一般提供機能になりました。DataRobot MLOpsとApache Airflowの機能を組み合わせることで、モデルの再トレーニングと再デプロイのための信頼性の高いソリューションを実装できます。たとえば、モデルの再トレーニングと再デプロイは、スケジュールに従って、モデルのパフォーマンスが低下したときに、または新しいデータが存在するときにパイプラインをトリガーするセンサーを使用して行うことができます。 Apache Airflow用のDataRobotプロバイダーは、 GitHubのパブリックリポジトリで利用可能なソースコードから構築されたPythonパッケージであり、 PyPi(Pythonパッケージインデックス)で公開されています。 これは、 Astronomerレジストリにも一覧表示されています。 この連携では、REST APIを介してDataRobotインスタンスと通信する DataRobot Python APIクライアントが使用されます。
詳細は、 Apache AirflowのDataRobotプロバイダークイックスタートガイドを参照してください。
新しいプレビュー機能¶
カスタム指標の監視ジョブ¶
プレビュー版の機能です。監視ジョブの定義により、DataRobotの外部から計算済みのカスタム指標値を、 カスタム指標タブで定義された指標に取り込むことができ、外部データソースを使用したカスタム指標をサポートします。 たとえば、Snowflakeに接続する監視ジョブを作成し、関連するSnowflakeテーブルからカスタム指標データを取得し、DataRobotにデータを送信できます。
プレビュー機能のドキュメントをご覧ください。
機能フラグ: カスタム指標のジョブ定義を有効にする
予測値と実測値の適時性インジケーター¶
デプロイには、 サービスの正常性、 データドリフト、 精度など、デプロイの全般的な正常性を定義するいくつかのステータスがあります。 これらのステータスは、最新の使用可能なデータに基づいて計算されます。 24時間以上の間隔で行われたバッチ予測に依存するデプロイの場合、この方法では、 デプロイインベントリの予測正常性インジケーターのステータスがグレー/不明になることがあります。 プレビュー版の機能です。これらのデプロイの正常性インジケーターは、最後に計算された正常性の状態を保持し、古いデータに基づいているときはそれを明示する適時性ステータスインジケーターとともに表示されます。 状況に応じて、デプロイに適した適時性の間隔を決定できます。 デプロイの使用状況 > 設定タブで適時性の追跡を有効にすると、 使用状況タブと デプロイインベントリで適時性インジケーターを表示できます。
予測値の適時性と実測値の適時性の列を表示します。
予測値の適時性と実測値の適時性のタイルを表示します。
ステータスに加えて、適時性タイルの更新時間を確認できます。
備考
使用状況タブとデプロイインベントリのインジケーターに加えて、適時性のステータスが赤/失敗に変わると、メールまたは 通知ポリシーで設定されたチャネルを通じて通知が送信されます。
詳しくはドキュメントをご覧ください。
機能フラグ: デプロイの適時性統計インジケーターを有効にします
モデルレジストリでのバージョン管理のサポート¶
モデルレジストリは、DataRobotで使用されるさまざまなモデルの組織的なハブです。ここでは、デプロイ可能なモデルパッケージとしてモデルにアクセスできます。 プレビュー版の機能です。モデルレジストリ > 登録済みのモデルページでは、モデルをさらに整理することができます。
このページでは、モデルパッケージを登録済みモデルにグループ化して、解決するビジネス上の問題に基づいて分類できます。 登録済みモデルには、以下を含めることができます。
-
DataRobotモデル、カスタムモデル、および外部モデル
-
チャレンジャーモデル(チャンピオンと共に)
-
自動的に再トレーニングされたモデル。
登録済みモデルを追加した後には、検索、フィルター、並び替えを行うことができます。 登録済みモデル(およびそのモデルに含まれるバージョン)を他のユーザーと共有することもできます。
プレビュー機能のドキュメントをご覧ください。
機能フラグ: モデルレジストリでのバージョン管理サポートを有効にする
キー値でコンプライアンスドキュメントを拡張する¶
プレビュー版の機能です。コンプライアンスドキュメントのテンプレートで参照するキー値を作成できます。 キー値の参照を追加すると、生成されたテンプレートに関連データが含まれるため、コンプライアンスドキュメントを完成させるために必要な手動編集が最小限に抑えられます。 モデルレジストリのモデルに関連付けられたキー値は、登録されたモデルパッケージに関する情報を含むキーと値のペアです。
カスタムコンプライアンスドキュメントのテンプレートを作成する際に、文字列、数値、ブール値、画像、データセットのキー値を含めることができます。
そして、サポートされているキー値を参照するカスタムテンプレートを使用してモデルパッケージのコンプライアンスドキュメントを生成すると、DataRobotは関連するモデルパッケージから一致する値を挿入します。たとえば、キー値に画像が添付されている場合、その画像が挿入されます。
プレビュー機能のドキュメントをご覧ください。
機能フラグ:拡張コンプライアンスドキュメントを生成する
DataRobotモデルレジストリのMLflowインテグレーション¶
DataRobotのMLflow連携のプレビューリリースにより、MLflowからモデルをエクスポートしてDataRobot モデルレジストリにインポートし、MLflowモデルのトレーニングパラメーター、指標、タグ、アーティファクトから キー値を作成します。 インテグレーションのコマンドラインインターフェイスを使用して、エクスポートおよびインポート処理を実行できます。
DR_MODEL_ID="<MODEL_PACKAGE_ID>"
env PYTHONPATH=./ \
python datarobot_mlflow/drflow_cli.py \
--mlflow-url http://localhost:8080 \
--mlflow-model cost-model \
--mlflow-model-version 2 \
--dr-model $DR_MODEL_ID \
--dr-url https://app.datarobot.com \
--with-artifacts \
--verbose \
--action sync
プレビュー機能のドキュメントをご覧ください。
機能フラグ:拡張コンプライアンスドキュメントを生成する
AzureMLでのスコアリングコードの自動デプロイと置換¶
現在、プレビュー機能として提供されており、DataRobotが管理するAzureMLの予測環境を作成し、AzureMLにDataRobotのスコアリングコードをデプロイすることができます。 DataRobotによる管理オプションを有効にすると、AzureMLに外部デプロイされたモデルは、スコアリングコードの自動置換を含むMLOps管理機能を利用できます。
AzureMLの予測環境を作成したら、モデルレジストリからその環境にスコアリングコード対応モデルをデプロイできます。
プレビュー機能のドキュメントをご覧ください。
機能フラグ: AzureMLでのスコアリングコードの自動デプロイと置換を有効にする
非構造化モデルに関するMLOpsレポート¶
プレビュー版の機能です。カスタムモデルワークショップで作成し、ターゲットタイプが非構造化(連続値)、非構造化(二値)、または非構造化(多クラス)であるPythonカスタム推論モデルから、MLOpsによる統計を報告できます。
この機能を有効にすると、 非構造化カスタム推論モデルを構築する際に、 Pythonコードで新たな非構造化モデルレポーティング方法を使用して、デプロイ統計と予測データをMLOpsに報告できます。 MLOpsのレポートを使用した非構造化Pythonカスタムモデルの例については、DataRobotユーザーモデルリポジトリを参照してください。
プレビュー機能のドキュメントをご覧ください。
機能フラグ: 非構造化モデルからのMLOpsレポートを有効にする
記載されている製品名および会社名は、各社の商標または登録商標です。 製品名または会社名の使用は、それらとの提携やそれらによる推奨を意味するものではありません。