ハイパーパラメータ調整のベストプラクティス - アマゾン SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ハイパーパラメータ調整のベストプラクティス

ハイパーパラメータ最適化 (HPO) は完全に自動化されたプロセスではありません。最適化を改善するには、ハイパーパラメーターの調整に関する以下のベストプラクティスに従ってください。

チューニング戦略の選択

大規模なジョブでは、ハイパーバンド調整方法を使用すると計算時間を短縮できます。Hyperband には、パフォーマンスの低いジョブを停止するための早期停止メカニズムがあります。Hyperband では、リソースを十分に活用されているハイパーパラメータ構成に再割り当てし、parallel ジョブを実行することもできます。実行時間を短くする小規模なトレーニングジョブには、ランダム検索またはベイズ最適化を使用してください

ベイズ最適化を使用すると、次回の実行でハイパーパラメーター構成を改善することについて、より多くの情報に基づいた意思決定を行うことができます。ベイズ最適化では、前回の実行で収集された情報を使用して、後続の実行を改善します。ベイズ最適化は逐次的な性質があるため、大規模にスケーリングすることはできません。

ランダム検索を使用して、多数のparallel ジョブを実行します。ランダム検索では、後続のジョブは前のジョブの結果に依存せず、独立して実行できます。他の戦略と比較して、ランダム検索はparallel して実行できるジョブの数が最も多くなります。

チューニングジョブの結果を再現する場合や、最適化アルゴリズムの単純さと透明性が重要な場合は、グリッド検索を使用してください。グリッドサーチを使用して、ハイパーパラメータサーチスペース全体を均等に探索することもできます。グリッド検索では、すべてのハイパーパラメータの組み合わせを系統的に検索して、最適なハイパーパラメータ値を見つけます。グリッド検索とは異なり、ベイズ最適化、ランダム検索、ハイパーバンドはすべて検索スペースからハイパーパラメーターをランダムに描画します。グリッド検索ではハイパーパラメータのすべての組み合わせが分析されるため、最適なハイパーパラメータ値は、同じハイパーパラメータを使用するチューニングジョブ間で同じになります。

ハイパーパラメータの数の選択

最適化中、ハイパーパラメーター調整ジョブの計算の複雑さは次の要素によって決まります。

  • ハイパーパラメータの数

  • Amazon SageMaker が検索しなければならない値の範囲

ハイパーパラメータ同時に最大 30 個まで指定できますが、検索数を非常に小さい数に制限すると、計算時間を削減できます。計算時間を短縮すると SageMaker 、最適なハイパーパラメータ構成にすばやく収束できます。

ハイパーパラメータの範囲の選択

検索対象として選択した値の範囲は、ハイパーパラメータの最適化に悪影響を及ぼす可能性があります。たとえば、考えられるすべてのハイパーパラメータ値をカバーする範囲では、計算時間が長くなり、モデルが見えないデータにうまく一般化できない可能性があります。可能な限り大きな範囲のサブセットを使うことがユースケースに適しているとわかっている場合は、範囲をそのサブセットに限定することを検討してください。

ハイパーパラメータに正しいスケールを使用する

ハイパーパラメータの調整中に、 SageMaker ハイパーパラメータが対数スケールと線形スケールのどちらであるかを推測しようとします。最初は、 SageMaker ハイパーパラメータの線形スケーリングを想定しています。ハイパーパラメータが対数スケーリングされている場合、正しいスケールを選択すると検索がより効率的になります。 SageMaker スケールを自分で検出したい場合は、CreateHyperParameterTuningJobAPIScalingTypeAuto for を選択することもできます。

並列 (parallel) なトレーニングジョブの合計数

以前の試験の結果を使用して、後続の試験のパフォーマンスを向上させることができます。お住まいの地域内で、計算上の制約を考慮して、有意義なインクリメンタル結果が得られるparallel ジョブをできるだけ多く選択してください。MaxParallelTrainingJobsこのフィールドを使用して、ハイパーパラメーター調整ジョブがparallel 起動できるトレーニングジョブの数を制限します。詳細については、「Amazon で複数の HPO ジョブをparallel 実行する」 を参照してください SageMaker。

複数のインスタンスでのトレーニングジョブの実行

トレーニングジョブを分散モードで複数のマシンで実行すると、各マシンが客観的なメトリックを出力します。HPOは、生成された客観的指標のうち1つだけを使用してモデルのパフォーマンスを評価できます。分散モードでは、HPOはすべてのインスタンスで最後に実行されたジョブによって報告された客観的指標を使用します。

ランダムシードを使用してハイパーパラメータ構成を再現する

ハイパーパラメータ調整用のランダムシードとして整数を指定し、そのシードをハイパーパラメータ生成時に使用できます。後で、同じシードを使用して、以前の結果と一致するハイパーパラメータ構成を再現できます。ランダムサーチとハイパーバンド戦略では、同じランダムシードを使用することで、同じチューニングジョブで以前のハイパーパラメータ構成を最大 100% 再現できます。ベイジアン戦略では、同じランダムシードを使用すると、同じチューニングジョブの再現性が向上します。