Well-Architected Framework: AI と ML の視点のこのドキュメントでは、ML ライフサイクル全体で AI システムの費用を最適化するための原則と推奨事項の概要について説明します。事前対応型で情報に基づいた費用管理アプローチを採用することで、組織は AI システムと ML システムの可能性を最大限に引き出し、財務規律を維持できます。このドキュメントの推奨事項は、 Google Cloud Well-Architected Framework の費用最適化の柱に沿っています。
AI と ML のシステムは、データから価値ある分析情報と予測機能を活用するのに役立ちます。たとえば、社内プロセスの摩擦を軽減したり、ユーザー エクスペリエンスを改善したり、より深い顧客分析情報を得たりできます。クラウドでは、AI ワークロードと ML ワークロードに多額の初期投資を行うことなく、膨大なリソースを利用し、迅速な費用対効果を実現できます。ビジネス価値を最大化し、支出をビジネス目標に合わせるには、費用の要因を理解して事前に最適化を行い、支出管理を設定して FinOps のベスト プラクティスを採用する必要があります。
この記事の推奨事項は、次の基本原則にマッピングされています。
- 費用と収益を定義して測定する
- リソース割り当てを最適化する
- データ管理とガバナンスのプラクティスを適用する
- MLOps による自動化と効率化
- マネージド サービスと事前トレーニング済みモデルを使用する
費用と収益を定義して測定する
Google Cloudで AI と ML の費用を効果的に管理するには、クラウド リソースの費用と AI と ML のイニシアチブのビジネス価値を定義して測定する必要があります。費用を詳細に追跡できるように、 Google Cloud には次のような包括的な課金と費用管理ツールが用意されています。
- Cloud Billing のレポートとテーブル
- Looker Studio のダッシュボード、予算、アラート
- Cloud Monitoring
- Cloud Logging
リソースの割り当てと最適化について十分な情報に基づいて意思決定を行うには、次の推奨事項を検討してください。
ビジネス目標と KPI を設定する
AI プロジェクトと ML プロジェクトの技術的な選択を、ビジネス目標と重要業績評価指標(KPI)に合わせます。
戦略的目標と ROI 重視の KPI を定義する
AI プロジェクトと ML プロジェクトが、収益の増加、コスト削減、顧客満足度、効率などの戦略目標と一致していることを確認します。ビジネス上の優先事項を把握するために、関係者と連携します。具体的で、測定可能で、達成可能で、関連性が高く、期限がある(SMART)AI と ML の目標を定義します。たとえば、「AI チャットボットを使用して、6 か月以内にカスタマー サポートのチャット処理時間を 15% 短縮する」は SMART 目標です。
ビジネス目標を達成し、費用対効果(ROI)を測定するには、次のカテゴリの指標の KPI を定義します。
- トレーニング、推論、ストレージ、ネットワーク リソースの費用。これには、特定の単位費用(推論、データポイント、タスクあたりの費用など)が含まれます。これらの指標は、効率と費用最適化の機会に関する分析情報を取得するのに役立ちます。これらの費用は、Cloud Billing レポートと Cloud Monitoring ダッシュボードを使用して追跡できます。
- 収益の増加、コスト削減、顧客満足度、効率、精度、導入などのビジネス価値指標。これらの指標は、BigQuery 分析と Looker ダッシュボードを使用して追跡できます。
次のような業界固有の指標。
- 小売業界: 収益の伸びと解約を測定する
- 医療業界: 患者の所要時間と患者のアウトカムを測定する
- 金融業界: 不正行為の減少を測定する
プロジェクト固有の指標。これらの指標は、Vertex AI Experiments と評価を使用して追跡できます。
- 予測 AI: 精度と適合率を測定する
- 生成 AI: 導入率、満足度、コンテンツの品質を測定する
- コンピュータ ビジョン AI: 精度を測定する
コスト意識と継続的な最適化の文化を育む
FinOps の原則を採用して、各 AI プロジェクトと ML プロジェクトに推定費用を設定し、ライフサイクル全体で実際の費用を測定して追跡する方法を確保します。プロジェクトの費用とビジネス上のメリットに、明確な説明責任を持つオーナーが割り当てられていることを確認します。
詳細については、 Google Cloud Well-Architected Framework の費用最適化の柱にある費用意識の文化を育むをご覧ください。
イテレーションとフィードバックを通じて価値と継続的な最適化を推進する
AI アプリケーションと ML アプリケーションをビジネス目標に直接マッピングし、ROI を測定します。
費用対効果の仮説を検証するには、まず試験運用プロジェクトから始め、次の反復最適化サイクルを使用します。
- 継続的にモニタリングしてデータを分析する: KPI と費用をモニタリングして、偏差と最適化の機会を特定します。
- データドリブンな調整を行う: データ分析情報に基づいて、戦略、モデル、インフラストラクチャ、リソース割り当てを最適化します。
- 反復的に改善する: 変化するビジネスニーズと得られた知見に基づいて、ビジネス目標と KPI を調整します。このイテレーションにより、関連性と戦略的整合性を維持できます。
- フィードバック ループを確立する: 関係者とパフォーマンス、費用、価値を確認して、継続的な最適化と将来のプロジェクト計画に役立てます。
Cloud Billing とラベルを使用して課金データを管理する
費用対効果の高い最適化を行うには、各費用要素のソースを把握する必要があります。このセクションの推奨事項は、 Google Cloudツールを使用して AI と ML の費用に関する詳細な分析情報を取得するのに役立ちます。また、費用を特定の AI / ML プロジェクト、チーム、アクティビティに関連付けることもできます。これらの分析情報は、費用最適化の基礎となります。
Google Cloud リソースを整理してラベル付けする
- 組織構造と AI / ML ワークフローを反映した階層でプロジェクトとリソースを構成します。さまざまなレベルで費用を追跡して分析するには、組織、フォルダ、プロジェクトを使用して Google Cloud リソースを整理します。詳細については、 Google Cloud ランディング ゾーンのリソース階層を決定するをご覧ください。
- リソースに意味のあるラベルを適用します。プロジェクト、チーム、環境、モデル名、データセット、ユースケース、パフォーマンス要件を示すラベルを使用できます。ラベルは、請求データに貴重なコンテキストを提供し、きめ細かい費用分析を可能にします。
- すべての AI プロジェクトと ML プロジェクトで、ラベル付け規則の一貫性を維持します。一貫したラベル付け規則を使用すると、課金データが整理され、すぐに分析できるようになります。
請求関連のツールを使用する
- 詳細な分析とレポート作成を容易にするには、請求データを BigQuery にエクスポートします。BigQuery には、課金データを分析して費用を把握できる強力なクエリ機能があります。
- ラベル、プロジェクト、特定の期間で費用を集計するには、BigQuery でカスタム SQL クエリを作成します。このようなクエリを使用すると、モデルのトレーニング、ハイパーパラメータのチューニング、推論など、特定の AI アクティビティと ML アクティビティに費用を割り当てることができます。
- 費用の異常や想定外の費用の急増を特定するには、BigQuery の分析機能を使用します。このアプローチは、AI ワークロードと ML ワークロードの潜在的な問題や非効率性を検出するのに役立ちます。
- 予期しない費用を特定して管理するには、Cloud Billing の異常検出ダッシュボードを使用します。
- リソース使用量に基づいてさまざまなチームや部門に費用を分配するには、 Google Cloudの費用配分機能を使用します。費用配分は、説明責任と透明性を高めます。
- 支出パターンに関する分析情報を取得するには、事前構築済みの Cloud Billing レポートをご覧ください。これらのレポートをフィルタしてカスタマイズし、特定の AI プロジェクトや ML プロジェクトに焦点を当てることができます。
ダッシュボード、アラート、レポートを使用してリソースを継続的にモニタリングする
費用を追跡するためのスケーラブルで復元力のある方法を作成するには、継続的なモニタリングとレポートが必要です。ダッシュボード、アラート、レポートは、費用を効果的に追跡するための基盤となります。この基盤により、費用情報への継続的なアクセスを維持し、最適化の領域を特定し、ビジネス目標と費用の整合性を確保できます。
レポート システムを作成する
スケジュール設定されたレポートを作成し、適切な関係者と共有します。
Cloud Monitoring を使用して、アプリケーション、インフラストラクチャ、 Google Cloud サービス(Compute Engine、Google Kubernetes Engine(GKE)、Cloud Run functions など)を含むさまざまなソースから指標を収集します。指標とログをリアルタイムで可視化するには、事前構築済みの Cloud Monitoring ダッシュボードを使用するか、カスタム ダッシュボードを作成します。カスタム ダッシュボードを使用すると、モデルのパフォーマンス、API 呼び出し、ビジネスレベルの KPI など、システムの特定の側面を追跡する指標を定義して追加できます。
Cloud Logging を使用して、アプリケーション、システム、サービスのログを一元的に収集して保存します。 Google Cloud ログは次の目的で使用します。
- CPU、メモリ、ストレージ、ネットワークなどのリソースの費用と使用率を追跡します。
- オーバー プロビジョニング(リソースが十分に活用されていない場合)とアンダー プロビジョニング(リソースが不足している場合)を特定します。オーバープロビジョニングは不要なコストにつながります。プロビジョニングが不足すると、トレーニング時間が長くなり、パフォーマンスの問題が発生する可能性があります。
- VM や GPU などのアイドル状態または使用率が低いリソースを特定し、それらをシャットダウンまたはサイズ調整して費用を最適化します。
- 費用の急増を特定して、リソース使用量や費用の急激な増加を検出します。
Looker または Looker Studio を使用して、インタラクティブなダッシュボードとレポートを作成します。ダッシュボードとレポートを、BigQuery や Cloud Monitoring などのさまざまなデータソースに接続します。
主要な KPI に基づいてアラートのしきい値を設定する
KPI について、アラートをトリガーするしきい値を決定します。意味のあるアラートしきい値を使用すると、アラート疲れを回避できます。Cloud Monitoring でアラート ポリシーを作成して、KPI に関連する通知を受け取ります。たとえば、精度が特定のしきい値を下回った場合や、レイテンシが定義された上限を超えた場合に通知を受け取ることができます。ログデータに基づくアラートを使用すると、費用に関する潜在的な問題をリアルタイムで通知できます。このようなアラートにより、是正措置を迅速に講じて、さらなる金銭的損失を防ぐことができます。
リソース割り当てを最適化する
Google Cloudで AI ワークロードと ML ワークロードの費用対効果を実現するには、リソース割り当てを最適化する必要があります。不要な費用を回避し、ワークロードが最適なパフォーマンスを発揮するために必要なリソースを確保するには、リソースの割り当てをワークロードのニーズに合わせます。
AI ワークロードと ML ワークロードへのクラウド リソースの割り当てを最適化するには、次の推奨事項を検討してください。
自動スケーリングを使用してリソースを動的に調整する
自動スケーリングをサポートする Google Cloud サービスを使用します。これにより、現在の需要に合わせてリソース割り当てが自動的に調整されます。自動スケーリングには次の利点があります。
- 費用とパフォーマンスの最適化: アイドル状態のリソースの料金を支払う必要がなくなります。同時に、自動スケーリングにより、ピーク時の負荷でもシステムが最適なパフォーマンスを発揮するために必要なリソースを確保できます。
- 効率の向上: チームが他のタスクに集中できるようになります。
- アジリティの向上: 需要の変化に迅速に対応し、アプリケーションの高可用性を維持できます。
次の表に、AI プロジェクトのさまざまな段階で自動スケーリングを実装するために使用できる手法の概要を示します。
ステージ | 自動スケーリングの手法 |
---|---|
トレーニング | |
推論 |
|
小さなモデルとデータセットから始める
費用を削減するには、可能であれば小規模な ML 仮説をテストし、反復的なアプローチを使用します。このアプローチでは、モデルとデータセットを小さくすることで、次のようなメリットが得られます。
- 最初からコストを削減: コンピューティング能力、ストレージ、処理時間を削減することで、初期のテストと開発の段階でコストを削減できます。
- イテレーションの高速化: トレーニング時間が短縮されるため、イテレーションを高速化し、代替アプローチを検討し、有望な方向性をより効率的に特定できます。
- 複雑さの軽減: デバッグ、分析、結果の解釈が簡素化され、開発サイクルが短縮されます。
- リソースの効率的な使用: リソースの過剰なプロビジョニングの可能性が低くなります。現在のワークロードに必要なリソースのみをプロビジョニングします。
以下の推奨事項を参考にしてください。
- 最初にサンプルデータを使用する: データの代表的なサブセットでモデルをトレーニングします。このアプローチでは、データセット全体を処理せずに、モデルのパフォーマンスを評価し、潜在的な問題を特定できます。
- ノートブックを使用してテストする: 小さいインスタンスから始めて、必要に応じてスケーリングします。Vertex AI Workbench を使用できます。これは、さまざまなモデル アーキテクチャとデータセットのテストに適したマネージド Jupyter ノートブック環境です。
よりシンプルなモデルまたは事前トレーニング済みモデルから始める: Vertex AI Model Garden を使用して、事前トレーニング済みモデルを見つけて確認します。このようなモデルでは、必要なコンピューティング リソースが少なくなります。パフォーマンス要件に基づいて、必要に応じて複雑さを徐々に増やします。
- 画像分類や自然言語処理などのタスクに事前トレーニング済みモデルを使用します。トレーニング費用を節約するには、まず小規模なデータセットでモデルをファインチューニングします。
- 構造化データには BigQuery ML を使用します。BigQuery ML を使用すると、BigQuery 内で直接モデルを作成してデプロイできます。このアプローチは、BigQuery の従量課金制の料金モデルを利用できるため、初期のテストでは費用対効果が高くなります。
リソース最適化のためにスケーリングする: Google Cloudの柔軟なインフラストラクチャを使用して、必要に応じてリソースをスケーリングします。小さなインスタンスから始めて、必要に応じてサイズや数を調整します。
テストを通じてリソース要件を把握する
AI ワークロードと ML ワークロードのリソース要件は大きく異なる場合があります。リソース割り当てと費用を最適化するには、体系的なテストを通じてワークロードの具体的なニーズを把握する必要があります。モデルに最も効率的な構成を特定するには、さまざまな構成をテストして、そのパフォーマンスを分析します。次に、要件に基づいて、トレーニングとサービングに使用したリソースを適切にサイズ設定します。
テストには次のアプローチをおすすめします。
- ベースラインから始める: ワークロード要件の初期見積もりに基づいて、ベースライン構成から始めます。ベースラインを作成するには、新しいワークロードの費用見積もりツールを使用するか、既存の請求レポートを使用します。詳細については、 Google Cloudでエンタープライズ AI の真の費用を把握するをご覧ください。
- 割り当てを理解する: 大規模なテストを開始する前に、使用する予定のリソースと API の Google Cloud プロジェクトの割り当てをよく理解してください。割り当てによって、実際にテストできる構成の範囲が決まります。割り当てを理解することで、テスト段階で利用可能なリソースの制限内で作業できます。
- 体系的にテストする: CPU の数、メモリの量、GPU と TPU の数とタイプ、ストレージ容量などのパラメータを調整します。Vertex AI Training と Vertex AI Predictions を使用すると、さまざまなマシンタイプと構成を試すことができます。
使用率、費用、パフォーマンスをモニタリングする: テストする各構成について、リソース使用率、費用、主要なパフォーマンス指標(トレーニング時間、推論レイテンシ、モデルの精度など)を追跡します。
- リソース使用率とパフォーマンス指標を追跡するには、Vertex AI コンソールを使用します。
- 詳細なパフォーマンス指標を収集して分析するには、Cloud Monitoring を使用します。
- 費用を表示するには、Cloud Billing レポートと Cloud Monitoring ダッシュボードを使用します。
- モデルのパフォーマンスのボトルネックを特定し、リソース使用率を最適化するには、Vertex AI TensorBoard などのプロファイリング ツールを使用します。
費用を分析する: 各構成の費用とパフォーマンスを比較して、費用対効果が最も高いオプションを特定します。
割り当てに基づいてリソースのしきい値と改善目標を設定する: スケーリングによってパフォーマンスの収益が減少し始めるしきい値を定義します。たとえば、トレーニング時間やレイテンシの最小限の削減でコストが大幅に増加する場合などです。これらのしきい値を設定する際は、プロジェクトの割り当てを考慮してください。パフォーマンスの向上によって、さらなるスケーリングの費用と割り当てへの影響が正当化されなくなるポイントを特定します。
反復的に調整する: 調査結果に基づいて調整された構成でテストプロセスを繰り返します。リソース使用量が割り当てられた割り当て内に収まり、確立された費用対効果のしきい値と一致していることを常に確認してください。
MLOps を使用して非効率性を軽減する
イノベーションと効率性を推進するために ML を使用する組織が増えるにつれて、ML ライフサイクルを効果的に管理することが重要になっています。ML オペレーション(MLOps)は、モデル開発からデプロイとモニタリングまで、ML ライフサイクルを自動化および合理化する一連のプラクティスです。
MLOps をコスト要因に合わせる
MLOps を活用してコスト効率を高めるには、ML ライフサイクルの主なコスト要因を特定します。次に、費用要因に沿った MLOps プラクティスを採用して実装できます。最も影響力の大きいコスト要因に対処する MLOps 機能を優先して採用します。このアプローチは、大幅なコスト削減につながる管理可能な成功への道筋を確保するのに役立ちます。
費用最適化のために MLOps を実装する
コスト削減に役立つ一般的な MLOps プラクティスは次のとおりです。
- バージョン管理: Git などのツールを使用すると、コード、データ、モデルのバージョンを追跡できます。バージョン管理により、再現性が確保され、コラボレーションが促進され、バージョン管理の問題によって発生する可能性のあるコストのかかる再作業を防ぐことができます。
- 継続的インテグレーションと継続的デリバリー(CI/CD): Cloud Build と Artifact Registry を使用すると、CI/CD パイプラインを実装して、ML モデルのビルド、テスト、デプロイを自動化できます。CI/CD パイプラインにより、リソースの効率的な使用が保証され、手動による介入に関連するコストが最小限に抑えられます。
- オブザーバビリティ: Cloud Monitoring と Cloud Logging を使用すると、本番環境でモデルのパフォーマンスを追跡し、問題を特定して、事前対応のアラートをトリガーできます。オブザーバビリティにより、モデルの精度を維持し、リソース割り当てを最適化し、コストのかかるダウンタイムやパフォーマンスの低下を防ぐことができます。
- モデルの再トレーニング: Vertex AI Pipelines を使用すると、モデルを定期的に再トレーニングしたり、パフォーマンスが低下したときに再トレーニングしたりするプロセスが簡素化されます。Vertex AI Pipelines を再トレーニングに使用すると、モデルの精度と効率性を維持できます。これにより、不要なリソース消費を防ぎ、最適なパフォーマンスを維持できます。
- 自動テストと評価: Vertex AI を使用すると、モデル評価を迅速化し、標準化できます。ML ライフサイクル全体で自動テストを実装して、モデルの品質と信頼性を確保します。このようなテストは、エラーを早期に検出し、本番環境でのコストのかかる問題を回避し、大規模な手動テストの必要性を減らすのに役立ちます。
詳細については、MLOps: ML における継続的デリバリーと自動化のパイプラインをご覧ください。
データ管理とガバナンスのプラクティスを適用する
費用の最適化には、効果的なデータ管理とガバナンスの実践が不可欠です。適切に整理されたデータは、チームでデータセットを再利用し、不要な重複を回避し、高品質なデータを取得するために必要な労力を軽減します。データを事前に管理することで、ストレージ費用を削減し、データ品質を向上させ、ML モデルが最も関連性の高く価値のあるデータでトレーニングされるようにすることができます。
データ管理とガバナンスのプラクティスを実装するには、次の推奨事項を検討してください。
データ ガバナンス フレームワークを確立して採用する
AI と ML の重要性が高まるにつれて、デジタル トランスフォーメーションを推進する組織にとってデータは最も価値のある資産になりました。データ ガバナンスの堅牢なフレームワークは、AI ワークロードと ML ワークロードを大規模かつ費用対効果の高い方法で管理するための重要な要件です。明確に定義されたポリシー、手順、役割を含むデータ ガバナンス フレームワークは、ライフサイクル全体でデータを管理するための構造化されたアプローチを提供します。このようなフレームワークは、データ品質の向上、セキュリティの強化、利用率の向上、冗長性の削減に役立ちます。
データ ガバナンス フレームワークを確立する
データ ガバナンスには、EDM Council が公開しているフレームワークなど、多くの既存のフレームワークがあり、さまざまな業界や組織規模に対応したオプションが用意されています。特定のニーズと優先事項に沿ったフレームワークを選択して、適応させます。
データ ガバナンス フレームワークを実装する
Google Cloud には、堅牢なデータ ガバナンス フレームワークの実装に役立つ次のサービスとツールが用意されています。
Dataplex Universal Catalog は、分散データを統合し、データセットを 1 か所に統合することなくデータ ガバナンスを自動化するインテリジェントなデータ ファブリックです。これにより、データの配布と維持のコストを削減し、データ検出を容易にし、再利用を促進できます。
- データを整理するには、Dataplex Universal Catalog の抽象化を使用して、論理データレイクとゾーンを設定します。
- データレイクとゾーンへのアクセスを管理するには、Google グループと Dataplex Universal Catalog のロールを使用します。
- データ品質プロセスを効率化するには、自動データ品質を有効にします。
Dataplex Universal Catalog は、フルマネージドでスケーラブルなメタデータ管理サービスでもあります。カタログは、データアセットがアクセス可能で再利用可能であることを保証する基盤を提供します。
- サポートされている Google Cloud ソースのメタデータは、ユニバーサル カタログに自動的に取り込まれます。 Google Cloud以外のデータソースについては、カスタム エントリを作成します。
- データアセットの検出可能性と管理を改善するには、アスペクトを使用して、テクニカル メタデータをビジネス メタデータで拡充します。
- データ サイエンティストと ML 実務者が Dataplex Universal Catalog にアクセスして検索機能を使用するのに十分な権限があることを確認します。
BigQuery 共有を使用すると、組織間でデータアセットを効率的かつ安全に交換して、データの信頼性と費用の課題に対処できます。
- データ エクスチェンジを設定し、キュレートされたデータアセットがリスティングとして表示されるようにします。
- データ クリーンルームを使用して、機密データへのアクセスを安全に管理し、AI プロジェクトや ML プロジェクトで外部のチームや組織と効率的に連携します。
- データ サイエンティストと ML 実務者が、BigQuery 共有でデータセットを表示して公開するための十分な権限を持っていることを確認します。
ML ライフサイクル全体でデータセットと特徴を再利用可能にする
効率と費用の面で大きなメリットを得るには、複数の ML プロジェクトでデータセットと特徴を再利用します。冗長なデータ エンジニアリングと特徴開発の労力を回避することで、組織はモデル開発を加速し、インフラストラクチャ コストを削減し、他の重要なタスクに貴重なリソースを割り当てることができます。
Google Cloud は、データセットと特徴の再利用に役立つ次のサービスとツールを提供します。
- データと ML の担当者は、データ プロダクトを公開して、チーム全体で再利用を最大化できます。データ プロダクトは、Dataplex Universal Catalog と BigQuery の共有を通じて検出して使用できます。
- 表形式の構造化データセットの場合は、Vertex AI Feature Store を使用して、BigQuery を介して再利用性を高め、特徴管理を効率化できます。
- 非構造化データは Cloud Storage に保存し、BigQuery オブジェクト テーブルと署名付き URL を使用してデータを管理できます。
- ベクトル エンベディングは、ベクトル検索インデックスにメタデータを含めることで管理できます。
MLOps による自動化と効率化
MLOps プラクティスを導入する主なメリットは、テクノロジーと人員のコストを削減できることです。自動化により、ML アクティビティの重複を回避し、データ サイエンティストと ML エンジニアのワークロードを軽減できます。
MLOps を使用して ML 開発を自動化し、効率化するには、次の推奨事項を検討してください。
データ収集と処理を自動化して標準化する
ML の開発の労力と時間を削減するには、データ収集と処理のテクノロジーを自動化して標準化します。
データ収集と処理を自動化する
このセクションでは、データの収集と処理を自動化するために使用できるプロダクト、ツール、手法の概要について説明します。
AI / ML タスクに関連するデータソースを特定して選択します。
- Cloud SQL、Spanner、AlloyDB for PostgreSQL、Firestore、BigQuery などのデータベース オプション。選択は、書き込みアクセス時のレイテンシ(静的または動的)、データ量(多いか少ないか)、データ形式(構造化、非構造化、半構造化)などの要件によって異なります。詳細については、Google Cloud データベースをご覧ください。
- BigLake を使用した Cloud Storage などのデータレイク。
- Dataplex Universal Catalog: 複数のソースにわたるデータを管理します。
- Pub/Sub、Dataflow、Apache Kafka などのストリーミング イベント プラットフォーム。
- 外部 API。
データソースごとに、取り込みツールを選択します。
- Dataflow: さまざまなソースからのデータのバッチ処理とストリーム処理。ML コンポーネントの統合。イベント ドリブン アーキテクチャでは、Dataflow と Eventarc を組み合わせて、ML のデータを効率的に処理できます。MLOps と ML ジョブの効率を高めるには、GPU と Right Fitting 機能を使用します。
- Cloud Run functions: リアルタイム アプリケーションのデータソースの変更によってトリガーされるイベント ドリブンのデータ取り込み。
- BigQuery: 頻繁にアクセスする従来の表形式データの取り込み。
データ変換と読み込みのツールを選択します。
- Dataflow や Dataform などのツールを使用して、特徴のスケーリング、カテゴリ変数のエンコード、新しい特徴の作成などのデータ変換をバッチ、ストリーミング、リアルタイムで自動化します。選択するツールは、要件と選択したサービスによって異なります。
- Vertex AI Feature Store を使用して、特徴の作成と管理を自動化します。さまざまなモデルやプロジェクトで再利用できるように、特徴を集中管理できます。
データの収集と処理を標準化する
データアセットの検出、理解、管理には、Dataplex Universal Catalog などのメタデータ管理サービスを使用します。これにより、データ定義を標準化し、組織全体で一貫性を確保できます。
標準化を適用し、複数のカスタム実装の維持費用を回避するには、自動トレーニング パイプラインとオーケストレーションを使用します。詳細については、次のセクションをご覧ください。
トレーニング パイプラインを自動化し、既存のアセットを再利用する
MLOps の効率と生産性を高めるには、自動化されたトレーニング パイプラインが不可欠です。 Google Cloud は、既存のアセットの再利用を重視して、トレーニング パイプラインを構築してデプロイするための堅牢なツールとサービスのセットを提供します。自動化されたトレーニング パイプラインは、モデル開発の加速、一貫性の確保、冗長な作業の削減に役立ちます。
トレーニング パイプラインを自動化する
次の表に、トレーニング パイプラインのさまざまな機能を自動化するために使用できる Google Cloud サービスと機能を示します。
関数 | Google Cloud サービスと機能 |
---|---|
オーケストレーション: 複数のステップと依存関係で構成される複雑な ML ワークフローを定義します。各ステップを個別のコンテナ化されたタスクとして定義できるため、個々のタスクを簡単に管理およびスケーリングできます。 |
|
バージョニング: パイプラインとコンポーネントのさまざまなバージョンを追跡して制御し、再現性と監査可能性を確保します。 | Kubeflow パイプライン テンプレートを Artifact Registry の Kubeflow Pipelines リポジトリに保存します。 |
再利用性: 準備済みデータセットやトレーニング済みモデルなどの既存のパイプライン コンポーネントとアーティファクトを再利用して、開発を加速します。 | パイプライン テンプレートを Cloud Storage に保存し、組織全体で共有します。 |
モニタリング: パイプラインの実行をモニタリングして、問題を特定して対処します。 | Cloud Logging と Cloud Monitoring を使用する。詳細については、ダッシュボード、アラート、レポートを使用してリソースを継続的にモニタリングするをご覧ください。 |
パイプラインを超えて再利用性を拡大する
トレーニング パイプライン以外で再利用性を高める機会を探します。次に、ML の特徴、データセット、モデル、コードを再利用できる Google Cloud 機能の例を示します。
- Vertex AI Feature Store は、ML で使用する特徴量を整理、保存、提供するための一元化されたリポジトリです。さまざまなプロジェクトやモデルで特徴を再利用できるため、一貫性を高め、特徴量エンジニアリングの労力を軽減できます。オンラインとオフラインの両方のユースケースで特徴を保存、共有、アクセスできます。
- Vertex AI データセットを使用すると、チームはデータセットを一元的に作成して管理できるため、組織は再利用性を最大限に高め、データの重複を減らすことができます。チームは、Dataplex Universal Catalog を使用してデータセットを検索して検出できます。
- Vertex AI Model Registry を使用すると、トレーニング済みモデルを保存、管理、デプロイできます。モデル レジストリを使用すると、後続のパイプラインやオンライン予測でモデルを再利用できるため、以前のトレーニングの成果を活用できます。
- カスタム コンテナを使用すると、トレーニング コードと依存関係をコンテナにパッケージ化して、Artifact Registry に保存できます。カスタム コンテナを使用すると、さまざまなパイプラインやプロジェクトで一貫性のある再現可能なトレーニング環境を提供できます。
モデルの評価とチューニングに Google Cloud サービスを使用する
Google Cloud は、モデルの評価とチューニングを効率化して自動化するための強力なツールとサービスのスイートを提供します。これらのツールとサービスは、本番環境への移行時間を短縮し、継続的なトレーニングとモニタリングに必要なリソースを削減するのに役立ちます。これらのサービスを使用することで、AI チームと ML チームは、高コストの反復処理回数を減らしてモデルのパフォーマンスを向上させ、より迅速に結果を得て、コンピューティング リソースの無駄を最小限に抑えることができます。
リソース効率の高いモデル評価とテストを使用する
ソリューションをスケールアップする前に、テストで AI プロジェクトを開始します。テストでは、データセット バージョン、モデル パラメータ、モデルタイプなどのさまざまなメタデータを追跡します。結果の再現性と比較をさらに高めるには、Git の機能と同様に、コードのバージョニングに加えてメタデータ トラッキングを使用します。情報が欠落したり、間違ったバージョンが本番環境にデプロイされたりしないように、大規模なデプロイやトレーニング ジョブを実装する前に Vertex AI Experiments を使用します。
Vertex AI Experiments では、次のことができます。
- 本番環境対応のワークロード向けに、ユーザー フレンドリーな UI と API を使用して、メタデータの追跡と検出を効率化し、自動化します。
- モデルのパフォーマンス指標を分析し、複数のモデル間で指標を比較します。
モデルのトレーニングが完了したら、受信データのパフォーマンスとデータドリフトを継続的にモニタリングします。このプロセスを効率化するには、Vertex AI Model Monitoring を使用して、Model Registry で作成されたモデルに直接アクセスします。Model Monitoring は、オンライン予測とバッチ予測によるデータと結果のモニタリングも自動化します。結果を BigQuery にエクスポートして、さらに分析や追跡を行うことができます。
トレーニングを自動化するための最適な戦略を選択する
ハイパーパラメータ チューニングには、次の方法をおすすめします。
- モデルに最適なハイパーパラメータを見つけるプロセスを自動化するには、Vertex AI ハイパーパラメータ チューニングを使用します。Vertex AI は、高度なアルゴリズムを使用してハイパーパラメータ空間を探索し、最適な構成を特定します。
- 効率的なハイパーパラメータ チューニングを行うには、特に複雑なモデルや大規模なデータセットを扱う場合は、ベイズ最適化手法の使用を検討してください。
分散トレーニングには、次のアプローチをおすすめします。
大規模なデータセットと複雑なモデルの場合は、Vertex AI の分散トレーニング インフラストラクチャを使用します。このアプローチでは、複数のマシンでモデルをトレーニングできるため、トレーニング時間と関連費用を大幅に削減できます。次のようなツールを使用します。
- Vertex AI チューニング: Gemini、Imagen などのモデルの教師ありファインチューニングを実行します。
- カスタム分散トレーニング用の Vertex AI トレーニングまたは Vertex AI の Ray。
分散トレーニングと効率的なリソース使用率をサポートする、Keras や PyTorch などの最適化された ML フレームワークを選択します。
説明可能な AI を使用する
モデルが特定の決定を下す理由を理解し、潜在的なバイアスや改善すべき領域を特定することが重要です。Vertex Explainable AI を使用して、モデルの予測に関する分析情報を取得します。Vertex Explainable AI には、Vertex AI Experiments にリンクされている特徴ベースの説明と例に基づく説明を自動化する方法が用意されています。
- 特徴ベース: モデルの予測に最も影響を与える特徴を把握するには、特徴アトリビューションを分析します。この理解は、特徴量エンジニアリングの取り組みを導き、モデルの解釈可能性を高めることができます。
- 例ベース: 入力に最も類似した例(通常はトレーニング セットから)のリストを返すために、Vertex AI は最近傍探索を使用します。通常、類似した入力から同様の予測が得られるため、これらの説明を使用してモデルの動作を調査し、説明できます。
マネージド サービスと事前トレーニング済みモデルを使用する
モデルの選択とモデル開発に増分アプローチを採用します。このアプローチにより、毎回最初からやり直す必要がなくなり、それに伴う過剰な費用を回避できます。コストを抑えるには、ML フレームワーク、マネージド サービス、事前トレーニング済みモデルを使用します。
マネージド サービスと事前トレーニング済みモデルを最大限に活用するには、次の推奨事項を検討してください。
探索とテストにノートブックを使用する
ノートブック環境は、費用対効果の高い ML テストに不可欠です。ノートブックは、データ サイエンティストとエンジニアがデータを探索し、モデルを開発し、知識を共有し、効率的に反復処理を行うためのインタラクティブで共同作業が可能なスペースを提供します。ノートブックによるコラボレーションと知識の共有により、開発、コードレビュー、知識の伝達が大幅に加速します。ノートブックは、ワークフローの効率化と重複作業の削減に役立ちます。
開発環境用に高価なハードウェアを調達して管理する代わりに、Vertex AI Workbench と Colab Enterprise のスケーラブルなオンデマンド インフラストラクチャを使用できます。
Vertex AI Workbench は、データ サイエンス ワークフロー全体に対応する Jupyter ノートブック開発環境です。インスタンスの Jupyter ノートブック内から Vertex AI や他の Google Cloudサービスを操作できます。Vertex AI Workbench の統合と機能により、次のことが可能になります。
- BigQuery と Cloud Storage のインテグレーションを使用して、Jupyter ノートブックからデータにアクセスして探索する。
- Vertex AI で実行されるコードの実行スケジュールを使用して、モデルへの定期的な更新を自動化する。
- Dataproc クラスタでノートブックを実行してデータを迅速に処理する。
- Vertex AI Pipelines を使用して、パイプラインのステップとしてノートブックを実行する。
Colab Enterprise は、 Google Cloudのセキュリティ機能とコンプライアンス機能を備えたコラボレーション指向のマネージド ノートブック環境です。共同開発とインフラストラクチャの管理にかかる労力の削減がプロジェクトの優先事項である場合は、Colab Enterprise が最適です。Colab Enterprise は、Google Cloud サービスと Gemini を使用した AI によるアシスタンスと統合されています。Colab Enterprise では、次のことができます。
- インフラストラクチャを管理する必要なくノートブックで作業できます。
- ノートブックを単一のユーザー、Google グループ、または Google Workspace ドメインと共有します。ノートブックへのアクセスは、Identity and Access Management(IAM)で制御できます。
- Vertex AI と BigQuery に組み込まれた機能を操作します。
変更を追跡し、必要に応じて以前のバージョンに戻すには、ノートブックを Git などのバージョン管理ツールと統合します。
既存の事前トレーニング済みモデルから始める
複雑なモデル(特にディープ ラーニング モデル)をゼロからトレーニングするには、多大な計算リソースと時間が必要です。モデルの選択と開発プロセスを加速するには、既存のモデルと事前トレーニング済みモデルから始めます。これらのモデルは、大規模なデータセットでトレーニングされているため、モデルをゼロからトレーニングする必要がなく、コストと開発時間を大幅に削減できます。
トレーニングと開発の費用を削減する
各 ML タスクに適したモデルまたは API を選択し、それらを組み合わせてエンドツーエンドの ML 開発プロセスを作成します。
Vertex AI Model Garden には、画像分類、オブジェクト検出、自然言語処理などのタスクに対応した事前トレーニング済みモデルが豊富に用意されています。モデルは次のカテゴリに分類されます。
- Google モデル(Gemini モデル ファミリーや画像生成用の Imagen など)。
- Gemma や Llama などのオープンソース モデル。
- Anthropic や Mistral AI などのパートナーのサードパーティ モデル。
Google Cloud は、デベロッパーがモデルをゼロから構築することなく、強力な AI 機能をアプリケーションに統合できる AI API と ML API を提供します。
- Cloud Vision API を使用すると、画像から分析情報を抽出できます。この API は、画像分析、コンテンツの管理、データ入力の自動化などのアプリケーションに役立ちます。
- Cloud Natural Language API を使用すると、テキストを分析して構造と意味を理解できます。この API は、顧客フィードバックの分析、コンテンツの分類、ソーシャル メディアのトレンドの把握などのタスクに役立ちます。
- Speech-to-Text API は、音声をテキストに変換します。この API は、幅広い言語と方言をサポートしています。
- Video Intelligence API は、動画コンテンツを分析して、オブジェクト、シーン、アクションを識別します。この API は、動画コンテンツの分析、コンテンツの管理、動画検索に使用できます。
- Document AI API は、ドキュメントを処理して、データの抽出、分類、理解を行います。この API は、ドキュメント処理ワークフローの自動化に役立ちます。
- Dialogflow API を使用すると、チャットボットや音声アシスタントなどの会話インターフェースを作成できます。この API を使用して、カスタマー サービス ボットやバーチャル アシスタントを作成できます。
- Vertex AI の Gemini API を使用すると、Google の最も高性能な汎用 AI モデルにアクセスできます。
チューニング費用を削減する
大量のデータとコンピューティング時間を必要としないように、特定のデータセットで事前トレーニング済みモデルをファインチューニングします。次の方法をおすすめします。
- 学習転移: ゼロから始めるのではなく、事前トレーニング済みモデルの知識を新しいタスクに使用します。このアプローチでは、データとコンピューティング時間が少なくて済むため、コスト削減につながります。
- アダプタ チューニング(パラメータ効率チューニング): フル ファインチューニングを行わずに、モデルを新しいタスクやドメインに適応させます。このアプローチでは、必要なコンピューティング リソースとデータセットが大幅に少なくなります。
- 教師ありファインチューニング: ラベル付きデータセットを使用してモデルの動作を調整します。このアプローチにより、基盤となるインフラストラクチャの管理と、カスタム トレーニング ジョブに必要な開発作業が簡素化されます。
Vertex AI Studio を使用して探索し、テストする
Vertex AI Studio を使用すると、生成 AI アプリケーションを迅速にテスト、プロトタイピング、デプロイできます。
- Model Garden との統合: 最新のモデルにすばやくアクセスし、モデルを効率的にデプロイして時間と費用を節約できます。
- 特殊モデルへの統合アクセス: チャット、テキスト、メディア、翻訳、音声などの事前トレーニング済みモデルと API へのアクセスを統合します。この統合アクセスにより、個々のサービスの検索と統合にかかる時間を短縮できます。
マネージド サービスを使用してモデルをトレーニングまたはサービングする
マネージド サービスは、モデル トレーニングの費用を削減し、インフラストラクチャの管理を簡素化するのに役立ちます。これにより、モデルの開発と最適化に集中できます。このアプローチにより、コスト削減と効率向上の両面で大きなメリットが得られます。
運用オーバーヘッドの削減
インフラストラクチャ管理の複雑さとコストを削減するには、次のようなマネージド サービスを使用します。
- Vertex AI Training は、モデルのトレーニングを大規模に行うためのフルマネージド環境を提供します。一般的な ML フレームワークを含むさまざまな事前構築済みコンテナから選択するか、独自のカスタム コンテナを使用できます。 Google Cloud はインフラストラクチャのプロビジョニング、スケーリング、メンテナンスを処理するため、運用オーバーヘッドを削減できます。
- Vertex AI 予測は、インフラストラクチャのスケーリング、ロード バランシング、リクエストのルーティングを処理します。手動で介入することなく、高い可用性とパフォーマンスを実現できます。
- Ray on Vertex AI は、フルマネージドの Ray クラスタを提供します。クラスタを使用すると、独自のインフラストラクチャを管理することなく、多くの計算を実行する複雑なカスタム AI ワークロード(ハイパーパラメータ チューニング、モデル ファインチューニング、分散モデル トレーニング、人間のフィードバックからの強化学習)を実行できます。
マネージド サービスを使用してリソース使用率を最適化する
リソース使用率の最適化の詳細については、リソース使用率を最適化するをご覧ください。
寄稿者
著者:
- Isaac Lo | AI ビジネス デベロップメント マネージャー
- 生成 AI 担当フィールド ソリューション アーキテクト Anastasia Prokaeva
- Amy Southwood | テクニカル ソリューション コンサルタント、データ分析と AI
その他の寄稿者:
- Filipe Gracio 博士 | カスタマー エンジニア
- Kumar Dhanagopal | クロス プロダクト ソリューション デベロッパー
- Marwan Al Shawi | パートナー カスタマー エンジニア
- Nicolas Pintaux | カスタマー エンジニア、アプリケーション モダナイゼーション スペシャリスト