AI アプリケーションをスケーリングしてトラフィック量が増加した場合は、復元力とパフォーマンスを考慮した設計が重要になります。このセクションでは、要求の厳しい環境で Model Armor を効果的に使用するためのベスト プラクティスについて説明します。
割り当てとシステム上限
Model Armor には、公平な使用とシステムの安定性を確保するための割り当てとシステム上限が含まれています。
- 割り当ての引き上げをリクエストする: トラフィックの増加が予想される場合は、Cloud カスタマーケアに連絡して、Model Armor API の割り当ての調整をリクエストします。
- システムの上限を理解する: 必要に応じて大きな入力をチャンク化するなど、これらの上限を適切に処理するようにアプリケーションを設計します。具体的な値については、割り当てとシステムの上限をご覧ください。
高トラフィックと復元力を考慮した設計
- クライアントサイドでの指数バックオフによる再試行: クライアントに堅牢なエラー処理を実装するレート制限やサーバーエラーなど、再試行可能なエラーの場合は、指数バックオフ戦略を使用します。これにより、一時的な問題が発生したときにサービスが過負荷になるのを防ぐことができます。詳細については、再試行戦略をご覧ください。
- キャッシュ保存戦略: 該当する場合は、同一のプロンプトに対する Model Armor のレスポンスをキャッシュに保存します。特に、一般的または機密性の低いインタラクションの場合に有効です。キャッシングを行う際は、データの更新速度とセキュリティへの影響に注意してください。
- 非同期処理: 非インタラクティブ ワークロードの場合は、リクエストを非同期で処理することを検討してください。リクエストをキューに登録し、API の上限を尊重してトラフィックの急増を緩和するレートで処理します。
- グレースフル デグラデーション: Model Armor が利用できない場合やエラーが発生した場合に処理するようにアプリケーションを設計します。フォールバック メカニズムを実装するか、障害をロギングしながら特定のチェックを一時的にバイパスすることを検討してください。
パフォーマンスの最適化
- ペイロード サイズを最小限に抑える: 分析に必要なデータのみを Model Armor に送信します。不必要に大きなプロンプトやファイルは避けてください。
- テンプレート構成を最適化する: ユースケースに不可欠なフィルタと設定のみを含むように Model Armor テンプレートを構成します。不要な検出器を有効にすると、レイテンシが増加する可能性があります。
- アプリケーション、データ、リクエストを同じリージョンに保持する: アプリケーションをデプロイし、同じリージョンで Model Armor エンドポイントを使用して、ネットワーク レイテンシを最小限に抑えます。詳細については、Model Armor のロケーションをご覧ください。
モニタリングとアラート
- アラートを設定する: Cloud Monitoring でアラートを構成して、割り当て上限に近づいた場合や、Model Armor API から高いエラー率が発生した場合に通知を受け取ります。
- ログを分析する: Cloud Logging を使用して、Model Armor の使用パターン、エラー、パフォーマンス指標を分析します。ログを分析すると、ボトルネックや最適化の余地がある領域を特定できます。詳細については、ログをフィルタするをご覧ください。