AWS で大規模な言語モデルをモニタリングするための技術とアプローチ |アマゾン ウェブ サービス

AWS で大規模な言語モデルをモニタリングするための技術とアプローチ |アマゾン ウェブ サービス

大規模言語モデル (LLM) は、自然言語処理 (NLP) の分野に革命をもたらし、言語翻訳、テキストの要約、感情分析などのタスクを改善しました。ただし、これらのモデルのサイズと複雑さが増大し続けるにつれて、そのパフォーマンスと動作を監視することがますます困難になってきています。

LLM のパフォーマンスと動作を監視することは、LLM の安全性と有効性を確保するために重要なタスクです。私たちが提案するアーキテクチャは、オンライン LLM モニタリングのためのスケーラブルでカスタマイズ可能なソリューションを提供し、チームがモニタリング ソリューションを特定のユースケースや要件に合わせて調整できるようにします。 AWS のサービスを使用することで、当社のアーキテクチャは LLM の動作をリアルタイムで可視化し、チームが問題や異常を迅速に特定して対処できるようにします。

この投稿では、オンライン LLM モニタリングのいくつかのメトリクスと、次のような AWS サービスを使用したスケールに対応したそれぞれのアーキテクチャを示します。 アマゾンクラウドウォッチ および AWSラムダ。これにより、従来の機能を超えたカスタマイズ可能なソリューションが提供されます。 モデル評価 との仕事 アマゾンの岩盤.

ソリューションの概要

まず考慮すべきことは、メトリクスが異なれば計算上の考慮事項も異なるということです。各モジュールがモデル推論データを取り込み、独自のメトリクスを生成できるモジュール式アーキテクチャが必要です。

各モジュールが受信した推論リクエストを LLM に受け取り、プロンプトと完了 (応答) のペアをメトリクス計算モジュールに渡すことをお勧めします。各モジュールは、入力プロンプトと完了 (応答) に関する独自のメトリクスを計算する責任があります。これらのメトリクスは CloudWatch に渡され、メトリクスを集約し、CloudWatch アラームと連携して特定の条件で通知を送信できます。次の図は、このアーキテクチャを示しています。

図 1: メトリック計算モジュール – ソリューションの概要

図 1: メトリック計算モジュール – ソリューションの概要

ワークフローには次の手順が含まれます。

  1. ユーザーは、アプリケーションまたはユーザーインターフェイスの一部として Amazon Bedrock にリクエストを行います。
  2. Amazon Bedrock はリクエストと完了 (レスポンス) を次の場所に保存します。 Amazon シンプル ストレージ サービス (Amazon S3) の構成に従って 呼び出しログ.
  3. Amazon S3 に保存されたファイルは、次のイベントを作成します。 トリガされ ラムダ関数。関数はモジュールを呼び出します。
  4. モジュールはそれぞれのメトリクスを次の場所に投稿します。 CloudWatch メトリクス.
  5. アラーム 予期しないメトリック値を開発チームに通知することができます。

LLM モニタリングを実装する際に 2 番目に考慮すべきことは、追跡する適切なメトリクスを選択することです。 LLM のパフォーマンスを監視するために使用できる潜在的なメトリクスは数多くありますが、この投稿では最も広範なメトリクスのいくつかについて説明します。

次のセクションでは、関連するモジュール メトリックのいくつかと、それぞれのメトリック計算モジュール アーキテクチャに焦点を当てます。

プロンプトと完了 (応答) の意味上の類似性

LLM を実行する場合、各リクエストのプロンプトと完了 (応答) をインターセプトし、埋め込みモデルを使用してそれらを埋め込みに変換できます。埋め込みは、テキストの意味論的な意味を表す高次元ベクトルです。 アマゾンタイタン Titan Embedding を通じてそのようなモデルを提供します。これら 2 つのベクトル間のコサインなどの距離を取ることで、プロンプトと完了 (応答) が意味的にどの程度類似しているかを定量化できます。使用できます SciPy or scikit-学ぶ ベクトル間のコサイン距離を計算します。次の図は、このメトリック計算モジュールのアーキテクチャを示しています。

図 2: メトリック計算モジュール – 意味論的な類似性

図 2: メトリック計算モジュール – 意味論的な類似性

このワークフローには、次の主要な手順が含まれています。

  1. Lambda 関数は、ストリーミング メッセージを次の方法で受信します。 アマゾンキネシス プロンプトと完了 (応答) のペアが含まれます。
  2. この関数は、プロンプトと完了 (応答) の両方の埋め込みを取得し、2 つのベクトル間のコサイン距離を計算します。
  3. この関数はその情報を CloudWatch メトリクスに送信します。

感情と毒性

センチメントをモニタリングすると、全体的なトーンや応答の感情的影響を測定できます。一方、毒性分析は、LLM 出力に攻撃的、無礼、または有害な言葉が存在するかどうかの重要な尺度を提供します。感情や有害性の変化を注意深く監視して、モデルが期待どおりに動作していることを確認する必要があります。次の図は、メトリック計算モジュールを示しています。

