MEGAZONE

MEGAZONEブログ

AWS re:Invent 2024 セッションレポート #AIM361|Amazon Bedrockでプロトタイプから本番までの生成型AIアプリをコーディングする
AI/ML re:Invent2024

AWS re:Invent 2024 セッションレポート #AIM361|Amazon Bedrockでプロトタイプから本番までの生成型AIアプリをコーディングする

Code gen AI apps from prototype to production with Amazon Bedrock

  • タイトル:Code gen AI apps from prototype to production with Amazon Bedrock
  • 日付:2024年12月5日(木)
  • Venue: Wynn | Convention Promenade | Lafite 2
  • スピーカー:
    • Santhosh Kuriakose(Sr AI/ML Specialist Solutions Architect, Amazon Web Services)
    • Oussama Kandakji(Sr. GTM SSA AIML GenAI Fr, Amazon Web Services)
  • 業界:
    • Cross Industry Solutions
    • Healthcare & Life Sciences
  • 概要:本番環境に対応した生成型AIアプリケーションを構築するには、コアモデル以上の要素が必要です。このセッションでは、Amazon Bedrockを使用して、プロトタイプから本番環境へのコーディング方法を紹介します。リアルタイムモニタリング、安全性と品質のための自動化された評価フレームワーク、モデルの入出力を制御する効果的なGuardrailの設定など、最適化された実践的なプロセスを学ぶことができます。Codeの例と実際の事例を通じて、生成型AIアプリケーションの全ライフサイクル管理と成功的なデプロイメントのためのツールと知識を習得し、モデル以外の重要な考慮点などを取り上げ、安定的で安全な生成型AIを生産環境で効果的に運営できるようにします。

生成型AIを本番環境で安全かつ信頼性の高い運用を行うためには、単にモデルの性能に焦点を当てるだけでなく、全体的なシステム設計と運用を考慮する必要があります。 本セッションでは、Amazon Bedrockを中心に、プロトタイプを本番アプリケーションに移行するための実践的なプロセスを探ります。

セッションでは、さまざまなAWSサービスを活用して、生成型AIアプリケーションを設計、デプロイ、運用する方法を紹介します。文書メタデータ抽出の自動化という実際の事例を基に、Step Functions、Bedrock Guardrails、CloudWatchなどを活用して安全性と効率性を強化する過程を扱い、コード例と実習中心のアプローチで行われます。

個人的にこのセッションで最も楽しみにしていたのは、生成型AIアプリケーションのリアルタイムモニタリングと安全性を強化する方法を学ぶことでした。 特に、Bedrock Guardrailsを活用したコンテンツの安全性保証とAWS Step Functionsで構成されたワークフローの自動化が実際の運用環境でどのような価値を提供するかを確認したいと思いました。 また、これまで使用したことのないPrompt ManagementとGuardrailsの統合事例を通じて、プロダクション準備の重要なプロセスを学ぶことができることを期待していました。 このセッションは、単純な技術実装を超え、AIデプロイメントのすべての段階を総合的に理解するのに非常に役立ちました。

このセッションは、Joeという文書管理リーダーが直面した実際のビジネス上の課題から始まります。 彼のチームは、さまざまな言語で書かれた法律文書、人事規定、財務報告書など、膨大な量の文書を管理する必要がありました。 しかし、これらの文書を手動で分類し、要約する作業は、ますます多くの時間と労力を必要とし、タグ付けの誤りにより、データの一貫性を維持することが困難になりました。

この問題を解決するために、JoeはAIソリューションを検討し始めました。 初期段階では、ドキュメントとJSONスキーマを入力として受け取り、基盤モデルを利用してメタデータ、要約、およびドキュメントカテゴリを生成するように設計された簡単なプロトタイプを実装しました。

プロトタイプの全体的なアーキテクチャは以下の通りです。

  1. ファイルのアップロードとトリガー
    ユーザーがAmazon S3バケットにファイルをアップロードすると、EventBridgeはそれを検出してワークフローを実行します。
  2. ドキュメント処理
    このワークフローはLambda関数をトリガーし、その関数はAmazon Bedrock APIを呼び出して入力ファイルとJSONスキーマに基づいてドキュメントを処理します。
  3. 結果の
    保存Bedrockによって生成されたメタデータとサマリーはDynamoDBに保存され、その後フロントエンドアプリケーションで視覚化されます。

このプロトタイプは文書処理の自動化の可能性を実証しましたが、本番段階に移行するにはいくつかの重要な改善が必要でした。 Joeのチームは、これらの欠如を解決し、より強力で信頼性の高いシステムを構築するための次のステップを準備します。

例えば、プロトタイプには次のような限界がありました。

  • 安定性の欠如:モデルの錯覚(hallucination)問題と不適切なコンテンツフィルタリングの欠如。
    人間のレビューが含まれていない:自動化された結果に対するクオリティを担保するための人間のレビューが必要。
  • 人間のレビューが含まれていない:自動化された結果に対するクオリティを担保するための人間のレビューが必要。
  • 可視性の欠如:リクエスト-応答フローを追跡できるリアルタイムモニタリング機能がない。
  • プロンプト管理: プロンプトのバージョン管理機能がない。

