AI と ML の視点: パフォーマンス最適化

Last reviewed 2024-10-11 UTC

アーキテクチャ フレームワーク: AI と ML の視点のこのドキュメントでは、Google Cloud で AI ワークロードと ML ワークロードのパフォーマンスを最適化するための原則と推奨事項の概要について説明します。このドキュメントの推奨事項は、アーキテクチャ フレームワークのパフォーマンス最適化の柱に沿っています。

AI システムと ML システムにより、組織の新しい自動化機能と意思決定機能を実現できます。これらのシステムのパフォーマンスは、収益、費用、顧客満足度などのビジネス推進要因に直接影響する可能性があります。AI システムと ML システムの可能性を最大限に引き出すには、ビジネス目標と技術要件に基づいてパフォーマンスを最適化する必要があります。パフォーマンスの最適化プロセスでは、多くの場合、特定のトレードオフが発生します。たとえば、必要なパフォーマンスを提供する設計を選択すると、コストが増加する可能性があります。このドキュメントの推奨事項では、費用などの他の考慮事項よりもパフォーマンスを優先しています。

AI と ML のパフォーマンスを最適化するには、モデルのアーキテクチャ、パラメータ、トレーニング戦略などの要素について決定する必要があります。これらの決定を行う際は、AI システムと ML システムのライフサイクル全体とそのデプロイ環境を考慮してください。たとえば、非常に大規模な LLM は、大規模なトレーニング インフラストラクチャで高いパフォーマンスを発揮できますが、非常に大規模なモデルは、モバイル デバイスなどの容量に制約のある環境ではパフォーマンスが低下する可能性があります。

ビジネス目標をパフォーマンス目標に変換する

パフォーマンスを最適化するアーキテクチャについて意思決定を行うには、まず明確なビジネス目標を設定します。ビジネス目標と優先事項をサポートするために必要な技術的なパフォーマンスを提供する AI システムと ML システムを設計します。技術チームは、パフォーマンス目標とビジネス目標のマッピングを理解する必要があります。

以下の推奨事項を参考にしてください。

  • ビジネス目標を技術要件に変換する: AI システムと ML システムのビジネス目標を具体的な技術的パフォーマンス要件に変換し、要件を満たさない場合の影響を評価します。たとえば、顧客の解約を予測するアプリケーションの場合、ML モデルは精度や再現率などの標準指標で優れたパフォーマンスを発揮する必要があります。また、アプリケーションは低レイテンシなどの運用要件を満たす必要があります。
  • モデル ライフサイクルのすべての段階でパフォーマンスをモニタリングする: モデルのデプロイ後のテストとトレーニング中に、主要なパフォーマンス指標(KPI)をモニタリングし、ビジネス目標からの逸脱を観察します。
  • 評価を自動化して再現性と標準化を実現する: テスト評価用の標準化された比較可能なプラットフォームと方法論により、エンジニアはパフォーマンス改善のペースを上げることができます。

頻繁なテストを実行して追跡する

イノベーションと創造性をパフォーマンスの向上につなげるには、テストをサポートする文化とプラットフォームが必要です。AI と ML の技術は継続的かつ迅速に進化しているため、パフォーマンスの向上は継続的なプロセスとなります。高速で反復的なプロセスを維持するには、テスト環境をトレーニング プラットフォームとサービング プラットフォームから分離する必要があります。標準化された堅牢なテストプロセスが重要です。

以下の推奨事項を参考にしてください。

  • テスト環境を構築する: パフォーマンスを向上させるには、ML パイプラインのテストと共同開発をサポートする、強力でインタラクティブな専用環境が必要です。
  • テストを文化として組み込む: 本番環境にデプロイする前にテストを実施します。新しいバージョンを反復的にリリースし、常にパフォーマンス データを収集します。さまざまなデータ型、特徴変換、アルゴリズム、ハイパーパラメータをテストします。

トレーニング サービスとサービング サービスを構築して自動化する

