概要
モデル構築は実験的な作業です。一般的なサイクルでは、複数の学習率、いくつかのベースモデル、およびデータセットのいくつかのバージョンを試し、それぞれの結果を評価します(複数回評価することもあります)。数週間後には数十回の実行が蓄積されますが、日常的に重要なのは1つか2つだけです。残りの実行はすべてのリストや選択画面を煩雑にし、誤ったモデルを誤って選択する原因となります。
これらを削除したくなるかもしれませんが、そうすると実験が生み出す最も有用な情報、つまり何を試し、なぜ失敗したのかという記録が失われてしまいます。その記録こそが、チームが3ヶ月後に同じ失敗したアイデアを再実行するのを防ぐものです。アーカイブはその中間点です。アイテムはそのまま保持されますが、日常的なビューからは除外されます。
アーカイブと復元は、アイテムの非表示と表示のみを行います。費用には引き続きそのアイテムが計上され、そこから構築されたモデルにはその系統が引き続き表示されます。
復元できるものはなく、後から学習できるものもありません。試行された記録も一緒に消滅します。
仕組み
- 変更ではなく非表示。 アーカイブすると項目が非表示になり、いつ誰がアーカイブしたかが記録されます。データファイル、プロバイダージョブ、トレーニング済みの重み、評価の回答など、削除や書き換えが行われることはなく、元の状態のまま保持されます。
- リストやピッカーからの除外。 アーカイブされたデータセットは新しいデータ準備の候補として表示されません。アーカイブされた準備データはトレーニングの候補として表示されません。アーカイブされたモデルは、トレーニング、評価、またはテストチャットに表示されず、継続的なトレーニングの開始点にすることもできません。また、古いリンクを使用してアーカイブされた項目からジョブを開始することもできません。
- チャートからは除外されますが、請求からは除外されません。 ダッシュボードでは、アーカイブされたモデルと評価はリーダーボードや品質チャートから除外され、アーカイブされたアイテム数が表示されます。支出には引き続きカウントされます。 どちらにしても費用は発生しているためです。
- 閲覧および復元が可能。 「アーカイブ」ページから、アーカイブされたアイテムを当時の状態のまま開くことができます。そこにはバナーと復元ボタンが表示されます。復元すると、アイテムは変更されることなくすべてのリストに戻ります。
- 実行中は不可。 実行中のトレーニングジョブ、データ準備、または判定中の評価はアーカイブできません。先に完了させるか、キャンセルしてください。
| アーカイブ | 削除 | |
|---|---|---|
| 記録の保持 | はい | いいえ |
| 表示されるか | 「アーカイブ」ページのみ | いいえ |
| 元に戻せるか | はい(復元) | いいえ |
| 支出にカウントされるか | はい | いいえ |
リネージの保持
モデルは多くの場合、他のモデルを基盤として構築されます。選好の実行は教師ありの実行から続き、それはさらに以前の実行から続いています。親をアーカイブすると、選択画面からは非表示になりますが、履歴からは非表示になりません。アーカイブされたモデルから継続されたモデルは、引き続きその由来を表示し、その評価は引き続きその親と比較されます。これは、研究チームが再現性のために使用するのと同じ原則です。つまり、失敗した実験であっても、データから結果までの完全な軌跡を保持するということです。
- 1つのモデルに対して10種類のバリアントをトレーニングしました(3つの学習率、2つのベースモデル、2つのデータセットバージョン)。
- 評価の結果、明確な勝者と僅差の次点が示されました。両方を表示したままにします。
- ダッシュボードの最適モデルチャートで有効な候補のみが比較されるように、残りの8つのモデルをその評価結果とともにアーカイブします。
- 古いデータセットバージョンは、より優れたものに置き換えられました。誤ってトレーニングに使用されないように、古いデータセットとその準備データもアーカイブします。
- 3か月後、「より高い学習率を試しましたか?」と質問されたとします。アーカイブには、その実行、設定、および採用されなかった理由を示す評価結果が保存されています。
削除すべきケース
デフォルトではアーカイブし、削除は慎重に行ってください。削除が意味を持つのは、アイテムを保持すること自体が問題となる場合です。たとえば、特定の個人データを含めるべきではなかったデータセットなどです。なお、アーカイブしても、専用のデプロイメントなど、継続的に発生するコストは停止しません。これらは別途終了させる必要があります。
よくある間違い
- 失敗した実行を削除してしまい、誰もその失敗を覚えていないために、後で同じ実験を繰り返してしまうこと。
- モデルをアーカイブしてもその評価をアーカイブし忘れることで、ダッシュボードで引き続きランク付けされてしまうこと。
- 置き換えられたデータセットを表示したままにし、誤って古いバージョンで新しい実行をトレーニングしてしまうこと。
- アーカイブされたアイテムが支出から消えることを期待してしまうこと(どちらにしても費用は発生しています)。
参考文献および関連資料
外部ソースは新しいタブで開きます。
- 01Improving Reproducibility in Machine Learning Research (A Report from the NeurIPS 2019 Reproducibility Program)Pineau et al., 2020 · arXiv · arxiv.org失敗したものも含め、実験の完全な記録を保持することが重要である理由。
- 02Hidden Technical Debt in Machine Learning SystemsSculley et al., 2015 · NeurIPS · papers.nips.cc追跡されていない実験やデータの依存関係など、機械学習システムがどのように隠れた複雑さを蓄積していくかについての古典的な論文。
- 03MLflow TrackingMLflow docs · mlflow.org実行、パラメータ、結果を記録するために広く使用されているオープンソースツール。