これらの問題を解決するために、Joeのチームはプロトタイプを拡張・強化し、本番対応のアプリケーションに移行しました。

  1. プロンプト管理機能の導入 (Amazon Bedrock Prompt Management)

Amazon Bedrockのプロンプト管理機能を活用してモデルとプロンプトを最適化し、ツールの使用と関数呼び出しを通じてJSONスキーマを強制的に適用できるように設計しました。 これにより、一貫性のあるデータ出力とより信頼性の高い結果を保証することができました。

  1. ガードレールの導入(Amazon Bedrock Guardrails)

Guardrailsによってコンテンツの安全性を強化しました。コンテンツポリシーを設定し、ヘイトスピーチや暴力性を検知し、文脈的接地によりモデルのhallucinationを防止しました。 入力と出力コンテンツの安全性を徹底的に検証するプロセスを追加することで、より信頼性の高いアプリケーションが完成しました。

  1. 観察可能性(Amazon Cloudwatch)

AWS CloudWatchの追跡機能を有効にして、エンドツーエンドの実行過程を可視化し、LambdaとStep Functionsの動作を詳細に追跡できるようにしました。 これにより、問題を迅速に診断し、システムの状態を明確に把握することができました。

  1. 人間の手によるレビュー(Human in the Loop)

SNS通知を活用したコンテンツレビューワークフローを設計し、有害なコンテンツが発見されると自動的に人間のレビュープロセスがトリガーされるようにしました。 この設計により、自動化と人間の判断を組み合わせた柔軟な運用が可能になりました。

これらの機能の追加により、Joeのチームは初期のプロトタイプでさらに進化したProduction用アプリケーションを構築することができました。

デモでは、Joeが構成したアーキテクチャの各ステップが実際にどのように機能するかを確認できました。

プロンプト管理とガードレールの設定、コンテンツレビューワークフローの実装などを実装した方法が説明されており、これにより、改善されたアーキテクチャが本番環境で要求される信頼性とスケーラビリティを効果的に満たすことを実証しました。

1. Prompt Management
まず、Amazon Bedrockのプロンプト管理機能を活用したプロセスを説明しました。

プロンプト管理コンソールで最適化されたプロンプトを作成し、それらをさまざまなモデルとテストし、結果を比較しました。以降、API呼び出しに最適化されたプロンプトを統合し、コードでJSONスキーマを動的に処理する方法を実装しました。

2. ガードレールの設定と適用
次に、ガードレールを設定し、それをAmazon Bedrock呼び出しに適用したケースを示しました。

  • Content Policyを介して嫌悪発言などの有害なコンテンツを検出するように設定しました。
  • Contextual Groundingを利用して、モデル出力が入力データと一致しない場合はブロックしました。

3. 観察可能性の強化
AWS CloudWatchを活用したエンドツーエンドの実行追跡プロセスを実演しました。

  • S3バケットにファイルをアップロードすると、Step Functionsが実行され、Lambda関数がBedrock APIを呼び出し、データを処理するワークフロー全体がトレースマップとして可視化されました。
  • また、logとmetricsが各段階で収集され、システムの状態と実行フローを明確に把握できることを示しました。

4. 人間レビュープロセス
最後に、SNS通知を活用した人間レビュープロセスを実演しました。

  • 有害なコンテンツを含む文書をアップロードすると、ガードレールが検出してSNSを介して通知を送信します。
  • レビュー担当者は、送信された通知を介してシステムにアクセスし、コンテンツを確認した後、適切な措置を講じました。

このプロセスはStep Functionsワークフローに含まれており、プロセスは自動的に実行され、レビューの結果に基づいてシステムは次のステップを処理しました。

今回のセッションでは、AWS サービスを活用して、生成型 AI プロトタイプを実際の本番アプリケーションに進化させる方法について説明しました。 AIシステムの安全性、可視性、自動化に重点を置き、Amazon Bedrock、AWS Step Functions、Guardrails、Prompt Managementなどを介してAIアプリケーションを信頼できる環境にデプロイする技術的アプローチを紹介しました。

セッションを通じて、生成されたAIアプリケーションでモデルの正確性とコンテンツの安全性を確保する方法を学びました。特に、GuardrailsとPrompt Management機能を使用して、有害なコンテンツやモデルのエラーを事前にブロックし、信頼性の高い結果を提供できるシステムを構築する方法を理解しました。さらに、倫理的要素を反映したシステム設計がAIの責任と信頼性を高める上で重要な役割を果たすことに気付きました。

AWSツールを活用してAIシステムの安全性、可視性、効率性を強化する方法を学ぶための有益な機会であり、実際のプロジェクトに適用できる実用的な洞察を得ることができました。

記事 │MEGAZONECLOUD  AI&Data Analytics Center(ADC) Data Architecture Team チョ・ミンギョンマネージャー

ブログ一覧

この記事の読者はこんな記事も読んでいます