AI と ML の視点: 信頼性

Last reviewed 2024-10-11 UTC

アーキテクチャ フレームワーク: AI と ML の視点のこのドキュメントでは、Google Cloud で信頼性の高い AI システムと ML システムを設計して運用するための原則と推奨事項の概要について説明します。高度な信頼性プラクティスとオブザーバビリティをアーキテクチャ ブループリントに統合する方法について説明します。このドキュメントの推奨事項は、アーキテクチャ フレームワークの信頼性の柱に沿っています。

急速に進化する AI と ML の環境では、顧客満足を確保し、ビジネス目標を達成するために、信頼できるシステムが不可欠です。予測 ML と生成 AI の両方の固有の要件を満たすために、堅牢で信頼性が高く、適応性のある AI システムと ML システムが必要です。開発からデプロイ、継続的改善まで、MLOps の複雑さを処理するには、信頼性重視のアプローチを使用する必要があります。Google Cloud は、サイト信頼性エンジニアリング(SRE)の原則に沿って構築された、信頼性の高い AI と ML システムのための強力な基盤となる、専用の AI インフラストラクチャを提供します。

インフラストラクチャがスケーラブルで高可用性であることを確認する

スケーラビリティと可用性を考慮したアーキテクチャを構築することで、サービス中断やパフォーマンスの低下を招くことなく、アプリケーションがさまざまなレベルの需要に対応できるようになります。つまり、インフラストラクチャの停止中やトラフィックが非常に多い場合でも、ユーザーは AI サービスを利用できます。

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

  • 需要の変動に対応するために、自動スケーリング機能と動的スケーリング機能を備えた AI システムを設計します。これにより、トラフィックの急増時でも最適なパフォーマンスを確保できます。
  • 負荷テストとパフォーマンス モニタリングにより、リソースを事前に管理し、将来のニーズを予測します。過去のデータと予測分析を使用して、リソースの割り当てについて十分な情報に基づく意思決定を行います。
  • Google Cloud のマルチゾーンとマルチリージョンのデプロイ アーキタイプを採用し、冗長性とレプリケーションを実装して、高可用性とフォールト トレラントな設計を実現します。
  • 受信トラフィックを AI サービスと ML サービスの複数のインスタンスとエンドポイントに分散します。ロード バランシングは、単一のインスタンスの過負荷を防ぎ、一貫したパフォーマンスと可用性を確保するのに役立ちます。

モジュラーで疎結合のアーキテクチャを使用する

AI システムを個々のコンポーネントの障害に対して耐障害性を持たせるには、モジュラー アーキテクチャを使用します。たとえば、データ処理コンポーネントとデータ検証コンポーネントを個別のモジュールとして設計します。特定のコンポーネントに障害が発生した場合、モジュラー アーキテクチャによりダウンタイムを最小限に抑え、チームが修正を迅速に開発してデプロイできます。

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

  • AI システムと ML システムを、小さな自己完結型のモジュールまたはコンポーネントに分離します。このアプローチにより、コードの再利用性が向上し、テストとメンテナンスが簡素化されます。また、個々のコンポーネントを独立して開発してデプロイできます。
  • 明確に定義されたインターフェースを使用して、疎結合モジュールを設計します。このアプローチでは依存関係が最小限に抑えられ、システム全体に影響を与えることなく、個別に更新や変更を行うことができます。
  • グレースフル デグラデーションに備えて計画します。コンポーネントで障害が発生しても、システムの他の部分は引き続き適切なレベルの機能を提供する必要があります。
  • API を使用してモジュール間の明確な境界を作成し、モジュールレベルの実装の詳細を非表示にします。このアプローチでは、システムの他の部分とのやり取りに影響を与えることなく、個々のコンポーネントを更新または置き換えることができます。

MLOps 自動化プラットフォームを構築する