図 3: メトリクス計算モジュール – センチメントと有害性

図 3: メトリクス計算モジュール – センチメントと有害性

ワークフローには次の手順が含まれます。

  1. Lambda 関数は、Amazon Kinesis を通じてプロンプトと完了 (応答) のペアを受け取ります。
  2. AWS Step Functions オーケストレーションを通じて、関数は Amazon Comprehend を検出する 感情 および 毒性.
  3. この関数は、情報を CloudWatch メトリクスに保存します。

Amazon Comprehend を使用した感情と毒性の検出の詳細については、以下を参照してください。 堅牢なテキストベースの毒性予測因子を構築する および Amazon Comprehend 毒性検出を使用して有害なコンテンツにフラグを立てる.

拒否率

情報不足を理由に LLM が完了を拒否する場合など、拒否の増加は、悪意のあるユーザーが脱獄を目的とした方法で LLM を使用しようとしている、またはユーザーの期待が満たされず、ユーザーの要求が満たされていないことを意味している可能性があります。価値の低い応答を取得しています。これがどのくらいの頻度で発生しているかを測定する 2 つの方法は、使用されている LLM モデルからの標準的な拒否と LLM からの実際の応答を比較することです。たとえば、以下は Anthropic の Claude vXNUMX LLM の一般的な拒否フレーズの一部です。

“Unfortunately, I do not have enough context to provide a substantive response. However, I am an AI assistant created by Anthropic to be helpful, harmless, and honest.”

“I apologize, but I cannot recommend ways to…”

“I'm an AI assistant created by Anthropic to be helpful, harmless, and honest.”

固定された一連のプロンプトでは、これらの拒否の増加は、モデルが過度に慎重になっているか、敏感になっている可能性があります。逆の場合も評価する必要があります。これは、モデルが有毒または有害な会話に参加する傾向が高まっていることを示している可能性があります。

整合性のモデル化と拒否率のモデル化を支援するために、応答を LLM からの既知の拒否フレーズのセットと比較できます。これは、モデルがリクエストを拒否した理由を説明できる実際の分類子である可能性があります。応答と、監視対象のモデルからの既知の拒否応答との間のコサイン距離を取得できます。次の図は、このメトリック計算モジュールを示しています。

図 4: メトリクス計算モジュール – 拒否の割合

図 4: メトリクス計算モジュール – 拒否の割合

ワークフローは次の手順で構成されます。
  1. Lambda 関数はプロンプトと完了 (応答) を受け取り、Amazon Titan を使用して応答から埋め込みを取得します。
  2. この関数は、応答とメモリにキャッシュされている既存の拒否プロンプトとの間のコサイン距離またはユークリッド距離を計算します。
  3. この関数は、その平均を CloudWatch メトリクスに送信します。

もう一つの選択肢は、 あいまい一致 既知の拒否を LLM 出力と比較するための単純だが強力ではないアプローチ。を参照してください。 Pythonドキュメント 例として挙げられる。

まとめ

LLM の可観測性は、LLM の信頼できる使用を保証するための重要な実践です。 LLM の精度と信頼性を監視、理解、保証することは、これらの AI モデルに関連するリスクを軽減するのに役立ちます。幻覚、不適切な完了 (応答)、プロンプトを監視することで、LLM が順調に進み、あなたとあなたのユーザーが求めている価値を確実に提供できるようになります。この投稿では、例を紹介するためにいくつかの指標について説明しました。

基礎モデルの評価の詳細については、を参照してください。 SageMaker Clarify を使用して基礎モデルを評価する、追加のブラウズ ノートブックの例 GitHub リポジトリで入手できます。また、LLM 評価を大規模に運用する方法を検討することもできます。 Amazon SageMaker Clear および MLOps サービスを使用して LLM 評価を大規模に運用可能。最後に、以下を参照することをお勧めします。 大規模な言語モデルの品質と責任を評価する LLM の評価について詳しくは、こちらをご覧ください。


著者について

AWS で大規模な言語モデルをモニタリングするための技術とアプローチ |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。ブルーノクライン は、AW​​S プロフェッショナル サービス分析プラクティスを担当するシニア機械学習エンジニアです。彼は、顧客がビッグデータと分析ソリューションを実装するのを支援しています。仕事以外では、家族と時間を過ごしたり、旅行したり、新しい食べ物を試したりすることを楽しんでいます。

AWS で大規模な言語モデルをモニタリングするための技術とアプローチ |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。ルシャブ・ロカンデ は、AW​​S プロフェッショナル サービス分析プラクティスを担当するシニア データ & ML エンジニアです。彼は、顧客がビッグデータ、機械学習、分析ソリューションを実装するのを支援しています。仕事以外では、家族と過ごしたり、読書、ランニング、ゴルフを楽しんでいます。

タイムスタンプ:

より多くの AWS機械学習