AI モデルのトレーニングとサービングは、AI サービスのコア コンポーネントです。AI モデルの迅速かつ信頼性の高い作成、デプロイ、サービングをサポートする堅牢なプラットフォームと手法が必要です。コア AI トレーニングとサービング タスクの基盤となるプラットフォームの構築に時間と労力を費やします。これらの基盤となるプラットフォームは、中長期的にチームの作業時間と労力を削減し、出力の品質を向上させるのに役立ちます。

以下の推奨事項を参考にしてください。

  • トレーニング サービスの AI 専用コンポーネントを使用する: このようなコンポーネントには、特徴ストア、モデル レジストリ、メタデータ ストア、モデルのパフォーマンス評価サービスなど、高性能のコンピューティング コンポーネントと MLOps コンポーネントが含まれます。
  • 予測サービスの AI 専用コンポーネントを使用する: このようなコンポーネントは、高パフォーマンスでスケーラブルなリソースを提供して、特徴モニタリングをサポートし、モデルのパフォーマンス モニタリングを可能にします。パフォーマンスの低下を防ぎ、管理するには、信頼性の高いデプロイとロールバック戦略を実装します。

設計の選択をパフォーマンス要件に合わせて調整する

パフォーマンスを改善するために設計上の選択を行う場合は、その選択がビジネス要件をサポートするものであるか、逆効果になるかを慎重に評価します。適切なインフラストラクチャ、モデル、構成を選択するには、パフォーマンスのボトルネックを特定し、パフォーマンス指標とどのように関連しているかを評価します。たとえば、非常に強力な GPU アクセラレータでも、ストレージ レイヤのデータ I/O の問題や、モデル自体のパフォーマンスの制限により、トレーニング タスクでパフォーマンスのボトルネックが発生する可能性があります。

以下の推奨事項を参考にしてください。

  • パフォーマンス目標に基づいてハードウェア使用量を最適化する: パフォーマンス要件を満たす ML モデルをトレーニングして提供するには、コンピューティング レイヤ、ストレージ レイヤ、ネットワーク レイヤでインフラストラクチャを最適化する必要があります。パフォーマンス目標に影響する変数を測定して理解する必要があります。これらの変数は、トレーニングと推論で異なります。
  • ワークロード固有の要件に重点を置く: パフォーマンスの最適化に取り組む際は、AI ワークロードと ML ワークロードの固有の要件に重点を置きます。基盤となるインフラストラクチャのパフォーマンスにはマネージド サービスを使用します。
  • 適切なトレーニング戦略を選択する: 事前トレーニング済みモデルと基盤モデルがいくつか用意されており、このようなモデルは頻繁にリリースされています。タスクに最適なパフォーマンスを発揮できるトレーニング戦略を選択します。独自のモデルを構築するか、データでトレーニング済みモデルをチューニングするか、トレーニング済みモデルの API を使用するかを決定します。
  • パフォーマンス最適化戦略の費用対効果が低下する可能性があることを認識する: 特定のパフォーマンス最適化戦略で測定可能なビジネス価値の増加が得られなくなった場合は、その戦略を停止します。

パフォーマンスの問題を改善、トラブルシューティング、調査するには、設計の選択とパフォーマンスの結果の間に明確な関連性を確立します。テストに加えて、アセット、デプロイ、モデル出力、出力を生成した構成と入力のリネージについて信頼性のある記録を残す必要があります。

以下の推奨事項を参考にしてください。

  • データとモデルのリネージ システムを構築する: デプロイされたアセットとそのパフォーマンス指標はすべて、デプロイされたシステムにつながるデータ、構成、コード、選択肢にリンクされている必要があります。また、モデル出力は、特定のモデル バージョンと出力の生成方法にリンクする必要があります。
  • 説明可能性ツールを使用してモデルのパフォーマンスを改善する: モデルの探索と説明可能性のためのツールとベンチマークを採用して標準化します。これらのツールは、ML エンジニアがモデルの動作を理解し、パフォーマンスを改善したりバイアスを除去したりする際に役立ちます。

寄稿者

著者:

その他の寄稿者:

  • Kumar Dhanagopal | クロス プロダクト ソリューション デベロッパー
  • Marwan Al Shawi | パートナー カスタマー エンジニア
  • Zach Seils | ネットワーキング スペシャリスト