Vertex AI Vizier は、複雑な機械学習(ML)モデルでのハイパーパラメータのチューニングを支援するブラックボックス最適化サービスです。ML モデルに異なるハイパーパラメータが多数ある場合、手動でのチューニングは難しく時間がかかります。Vertex AI Vizier を使用すると、ハイパーパラメータが調整されてモデルの出力が最適化されます。
ブラックボックス最適化とは、次のいずれかの条件を満たすシステムの最適化です。
評価する既知の目的関数がない。
目的関数を使用して評価するにはコストがかかりすぎる(システムが複雑なことが多いため)。
Vertex AI Vizier の追加機能
Vertex AI Vizier は、ML モデルのハイパーパラメータを最適化しますが、他の最適化タスクを実行することもできます。
パラメータを調整する
Vertex AI Vizier を使用すると、関数内のパラメータを効果的にチューニングできます。たとえば、Vertex AI Vizier を使用して、ニュースサイトの定期購入ボタンの背景色、フォントサイズ、リンクの色の最も効果的な組み合わせを決定します。その他の例については、ユースケースをご覧ください。
ハイパーパラメータとパラメータの違いについて確認してください。
評価可能なすべてのシステムを最適化する
Vertex AI Vizier は、閉形式の分析関数として表現できないシステムなど、評価可能なすべてのシステムに対応しています。たとえば、Vertex AI Vizier を使用して、TensorFlow モデルに最適なニューラル ネットワークの深さ、幅、学習率を特定できます。
Vertex AI Vizier の仕組み
以降のセクションでは、Vertex AI Vizier で ML モデルまたは関数の最適化に関する用語、動作、使用可能な値について説明します。まず、スタディ構成を決定します。
スタディ構成
スタディ構成とは、解決しようとしている最適化問題の定義です。最適化する結果と、その結果に影響するハイパーパラメータまたはパラメータが含まれます。
スタディとトライアル
スタディは、スタディ構成の実装です。スタディは、スタディ構成の目標(指標)と入力値(ハイパーパラメータまたはパラメータ)を使用して、トライアルと呼ばれるテストを実施します。トライアルとは、目標に対する測定結果を生成する特定の入力値のセットです。
Vertex AI Vizier は、各トライアルに使用する入力値を提案しますが、トライアルは実行しません。
スタディは設定したトライアル数の上限に達するか、中断されるまで継続します。トライアルは、終了したことまたは実行不可能であることが示されるまで継続します。
測定値
測定値とは、トライアルの測定結果です。各測定値には 1 つ以上の指標を含めることができ、各トライアルには一定期間に取得された 1 つ以上の測定値を含めることができます。トライアルが完了する前であれば、いつでも新しい測定値をトライアルに追加できます。
検索アルゴリズム
アルゴリズムを指定しない場合、デフォルトのアルゴリズムが使用されます。デフォルトのアルゴリズムでは、ベイズ最適化により、パラメータ空間の検索をより効率的に行い、最適な解を導出します。
指定できる値は次のとおりです。
ALGORITHM_UNSPECIFIED
: アルゴリズムを指定していない場合と同じです。Vertex AI は、ガウス過程バンディット、線形結合検索、またはそのバリアントの中から最適な検索アルゴリズムを選択します。GRID_SEARCH
: 実行可能領域内の単純なグリッド検索。このオプションは、実行可能領域内のポイント数を超えるトライアル回数を指定する場合に便利です。そのような場合、グリッド検索を指定しないと、デフォルト アルゴリズムによって重複した候補が生成されることがあります。グリッド検索を使用するには、すべてのパラメータのタイプがINTEGER
、CATEGORICAL
、またはDISCRETE
でなければなりません。RANDOM_SEARCH
: 実行可能領域内の単純なランダム検索。
Vertex AI Vizier とカスタム トレーニングの違い
Vertex AI Vizier は、多数のパラメータを含む複雑なモデルを最適化するための独立したサービスです。これは ML と ML 以外の両方のユースケースに使用できます。トレーニング ジョブや他のシステム(マルチクラウドも含む)で使用できます。カスタム トレーニングのハイパーパラメータ チューニングは、トレーニング ジョブに Vertex AI Vizier を使用する組み込み機能です。ML モデルに最適なハイパーパラメータ設定を決定します。
ユースケース
次のシナリオで、Vertex AI Vizier はハイパーパラメータを調整してモデルを最適化するか、パラメータを調整して結果を最適化します。
ニューラル ネットワークのレコメンデーション エンジンの学習率、バッチサイズなどのハイパーパラメータを最適化します。
ユーザー インターフェース要素の配置をテストして、アプリのユーザビリティを最適化します。
理想的なバッファサイズとスレッド数を特定して、ジョブのコンピューティング リソースを最小化します。
最もおいしい料理を作るために、レシピの材料の分量を最適化します。
次のステップ
- Vertex AI Vizier で複数目標の関数をチューニングする方法を確認する。証明可能な多目的ブラック ボックスの最適化のためのランダム ハイパーボリュームのスカラー化をご覧ください。