Vertex AI Experiments の自動ロギングで ML テストのトラッキングを自動化する方法
Google Cloud Japan Team
※この投稿は米国時間 2023 年 4 月 4 日に、Google Cloud blog に投稿されたものの抄訳です。
実用的な ML は、試行錯誤のプロセスです。ML 担当者は、指定したパラメータのセットを使った最適なモデルが見つかるまで、ML テストを行い、さまざまなパフォーマンス指標を比較します。ML には実験的な性質があるため、デバッグやコンプライアンスなど、ML テストをトラッキングし、再現可能なものにするには多くの理由があります。
しかし、テストのトラッキングは困難であり、他のチームメンバーがすぐに理解、再現、比較できるようにテストを整理する必要があります。そのため、必要のないオーバーヘッドが発生します。
このたびリリースした Vertex AI Experiments の自動ロギングは、モデルのテスト トラッキングを自動化し、ML テストを効率化するソリューションです。
Vertex AI Experiments の自動ロギングを使用すると、トレーニング スクリプトに 1 行のコードを追加するだけで、パラメータ、パフォーマンス指標、リネージ アーティファクトをログに記録できるようになります。他のロギング メソッドを明示的に呼び出す必要はありません。
Vertex AI 自動ロギングの使用方法
データ サイエンティストや ML 担当者は、Colab や Vertex AI Workbench などのノートブック環境でテストを実施します。Vertex AI Experiments の自動ロギングを有効にするには、Vertex AI Experiments セッションで aiplatform.autolog() を呼び出します。この呼び出しの後、モデル トレーニングに関連するすべてのパラメータ、指標、アーティファクトが自動的にログに記録され、Vertex AI Experiments のコンソールからアクセスできるようになります。
以下は、Scikit-learn モデルのトレーニング セッションで自動ロギングを有効にする方法です。
以下の動画では、Vertex AI Experiments コンソールのパラメータとトレーニング中 / トレーニング後の指標を示しています。


Vertex AI SDK 自動ロギングは、MLFlow の自動ロギングを実装に使用しており、XGBoost、Keras、Pytorch Lighting を含む複数のフレームワークをサポートしています。サポートされているすべてのフレームワークについては、こちらのドキュメントを参照してください。
Vertex AI Experiments 自動ロギングでは、複数のエポックに沿ってモデルをトレーニングする際に、モデルの時系列指標が自動的にログに記録されます。これは、Vertex AI Experiments の自動ロギングと Vertex AI Tensorboard が統合されているためです。
さらに、Vertex AI Experiments の自動ロギングは、ニーズに合わせて調整することができます。たとえば、チーム内で決めているテストの命名規則があるとします。デフォルトでは、Vertex AI Experiments の自動ロギングにより、「aiplatform.start_run()」や「aiplatform.end_run()」を呼び出すことなく、テスト実行が作成されます。自動ロギング用に独自のテスト実行名を指定したい場合は、自動ロギングを有効にした後に、aiplatform.start_run() と aiplatform.end_run() を使用して、テスト内の任意の実行を手動で初期化できます。
次のステップ
Vertex AI Experiments の自動ロギングは、Vertex AI SDK for Python の最新版からアクセスできます。詳しくは、以下のリソースをご覧ください。
ドキュメント: テスト実行にデータを自動的に記録する
再度、ブログ投稿をお届けする予定ですが、それまでの間、詳しくお知りになりたい Vertex AI のコンテンツがありましたら、Linkedin や Twitter からご連絡ください。
- Google Cloud、プロダクト マネージャー May Hu