モデルをトレーニングする方法は、大きく分けて次の 2 つです。
- 静的トレーニング(オフライン トレーニングとも呼ばれます)とは、モデルを 1 回だけトレーニングすることを意味します。その後、そのトレーニング済みモデルをしばらく提供します。
- 動的トレーニング(オンライン トレーニングとも呼ばれます)とは、モデルを継続的に、または少なくとも頻繁にトレーニングすることを意味します。通常は、最近トレーニングされたモデルを提供します。
表 1. 主なメリットとデメリット。
静的トレーニング | 動的トレーニング | |
---|---|---|
メリット | シンプル。モデルの開発とテストは 1 回だけ行う必要があります。 | 適応性が向上。モデルは、特徴量とラベルの関係の変化に対応します。 |
デメリット | 古い場合もあります。特徴とラベルの関係が時間とともに変化すると、モデルの予測精度が低下します。 | 作業量が増える。新しいプロダクトの構築、テスト、リリースを常に行う必要があります。 |
データセットが時間の経過とともに変化しない場合は、動的トレーニングよりも作成と維持が安価な静的トレーニングを選択します。ただし、海面のように一定と思われる特徴を持つデータセットでも、時間の経過とともに変化する傾向があります。まとめ: 静的トレーニングでも、入力データに変更がないかモニタリングする必要があります。
たとえば、ユーザーが花を購入する確率を予測するようにトレーニングされたモデルについて考えてみましょう。時間的な制約があるため、モデルは 7 月と 8 月の花の購入行動のデータセットを使用して 1 回だけトレーニングされます。モデルは数か月間正常に動作しますが、バレンタイン デーの時期になると、花の贈り物に関するホリデー シーズン中のユーザー行動が大幅に変化するため、予測が大きく外れます。
静的トレーニングと動的トレーニングの詳細については、ML プロジェクトの管理コースをご覧ください。
演習: 理解度を確認する
静的(オフライン)トレーニングについて述べている次の記述のうち、正しいものを 2 つ選択してください。
新しいデータが到着すると、モデルは最新の状態に保たれます。
実際には、オフラインでトレーニングする場合、モデルは新しいデータが届いたときに組み込む方法がありません。学習する分布が時間とともに変化すると、モデルが古くなる可能性があります。
モデルを本番環境に適用する前に確認できます。
はい。オフライン トレーニングでは、モデルを本番環境に導入する前に、モデルのパフォーマンスを確認する十分な機会があります。
オフライン トレーニングでは、オンライン トレーニングよりもトレーニング ジョブのモニタリングが少なくなります。
一般に、オフライン トレーニングではトレーニング時のモニタリング要件が比較的低く、多くの本番環境の考慮事項から解放されます。ただし、モデルのトレーニング頻度が高いほど、モニタリングに必要な投資は高くなります。また、コード(およびその依存関係)の変更がモデルの品質に悪影響を与えないように、定期的に検証する必要があります。
推論時に行う必要がある入力データのモニタリングはほとんどありません。
直感に反して、サービング時に入力データをモニタリングする必要があります。入力分布が変更されると、モデルの予測が信頼できなくなる可能性があります。たとえば、夏の衣料品データのみでトレーニングされたモデルが、冬の衣料品購入行動の予測に突然使用されたとします。
動的(オンライン)トレーニングに関する次の記述のうち、正しいのはどれですか。
新しいデータが到着すると、モデルは最新の状態に保たれます。
これはオンライン トレーニングの主なメリットです。モデルが新しいデータが届くたびにトレーニングできるようにすることで、多くの古いデータの問題を回避できます。
トレーニング ジョブのモニタリングはほとんど必要ありません。
実際には、トレーニング ジョブが正常に動作し、意図したとおりに動作していることを確認するために、トレーニング ジョブを継続的にモニタリングする必要があります。また、トレーニング中にバグのあるジョブや入力データの破損など、何か問題が発生した場合にモデルを以前のスナップショットにロールバックする機能など、サポート インフラストラクチャも必要です。
推論時に入力データのモニタリングを行う必要はほとんどありません。
静的なオフライン モデルと同様に、動的に更新されるモデルへの入力をモニタリングすることも重要です。季節要因による大きな影響を受ける可能性は低いですが、入力データに急激な大きな変化(アップストリーム データソースの停止など)が生じた場合、信頼できない予測が生じる可能性があります。