MLOps プラットフォームを自動化すると、モデル ライフサイクルのステージと出力の信頼性が高まります。一貫性、疎結合、モジュール性を促進し、オペレーションとインフラストラクチャをコードとして表現することで、脆弱な手動ステップを排除し、より堅牢で信頼性の高い AI と ML システムを維持できます。

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

  • データの準備と検証から、モデルのトレーニング、評価、デプロイ、モニタリングまで、モデル開発ライフサイクルを自動化します。
  • Infrastructure as Code(IaC)でインフラストラクチャを管理します。このアプローチにより、効率的なバージョン管理、必要に応じた迅速なロールバック、再現可能なデプロイが可能になります。
  • 関連データを使用して、モデルが期待どおりに動作することを検証します。モデルのパフォーマンス モニタリングを自動化し、予期しない出力に対して適切なアラートを構築します。
  • AI パイプラインと ML パイプラインの入出力を検証します。たとえば、データ、構成、コマンド引数、ファイル、予測を検証します。予期しない値や許可されていない値に対するアラートを構成する。
  • モデル エンドポイントにマネージド バージョン管理戦略を採用します。この種の戦略により、増分リリースと問題発生時の迅速な復旧が可能になります。

データとモデルのガバナンスを通じて信頼と制御を維持する

AI システムと ML システムの信頼性は、データとモデルの信頼性とガバナンス機能によって異なります。AI の出力が期待に沿わない結果になることがあります。たとえば、出力は形式的には一貫しているものの、正しくない、または望ましくない場合があります。トレーサビリティと強力なガバナンスを実装することで、出力の信頼性と信頼性を保証できます。

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

  • データカタログとモデルカタログを使用して、アセットを効果的に追跡、管理します。トレースや監査を容易にするために、ライフサイクル全体でデータとモデルのバージョンの包括的な記録を維持します。
  • 厳格なアクセス制御と監査証跡を実装して、機密データとモデルを保護します。
  • AI のバイアス(特に生成 AI アプリケーション)に関する重要な問題に対処します。信頼関係を築くには、モデル出力の透明性と説明可能性を追求します。
  • 特徴統計情報の生成を自動化し、異常検出を実装して、データの問題を事前に特定します。モデルの信頼性を確保するには、データ分布の変化の影響を検出して軽減するメカニズムを構築します。

包括的な AI と ML のオブザーバビリティと信頼性の実践を実装する

AI オペレーションを継続的に改善するには、有意な信頼性目標を定義し、進捗状況を測定する必要があります。オブザーバビリティは、信頼性の高いシステムの基本要素です。オブザーバビリティを使用すると、進行中のオペレーションと重要なイベントを管理できます。適切に実装されたオブザーバビリティは、ユーザー向けの信頼性の高いサービスを構築して維持するのに役立ちます。

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

  • プロセッサ(CPU、GPU、TPU)のインフラストラクチャ指標と、メモリ使用量、ネットワーク レイテンシ、ディスク使用量などの他のリソースの指標を追跡します。負荷テストとパフォーマンス モニタリングを実施します。モニタリングからのテスト結果と指標を使用して、AI システムと ML システムのスケーリングと容量を管理します。
  • 信頼性の目標を設定し、アプリケーション指標を追跡します。構築した AI アプリケーションのスループットやレイテンシなどの指標を測定します。アプリケーションと公開されているエンドポイントの使用パターンをモニタリングします。
  • モデルの信頼性を評価するために、精度や安全性指標などのモデル固有の指標を確立します。これらの指標を経時的に追跡して、ドリフトや劣化を特定します。効率的なバージョン管理と自動化のために、モニタリング構成をコードとして定義します。
  • ビジネスレベルの指標を定義して追跡し、モデルと信頼性がビジネス成果に与える影響を把握します。AI サービスと ML サービスの信頼性を測定するには、SRE アプローチを採用し、サービスレベル目標(SLO)を定義することを検討してください。

寄稿者

著者:

その他の寄稿者:

  • Jose Andrade | エンタープライズ インフラストラクチャ カスタマー エンジニア
  • Kumar Dhanagopal | クロス プロダクト ソリューション デベロッパー
  • Marwan Al Shawi | パートナー カスタマー エンジニア