AutoGluon Preset & 学習時間 設定ガイド
精度の最大化と「時間切れ」を防ぐための戦略
`high_quality` と `best_quality` の違いは何か?
この二つのプリセットは、どちらも高い精度を目指しますが、その**「徹底度」**と**「堅牢性へのこだわり」**が大きく異なります。一言で言えば、`best_quality`は精度のためなら計算時間を惜しまない、コンペティション最終盤向けのモードです。
適切な`time_limit`の設定目安は?
「12時間も学習させたのに、途中で時間切れになって最高のモデルがアンサンブルに含まれなかった」という経験は、AutoMLにおける最も悔しい失敗の一つです。適切な学習時間は、データと目指す精度によって変わります。
重要な原則
ただ長くするだけでは不十分です。学習に時間がかかりすぎるモデルやエラーを起こすモデルをexcluded_model_types
で除外し、**有望なモデル群にリソースを集中させる戦略**が、時間を有効に使う鍵となります。
フェーズ1:初期実験 & パイプライン確認
時間目安: 10分〜1時間 (`time_limit` = 600〜3600)
`presets=”medium_quality”`を使い、データ読み込み、特徴量生成、基本的なモデル(`Naive`, `Tabular`など)の学習がエラーなく通るかを確認します。この段階でDLモデルが完走しなくても問題ありません。
フェーズ2:有望モデルの探索
時間目安: 2時間〜8時間 (`time_limit` = 7200〜28800)
`presets=”high_quality”`に設定。この段階で、どのモデル(`DeepAR`, `DirectTabular`など)が高いスコアを出すかを見極めます。また、TFTのようにエラーを起こすモデルや、TiDEのように極端に時間がかかるモデルを特定し、excluded_model_types
のリストを作成します。
フェーズ3:最終提出モデルの構築 (本番)
時間目安: 12時間〜48時間以上 (`time_limit` = 43200〜)
`presets=”best_quality”`に設定し、フェーズ2で特定した**有望なモデル群に絞って**学習を実行します(`excluded_model_types`を活用)。これにより、限られた時間を最大限有効に使い、全ての有望モデルが学習を完了し、それらが完璧にアンサンブルされた、最高のモデルを構築することができます。
コメント