自動再トレーニング(Continuous AI)¶
本機能の提供について
デプロイの自動再トレーニングはデフォルトではオフになっています。DataRobot MLOpでこの機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。
機能フラグ:MMMデプロイの再トレーニングを有効化
DataRobotは、大幅な手動での作業なしでデプロイ後のモデルのパフォーマンスを維持するために、デプロイの自動再トレーニング機能を提供します。AIカタログに登録された再トレーニングデータセットを指定すると、1つのデプロイに対して最大5つの再トレーニングポリシーを定義できます。この再トレーニングポリシーでは、トリガー、モデリングの戦略、モデリングの設定、置換アクションの設定ができます。トリガーされると、再トレーニングによりこれらの設定に基づいて新しいモデルが作成され、そのモデルのプロモーションを検討するように通知されます。
デプロイレベルの再トレーニング設定¶
デプロイの再トレーニング設定を変更するには、デプロイをクリックして、デプロイを選択し、設定 > チャレンジャーと再トレーニングタブに移動します。再トレーニング設定を編集するには、デプロイのオーナー権限が必要です。ユーザー権限を持っている場合は、デプロイの再トレーニング設定を表示できます。
再トレーニングユーザーの選択¶
スケジュールされた再トレーニングポリシーが実行されると、指定されたユーザーの権限とリソースが使用されます(手動でトリガーされたポリシーでは、トリガーしたユーザーのリソースが使用されます)。 ユーザーには以下が必要です。
- 再トレーニングデータについて、データを使用し、スナップショットを作成する権限。
- デプロイのためのオーナー権限。
再トレーニングポリシーにより要求されるモデルのトレーニングには、モデリングワーカーが必要です。ワーカーは再トレーニングユーザーのプールから抽出され、それぞれの再トレーニングポリシーは、再トレーニングユーザーの総ワーカー数の50%を要求します。たとえば、ユーザーの最大モデリングワーカー数が4の場合、再トレーニングポリシーAがトリガーすると、ワーカー数は2で実行されます。再トレーニングポリシーBがトリガーすると、こちらもワーカー数が2で実行されます。仮に、ポリシーAとBが実行中に、ポリシーCがトリガーすると、実行中である2つのポリシーとワーカーを共有します。
インタラクティブユーザーのモデリング要求は、再トレーニング実行よりも優先されないため、注意してください。ユーザーのワーカーが再トレーニングに適用されていて、そのユーザーが新規のモデリング実行(手動またはオートパイロット)を開始すると、ワーカーは再トレーニングの実行と共有されます。このため、DataRobotでは、ワーカー数を制限したユーザーを作成し、このユーザーを再トレーニングジョブに指名することを推奨します。
予測環境を選択¶
チャレンジャー分析では、最初にチャンピオンモデルで行った予測を、チャレンジャーモデルで再生する必要があります。DataRobotでは、定義されたスケジュールと予測環境を使って、予測の再生を行います。再トレーニングの結果、新しいチャレンジャーが追加されると、そのチャレンジャーは割り当てられた予測環境を使って、再生されたリクエストから予測を生成します。チャレンジャーが使用している予測環境は、後でチャレンジャータブから変更できます。
モデルがチャレンジャーとして動作している間は、DataRobotの予測環境にしかデプロイできません。ただし、チャンピオンモデルはチャレンジャーとは異なる予測環境を使用することができます。つまり、DataRobot環境(たとえば、リソースの競合を避けるために「本番」使用と記された環境)か、リモート環境(AWS、OpenShift、GCPなど)のいずれかです。モデルがチャレンジャーからチャンピオンに昇格する場合は、前のチャンピオンの予測環境を使用する可能性があります。
再トレーニングデータの提供¶
デプロイ上のすべての再トレーニングポリシーが、同じAIカタログのデータセットを参照します。データセットを登録するには、デプロイの設定 > データタブに移動し、学習セクションにデータセットを追加します。または、チャレンジャーと再トレーニングタブからトレーニングデータを直接追加できます。
再トレーニングポリシーがトリガーされると、DataRobotは、最新バージョンのデータセットを使用するか(アップロードされたAIカタログアイテムの場合)、元になるデータソースから新しいスナップショットを作成して使用します (データ接続またはURLを使用するカタログアイテムの場合) 。たとえば、カタログアイテムがSpark SQLクエリーを使用する場合、再トレーニングポリシーがトリガーされると、そのクエリーが実行され、結果として得られた行は(パーティショニングを含む)モデリング設定への入力として使用されます。
元になるデータが接続されたAIカタログアイテムが、すでに最大数(100)のスナップショットを持っている場合、再トレーニングポリシーは、新しいスナップショットを取る前に最も古いスナップショットを削除します。
再トレーニングポリシー¶
再トレーニングポリシーでは、その4つの要素(再トレーニングトリガー、モデル選択戦略、モデリング設定、置換アクション)のそれぞれについて1つの選択が必要です。
トリガー¶
再トレーニングポリシーは、手動で、または次の3種類の条件に対応してトリガーすることができます。
-
自動スケジュール:再トレーニングポリシーが自動的にトリガーされる時間を選択します。3か月に1回から毎日までの範囲で選択することができます。
-
ドリフトステータス:デプロイのデータドリフトのステータスが、選択したレベルまで低下すると、再トレーニングを開始します。
-
精度ステータス:デプロイの精度ステータスが良好な状態から選択したレベル(緑色から黄色、黄色から赤色など)に変化した場合にトリガーされます。
データドリフトおよび精度トリガーは、設定 > モニタリングタブで設定された指標の通知に基づくことに注意してください。
一度開始された再トレーニングポリシーは、完了するまで再トリガーできません。たとえば、再トレーニングポリシーを1時間ごとに実行する設定で、完了に1時間以上かかる場合、次にスケジュールされているトリガーでやり直したり、キューに入れたりするのではなく、最初の実行を完了させます。各再トレーニングポリシーで選択できるトリガー条件は1つだけです。
モデルの選択¶
再トレーニングポリシーのモデリング戦略を選択します。DataRobotが更新されたデータで新しいモデルを構築する方法を制御します。
チャンピオンと同じブループリント:新しいデータスナップショットでのトリガー時に、チャンピオンモデルと同じブループリントに適合します。チャンピオンのハイパーパラメーター検索および戦略が、ブループリントの各タスクに使用されます。
オートパイロット(推奨):新しいデータスナップショットでオートパイロットを実行し、結果として得られる推奨モデルを使用します。DataRobotの3つのモデリングモード(クイック、オートパイロット、および包括)から選択します。
選択すると、追加オートパイロットオプションも切り替えることができます。
- スコアリングコードをサポートするブループリントのみを含める
- パフォーマンスが最も高いモデルからアンサンブルを作成する
- ターゲットリーケージを削除した特徴量セットに対してオートパイロットを実行する
- SHAP値をサポートするモデルのみ含める
モデリング戦略¶
再トレーニングのためのモデリング戦略では、DataRobotでの新しいオートパイロットプロジェクトの設定方法を定義します。特徴量、最適化指標、パーティショニング戦略、サンプリング戦略、加重などの 詳細設定 を定義して、特定の問題に対するモデルの構築方法をDataRobotに指示します。
(トリガーが開始されたときに)チャンピオンモデルが使用するのと同じ特徴量を再利用することも、DataRobotが新しいデータから有用な特徴量を識別できるようにすることもできます。
デフォルトでは、DataRobotは、チャンピオンモデル(トリガー開始時)と同じ設定を再利用します。また、プロジェクト開始画面で使用可能なオプションのサブセットから選択して、新しいパーティショニング設定を定義することもできます。
モデルアクション¶
各ポリシーに3つのアクションの内いずれかを適用します。これにより、再トレーニングポリシーの実行が成功したときに生成されるモデルの処理が決定されます。すべてのシナリオで、デプロイオーナーに新しいモデルの作成について通知され、モデルレジストリにモデルパッケージとして新しいモデルが追加されます。
-
チャレンジャーモデルとして新しいモデルを追加:デプロイの5つのチャレンジャーモデルスロットに空きがある場合(デフォルト)、このアクションは、新しいモデルをチャレンジャーモデルとして追加します。このポリシーによって以前に追加されたモデルが置き換えられます。スロットがなく、このポリシーによって以前にチャレンジャーが追加されていない場合、モデルはモデルレジストリにのみ保存されます。さらに、モデルをチャレンジャーとして追加できないため、再トレーニングポリシーの実行が失敗します。
-
新しいモデルとの置換を開始:このオプションは高頻度(毎日など)の置換に適しており、新しいモデルが作成されるとすぐに、モデルの置換を自動的に要求します。この置換は、オーナーと重要度に応じて、定義済みの承認ポリシー、および特定のデプロイへのそれらポリシーの適用に従います。その承認ポリシーによっては、置換が行われる前に、レビュアーが手動で承認する必要があります。
-
モデルを保存:この場合、モデルをモデルレジストリに追加する以外のアクションは実行されません。
再トレーニング履歴¶
成功または失敗にかかわらず、トレーニングポリシーの過去の実行をすべて表示できます。各実行には開始時刻、終了時刻、期間が含まれ、実行が成功した場合は、結果として得られたプロジェクトやモデルパッケージへのリンクが含まれます。各プロジェクトのDataRobot推奨モデルのみがデプロイに自動的に追加されますが、プロジェクトのリーダーボードを探索して、代替モデルを探索または構築することができます。
なお、実行中のポリシーは、削除や中断ができません。再トレーニングワーカーと組織に十分なワーカーがある場合、同じデプロイで複数のポリシーを同時に実行することができます。
時系列の再トレーニング¶
時系列デプロイは再トレーニングをサポートしますが、特徴量の抽出と削減(FEAR)と呼ばれる時系列プロジェクト特有の特徴量生成プロセスにより、新たな特徴量を抽出し、抽出した特徴量のセットを縮小するため、ポリシーを設定する際に制限があります。FEARは、データに対してラグや移動平均などの特徴量を生成します。
時系列モデルの選択¶
チャンピオンと同じブループリント:再トレーニングポリシーは、チャンピオンモデルのブループリントと同じエンジニアリング済みの特徴量を使用します。新しいFEAR特徴量の検索は、チャンピオンのブループリントでキャプチャされない新しい特徴量を生成できる可能性があるため、発生しません。
オートパイロット:同じブループリントの代わりにオートパイロットを使用する場合、FEARが発生し、新しい特徴量を生成できます。ただし、包括的なオートパイロットモードはサポートされていません。また、時系列のオートパイロットは、スコアリングコードやSHAP値をサポートするブループリントおよびモデルのみを含めるオプションには対応していません。
時系列のモデリング戦略¶
チャンピオンと同じブループリント:このポリシーでは、チャンピオンモデルと同じ特徴量セットと高度なモデリングオプションを使用します。オーバーライドできる唯一のオプションは使用済みカレンダーです。これは、たとえば、新しい祝日やイベントが更新されたカレンダーに含まれている場合、再トレーニング時に考慮する必要があるためです。
オートパイロット:オートパイロットの場合、FEARの結果として生成される有用な特徴量セットを使用する必要があります。オートパイロットがこのプロセスを説明するため、モデルと同じ特徴量セットを使用できません。ただし、チャンピオンのプロジェクトから追加モデリングオプションをオーバーライドできます。
オプション | 説明 |
---|---|
指数トレンドとして扱う | ターゲット特徴量に対数変換を適用します。 |
指数加重移動平均 | EWMAにスムージング係数を設定します。 |
差分を適用 | モデリングの前に差分を適用して、ターゲットを静止させるようにDataRobotを設定します。 |
カレンダーを追加する | 注意が必要な日付やイベントを指定するイベントファイルのアップロードまたはカタログからの追加、もしくは生成を行います。 |
再トレーニングに関する注意事項¶
本機能の提供について
自動再トレーニングは、AutoMLとMLOpsのライセンスを持つお客様のみが利用できます。MLOpを試すには、DataRobot担当者に連絡してください。
パブリックプレビュー期間中、自動再トレーニングにいくつかの制限が適用されます。
- 教師なしモデルの自動再トレーニングはサポートされていません。
- 特徴量探索を使用するデプロイモデルの自動再トレーニングはサポートされていません。
- 「同じブループリント」を使用する戦略では、チャンピオンモデルと同じ(「フローズン」)ハイパーパラメーターを使用しません。代わりに、チャンピオンと同じブループリントとハイパーパラメーター検索を使用します。
- 再トレーニングは、1デプロイにつき24時間で3回までしか行えません。
デプロイに再トレーニングポリシーを実装する典型的なパターンとして、以下のものが考えられます。
- 高頻度(毎週など)で同じブループリントを利用する場合。これは、モデリング選択を安定化しながら最新のデータを使用できます。
- 低頻度(毎週、毎月など)で、オートパイロットの新規実行に基づく場合。パフォーマンスの最適化を目的として、別のモデリング手法を検討します。スコアリングコード対応モデルのみに限定してデプロイすることも可能です。また、デプロイ上の注意点によりパフォーマンスに差が生じているかどうか判断するために、最大精度のモデルを用意しておくこともできます。
- ドリフトで1つ以上の戦略がトリガーされる場合。状況の変化に応じて、代替モデルを迅速に準備して評価します。
- 実測値に素早くアクセスできるユースケースでは、精度をトリガーとしたオートパイロット戦略を採用します。この戦略では、チャンピオンモデルのパフォーマンスが低下した後に、より優れたパフォーマンスを発揮する可能性のある代替モデルを検索します。
- 同じブループリントとオートパイロット戦略に対して、最初はさまざまな時間枠で実験を行うとよいでしょう。たとえば、毎晩および毎週の両方で同じブループリント戦略を実行することを検討してください。チャレンジャーフレームワークは、パフォーマンスを簡単に比較できるようにし、再トレーニング戦略を経験的に評価し、さまざまなユースケースと時間に合わせてカスタマイズできます。
時系列再トレーニングで考慮すべき事項¶
-
チャンピオンモデルからオプションを再利用する場合や、チャンピオンモデルのプロジェクトオプションをオーバーライドする場合、以下を考慮してください。
-
チャンピオンのプロジェクトがホールドアウト開始日とホールドアウト終了日を使用する場合、再トレーニングプロジェクトはこれらの設定を使用しませんが、ホールドアウト期間(これらの2つの日付の差異)を使用します。
-
チャンピオンプロジェクトでホールドアウト期間をホールドアウト開始日またはホールドアウト終了日とともに使用した場合、ホールドアウト開始/終了日は削除され、ホールドアウト期間が再トレーニングプロジェクトで使用されます。新しいホールドアウト開始日が計算されます(再トレーニングデータセットの終了日からホールドアウト期間を引く)。
-
-
バックテストへのカスタマイズは保持されません。再トレーニング時間では、トレーニング開始日および終了日は、チャンピオンがトレーニングされたときに使用されるバックテスト開始日および終了日と異なる可能性が高くなります。バックテストの数は保持されることに注意してください。