Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSログを活用したLLMアプリのOps検討

mtsukada
April 15, 2025
270

 AWSログを活用したLLMアプリのOps検討

2025/4/15 JAWS-UG東京 AWS Community Builders NightにてLT登壇資料です。
https://jawsug.connpass.com/event/348745/

mtsukada

April 15, 2025
Tweet

Transcript

  1. ©Mitsubishi Electric Corporation A W S ロ グ を 活

    用 し た L L M ア プ リ の O p s 検 討 塚 田 真 規 2 0 2 5 / 4 / 1 5
  2. ©Mitsubishi Electric Corporation 自 己 紹 介 2 @ma_tsukada •

    名前: • 塚田 真規 (つかだ まさき) • 所属: • 三菱電機株式会社 デジタルイノベーション事業本部 AI戦略プロジェクトグループ • 2024 Japan AWS All Certifications Engineers • AWS Community Builder 2025 • カテゴリ「AI Engineering」
  3. ©Mitsubishi Electric Corporation L L M ア プ リ ケ

    ー シ ョ ン の 開 発 / 運 用 に お け る ロ グ 3 Amazon Bedrock LLMアプリケーションの開発/運用を支援するツールは多く存在 導入/運用コスト 破壊的変更のリスク AWSサービスとの連携 開発/運用に便利! Amazon CloudWatch Amazon S3 Amazon Bedrock AWSログを活用したLLMアプリの開発/運用を検討 そこで…
  4. ©Mitsubishi Electric Corporation LLMアプリケーション A m a z o n

    B e d r o c k で デ フ ォ ル ト で 取 得 さ れ る ロ グ 4 Amazon API Gateway AWS Lambda AWS Cloud AWS Lambda Amazon Bedrock Amazon CloudWatch Metrics AWS CloudTrail CloudWatch Metrics リクエスト数、リクエストエラー数、レイテンシ、入出力トークン数など CloudTrail Bedrock関連APIの呼び出しログ • Bedrock利用開始時から取得されるログ
  5. ©Mitsubishi Electric Corporation LLMアプリケーション A m a z o n

    B e d r o c k M o d e l i n v o c a t i o n l o g 5 Amazon API Gateway AWS Lambda AWS Cloud AWS Lambda Amazon Bedrock Logs Amazon CloudWatch Amazon S3 bucket Metrics AWS CloudTrail ログ内容 LLMへの入力内容、LLMの出力内容、メタデータ ログ保存先 S3バケット、 CloudWatch Logs(単一ロググループ) • 「Model invocation logging」機能有効化で、追加のログ取得が可能
  6. ©Mitsubishi Electric Corporation M o d e l I n

    v o c a t i o n L o g の 課 題 6 Log Amazon CloudWatch Log Log Log Log Log Log group “ModelInvocationLog” 指定可能のロググループは1つのみ 単一トランザクションログの紐付けが困難 複数アプリケーションのログが混在 課題
  7. ©Mitsubishi Electric Corporation メ タ デ ー タ に よ

    る M o d e l I n v o c a t i o n ロ グ の 関 連 付 け 7 Log Amazon CloudWatch Log Log Log Log Log Log group “ModelInvocationLog” tracdId: “aaa” tracdId: “aaa” tracdId: “aaa” tracdId: “aaa” tracdId: “bbb” tracdId: “bbb” メタデータとしてTrace IDを付与 →フィルターでTrace IDを指定し、ログ取得 解決方針 Request Metadata
  8. ©Mitsubishi Electric Corporation Tr a c e I D に

    よ る M o d e l I n v o c a t i o n ロ グ の 関 連 付 け 8 参考:https://github.com/moritalous/bedrocksmith TraceIDごとにグルーピング 時系列順に表示
  9. ©Mitsubishi Electric Corporation LLMアプリケーション At h e n a に

    よ る M o d e l I n v o c a t i o n L o g の 分 析 9 Amazon API Gateway AWS Lambda AWS Cloud AWS Lambda Amazon Bedrock Logs Amazon CloudWatch Metrics AWS CloudTrail • Bedrock Logの分析 • Amazon AthenaによるModel Invocation Logの分析 • リージョン、タイムスタンプなどを条件にトークンやレイテンシなどのLLM利用状況分析可能 Amazon S3 bucket Amazon Athena
  10. ©Mitsubishi Electric Corporation At h e n a に よ

    る M o d e l I n v o c a t i o n L o g の 分 析 10 { "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2025-04-99T23:00:17Z", "accountId": "654654377904", "identity": { "arn": "arn:aws:sts::xxxx" }, "region": "us-east-1", "requestId": "915a6a04-3f83-4c70-a277-7fbf7ea546b3", "operation": "Converse", "modelId": "anthropic.claude-3-haiku-20240307-v1:0", "input": { "inputContentType": "application/json", "inputBodyJson": { "messages": [ { "role": "user", "content": [ { "text": “xxxx" } ] } ] }, "inputTokenCount": 35 }, "output": { "outputContentType": "application/json", "outputBodyJson": { "output": { "message": { "role": "assistant", "content": [ { "text": “yyyy" } ] } }, "stopReason": "end_turn", "metrics": { "latencyMs": 3640 }, "usage": { "inputTokens": 35, "outputTokens": 446, "totalTokens": 481 } }, "outputTokenCount": 446 }, "requestMetadata": { "traceId": "b956002a-fd01-47ba-9da7-07e4c9b1a6b6" } } メタデータ LLMへの入力 LLMの出力 Model Invocation Log Table Amazon S3 クエリ 集約結果
  11. ©Mitsubishi Electric Corporation LLMアプリケーション L L M サ ー キ

    ッ ト ブ レ ー カ ー 11 Amazon API Gateway AWS Lambda AWS Cloud AWS Lambda Amazon Bedrock Logs Amazon CloudWatch Metrics AWS CloudTrail • LLMサーキットブレーカー • 一定期間内のリクエスト数やトークン数が閾値以上のとき、LLMの呼び出しをブロック • AIエージェントの暴走などを防ぐ Amazon DynamoDB AWS Step Functions Amazon S3 bucket
  12. ©Mitsubishi Electric Corporation 正常(CLOSED) L L M サ ー キ

    ッ ト ブ レ ー カ ー 12 Amazon DynamoDB Amazon CloudWatch Metrics Alarm AWS Step Functions ①Metrics 更新 ③「OPEN」 ④一定時間後 「CLOSE」 ②閾値以上でStep Functions起動 AWS Lambda Amazon Bedrock 正常(CLOSED) AWS Lambda Amazon Bedrock 遮断(OPEN) AWS Lambda Amazon Bedrock
  13. ©Mitsubishi Electric Corporation ま と め • AWSログを活用したLLMアプリの開発/運用を検討 13 活用方法

    使ったサービス やったこと メタデータによる ログの関連付け APIコール時に、Request Metadata にTrace IDを付与 Athenaによる LLM利用状況の 分析 Athenaテーブルを作成し、リージョンや タイムスタンプなどをフィルタ条件として、 LLMの利用状況を分析 LLMサーキット ブレーカーの導入 呼び出し回数、利用トークン数など メトリクスを監視し、異常検知時に 一時的なLLM利用をブロック Amazon DynamoDB AWS Step Functions Amazon Bedrock Amazon Athena Amazon CloudWatch Amazon Bedrock Amazon Bedrock Amazon CloudWatch Amazon S3