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

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

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

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

調整戦略の選択

大規模なジョブの場合は、Hyperband 調整戦略を使用すると計算時間を短縮できます。Hyperband は、パフォーマンスの低いジョブを停止するための早期停止メカニズムを備えています。また、使用率の高いハイパーパラメータの設定にリソースを再割り当てして、並列ジョブを実行することもできます。実行時間が少ない小規模なトレーニングジョブの場合は、ランダム検索またはベイズ最適化を使用します。

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

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

調整ジョブの結果を再現する場合、または最適化アルゴリズムの簡潔さと透明性が重要視される場合は、グリッド検索を使用します。グリッド検索を使用すると、ハイパーパラメータの探索空間全体を均等に探索することもできます。グリッド検索では、すべてのハイパーパラメータの組み合わせを系統的に検索して、最適なハイパーパラメータ値を見つけます。ベイズ最適化、ランダム検索、Hyperband はすべて探索空間からランダムにハイパーパラメータを抽出する点がグリッド検索とは異なります。グリッド検索はハイパーパラメータのすべての組み合わせを分析するため、同じハイパーパラメータを使用する調整ジョブ間では最適なハイパーパラメータ値が同じになります。

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

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

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

  • Amazon が検索 SageMaker する必要がある値の範囲

最大 30 個のハイパーパラメータを同時に指定できますが、検索するハイパーパラメータの数を少なく制限すると、計算時間を短縮できます。計算時間を短縮することで SageMaker 、 は最適なハイパーパラメータ設定により迅速に収束できます。

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

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

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

ハイパーパラメータのチューニング中に、ハイパーパラメータがログスケールか線形スケールかを SageMaker 推測しようとします。最初 SageMaker は、 はハイパーパラメータの線形スケーリングを想定します。ハイパーパラメータに対数スケーリングが適用されている場合、正しいスケールを選択すると検索がより効率的になります。スケール SageMaker を検出するCreateHyperParameterTuningJobAPI場合は、 AutoScalingTypeで に を選択することもできます。

並列トレーニングジョブの最適数の選択

以前のトライアルの結果を使用して、今後のトライアルのパフォーマンスを向上させることができます。リージョンとアカウントの計算の制約の範囲内で、結果として有意義な増分が得られる最大数の並列ジョブを選択してください。MaxParallelTrainingJobs フィールドを使用して、ハイパーパラメータ調整ジョブを並列で開始できるトレーニングジョブの数を制限します。詳細については、「Amazon での複数のHPOジョブの並列実行 SageMaker」を参照してください。

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

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

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

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