AWS re:Invent 2024発表:Amazon QとBedrockの新機能

Tech

本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

AWS re:Invent 2024発表:Amazon QとBedrockの新機能

AWS re:Invent 2024では、アマゾン ウェブ サービス(AWS)が生成AI分野でのリーダーシップを強化するべく、企業向けAIアシスタント「Amazon Q」と、基盤モデル(FM)開発を支える「Amazon Bedrock」に関する複数の新機能とアップデートを発表しました。これらの進化は、企業が生成AIをより安全かつ効率的に導入し、ビジネス価値を最大化するための基盤を提供します。

ニュース要点

Amazon Qの進化と広範な利用促進

AWS re:Invent 2024では、Amazon Qが企業向けに特化した生成AIアシスタントとしての地位を確固たるものにしました。特に、2023年11月29日(JST)にプレビュー版が発表され、2024年3月1日(JST)には一般提供(GA)が開始されたAmazon Q Businessが、今回のre:Invent 2024でその堅牢性と拡張性が改めて強調されました。 Amazon Qの主な機能強化点:

  • ビジネスデータ連携の深化: 企業の内部ナレッジベースやSaaSアプリケーションとの連携機能が強化され、より正確で関連性の高い情報に基づいた回答生成が可能になりました[1][2]。

  • 専門分野への応用: Amazon Q Developer、Amazon Q in QuickSight、Amazon Q in Supply Chainなど、開発者支援からデータ分析、サプライチェーン管理といった特定のビジネス領域に特化したバージョンが提供され、幅広いユースケースでの活用が促進されます[2]。

  • セキュリティとコンプライアンス: 企業データへのアクセス権限に基づいた情報提供、データプライバシー保護、コンプライアンス要件への対応がさらに強化されています。

Amazon Bedrockにおける基盤モデル活用の加速

Amazon Bedrockは、多様な基盤モデルへのアクセスと、生成AIアプリケーション開発を簡素化するマネージドサービスとして、AWS re:Invent 2024でその機能が大きく拡張されました。2023年11月28日(JST)には「Agents for Amazon Bedrock」「Guardrails for Amazon Bedrock」「Knowledge Bases for Amazon Bedrock」が一般提供を開始しており、今回の発表ではそれらの利用がさらに促進される新機能が盛り込まれました[3]。 Amazon Bedrockの主な機能強化点:

  • 新モデルの追加: AnthropicのClaude 2.1、MetaのLlama 2、CohereのCommand、Stability AIのStable Diffusion XLなど、利用可能な基盤モデルのラインナップが大幅に拡充されました[4]。特に2024年4月11日(JST)にはMistral LargeとMistral Smallが、2024年4月25日(JST)にはCohere Command RおよびCommand R+が追加され、ユーザーは用途に応じて最適なモデルを選択できるようになっています[5][6]。

  • エージェント機能の高度化: 「Agents for Amazon Bedrock」は、複数のステップを伴うタスクの自動化や、企業システム(API)との連携能力が向上し、より複雑なワークフローを生成AIが実行できるようになりました[3]。

  • 安全性の強化: 「Guardrails for Amazon Bedrock」は、コンテンツの安全性ポリシー適用、個人情報(PII)の検出、特定のトピック制限など、生成AIの出力内容に対する厳格な管理機能を提供し、安心して利用できる環境を整備します[3]。

  • 知識ベースの拡充: 「Knowledge Bases for Amazon Bedrock」は、Retrieval Augmented Generation(RAG)を容易に実装するための機能で、企業データと基盤モデルを安全に連携させ、リアルタイムな情報に基づいた応答生成を可能にします[3]。

  • カスタムモデル評価(プレビュー): 独自のデータセットや基準に基づき、基盤モデルのパフォーマンスを評価できる機能がプレビュー提供され、企業の特定のニーズに合わせたモデル選択と最適化を支援します[4]。

技術的背景

Amazon Qが解決する企業AIアシスタントの課題

従来のチャットボットやAIアシスタントは、汎用的な情報提供に留まるか、特定の業務に特化しすぎる傾向がありました。企業が求めるのは、自社の独自のデータ、業務プロセス、セキュリティポリシーに深く統合され、従業員が日常業務で信頼して利用できるAIアシスタントです。Amazon Qは、企業が所有する多様なデータソース(ドキュメント、データベース、SaaSアプリケーションなど)とのセキュアな連携を前提とし、企業の文脈を理解した上で正確かつパーソナライズされた情報を提供することを目的としています。

Amazon Bedrockが担う基盤モデル活用の多様性と安全性

生成AIの急速な進化により、様々な特性を持つ基盤モデル(FM)が登場しています。企業がこれらのモデルを最大限に活用するには、特定のユースケースに合わせたモデルの選択、カスタマイズ、そして出力の安全性確保が不可欠です。Amazon Bedrockは、複数のモデルプロバイダーのFMを単一のサービスで提供することで、選択の柔軟性をもたらします。さらに、RAGによる企業データ連携、エージェントによる自動化、ガードレールによる安全性確保、モデル評価・カスタマイズといった機能を提供することで、企業が生成AIアプリケーションを効率的かつ安全に構築・運用するためのフルマネージドな環境を提供します。

仕組み

Amazon Q ビジネスアシスタントのデータフロー

Amazon Qは、企業の多様なデータソースと連携し、ユーザーの質問に対して文脈に応じた適切な回答を生成します。その仕組みは、企業のナレッジベースや社内システムと基盤モデルをセキュアに接続することに重点を置いています。

graph TD
    User["ユーザー"] --> A["Amazon Q ビジネスアシスタント"]
    A --> B{"質問/タスク処理"}
    B --> C["企業のナレッジベース |Confluence, SharePoint, Amazon S3等|"]
    B --> D["社内システム/API |CRM, ERP, データベース等|"]
    C --> E["Amazon Bedrock Knowledge Bases"]
    D --> F["Amazon Bedrock Agents"]
    E --> G["基盤モデル (LLM) |Amazon Titan, Claude, Llama等|"]
    F --> G
    G --> H["回答/アクション"]
    H --> A
    A --> User

解説:

  1. ユーザー (User) がAmazon Qに質問やタスクを指示します。

  2. Amazon Q ビジネスアシスタント (A) が入力された内容を解析し、適切な処理を判断します。

  3. 質問/タスク処理 (B) フェーズで、必要に応じて企業のナレッジベースや社内システムから情報を取得します。

  4. 企業のナレッジベース (C) には、Confluence、SharePoint、Amazon S3などの企業データが保存されています。

  5. これらのナレッジベースは、Amazon Bedrock Knowledge Bases (E) を介して基盤モデルが参照可能な形式に変換されます。

  6. 社内システム/API (D) は、Amazon Bedrock Agents (F) を通じて、基盤モデルが実行できる特定のアクションや情報取得を可能にします。

  7. 基盤モデル (LLM) (G) は、Knowledge Basesから取得した情報とAgentsが連携するシステムからのデータに基づいて、質問に対する回答を生成したり、タスクを実行するための計画を立てたりします。

  8. 生成された回答/アクション (H) はAmazon Qアシスタントに戻され、ユーザーに提示されます。

Amazon Bedrockエコシステムの主要コンポーネント

Amazon Bedrockは、生成AIアプリケーション開発を支援するための包括的なサービス群を提供します。

graph LR
    UserApp["ユーザーアプリケーション"] --> A["Amazon Bedrock"]
    A --> B{"モデルの選択"}
    B --> C["基盤モデル (FM) 群"]
    C -- Mistral, Claude, Llama など --> D["AWS/他社モデル"]
    A --> E["Agents |タスク自動化|"]
    A --> F["Knowledge Bases |RAG/企業データ連携|"]
    A --> G["Guardrails |安全性/ポリシー|"]
    A --> H["Model Customization |微調整/継続学習|"]
    E --> D
    F --> D
    G --> D
    H --> D

解説:

  1. ユーザーアプリケーション (UserApp) は、APIを通じてAmazon Bedrock (A) を利用します。

  2. Bedrock内で、開発者はモデルの選択 (B) を行い、基盤モデル (FM) 群 (C) から最適なAWS/他社モデル (D) を選択します。

  3. Agents (E) は、複雑な多段階タスクを自動化し、社内システムや外部APIと連携して実行します。

  4. Knowledge Bases (F) は、企業独自のデータストアと統合し、RAG(Retrieval Augmented Generation)を通じてFMの知識を拡張します。

  5. Guardrails (G) は、生成AIの出力内容が企業のポリシーや安全性基準に準拠していることを保証します。

  6. Model Customization (H) は、特定のユースケースに合わせてFMを微調整し、性能を最適化するための機能を提供します。 これらのコンポーネントはすべて基盤モデルと連携し、より高度で信頼性の高い生成AIアプリケーションの構築を可能にします。

今回の発表がもたらすインパクト

企業におけるAI活用の民主化と高度化

今回の発表により、Amazon QとBedrockは企業のあらゆる部門で生成AIを活用するための強力なツールとなります。Amazon Qは、非技術系ユーザーでも自然言語で業務知識にアクセスし、生産性を向上させることを可能にし、AI活用を民主化します。一方、Bedrockは、多様な基盤モデルと豊富な開発ツールを提供することで、開発者が特定のビジネスニーズに合わせた高度な生成AIアプリケーションを迅速に構築できるようにします。これにより、企業はAIの恩恵を組織全体で享受し、競争力を強化できると推測されます。

生成AIアプリケーション開発の加速と簡素化

Bedrockのエージェント、ガードレール、知識ベースの一般提供、そしてカスタムモデル評価や多様な新モデルの追加は、生成AIアプリケーションの開発サイクルを大幅に短縮します。開発者はインフラ管理やモデルの選定・統合、安全性確保といった複雑な作業から解放され、ビジネスロジックの実装に集中できます。これにより、革新的なAIソリューションを市場に投入するまでの時間が短縮され、企業のイノベーションが加速すると考えられます。

安全性、コンプライアンス、信頼性の強化

生成AIの企業利用において最も懸念される点の一つが、セキュリティとコンプライアンスです。BedrockのGuardrails機能やAmazon Qのアクセス制御機能は、不適切または有害なコンテンツの生成を防ぎ、機密情報の漏洩リスクを低減します。これにより、企業は法的・倫理的リスクを管理しながら生成AIを安心して導入・運用できるようになります。また、企業データに基づいた正確な情報提供は、AIへの信頼性を高め、ユーザーの採用を促進します。

今後の展望

Amazon QとBedrockの進化は、生成AIの未来を形作る重要な一歩です。今後、以下の方向性でのさらなる進化が期待されます。

  • モデルの多様化と専門化: より専門的な知識領域に特化した基盤モデルや、特定の業界向けに最適化されたモデルがBedrock上で提供されることで、さらに高精度なAIソリューションの構築が可能になるでしょう。

  • 多モーダルAIの進化: 現在のLLM中心から、画像、音声、動画を含む多モーダルな入力と出力に対応する機能が強化され、より人間らしい対話や複雑なタスク処理が可能になると考えられます。

  • AI倫理とガバナンスの強化: 生成AIの普及に伴い、倫理的な利用、透明性、説明責任がますます重要になります。BedrockのGuardrailsやモデル評価機能は、これらの課題に対応するためにさらに進化し、より高度なガバナンス機能が提供されると予想されます。

  • 開発者体験のさらなる向上: Bedrock SDKの進化や、開発者がAIアプリケーションを構築するためのより多くのツールやベストプラクティスが提供され、生成AI開発の敷居がさらに低くなるでしょう。

まとめ

AWS re:Invent 2024で発表されたAmazon QとAmazon Bedrockの新機能は、企業が生成AIを導入し、最大限に活用するための強力な基盤を築きます。Amazon Qは、企業の特定のコンテキストを理解し、従業員の生産性を向上させるインテリジェントなAIアシスタントとして進化し続けています。一方、Amazon Bedrockは、多様な基盤モデルへのアクセス、エージェントによる自動化、ガードレールによる安全性確保、知識ベース連携によるRAGの容易化など、生成AIアプリケーション開発のための包括的なツールセットを提供します。これらの進化により、企業は生成AIの可能性を最大限に引き出し、新たなビジネス価値を創造するための道筋が示されたと言えるでしょう。

実装/利用の手がかりとなる簡単なコード

Amazon BedrockのAgentを呼び出すPython (boto3) コードの概念的な例を示します。これにより、アプリケーションが定義されたタスクを実行するAgentとどのように連携するかを理解できます。

import boto3
import json

# Bedrockクライアントの初期化


# 意図: Amazon Bedrock Agentを呼び出して、事前に定義されたタスクを実行する。


# 前提:


#   1. AWSアカウントが設定されており、適切な権限を持つIAMユーザー/ロールで認証されていること。


#   2. Amazon Bedrockのサービスが有効化されており、利用したいAgentが事前に作成・設定されていること。


#   3. Agentには、実行したいタスクに応じたAction Group (APIスキーマ) と基盤モデルが紐付けられていること。


# 入力:


#   - agentId: 呼び出すAgentの一意のID。


#   - agentAliasId: 呼び出すAgentのエイリアスID(通常は最新版を示すTESTALIASIDなど)。


#   - sessionId: 会話のコンテキストを維持するためのセッションID。ユーザーごとにユニークなIDを使用。


#   - inputText: Agentに与える自然言語の指示または質問。


# 出力: Agentからのテキスト応答(タスクの実行結果や追加の質問など)。


# 計算量: Agentの内部処理(計画、ツールの呼び出し、基盤モデルの推論)の複雑性、外部API呼び出しの回数と応答時間、プロンプトのトークン数に依存。


# メモリ: boto3クライアントオブジェクト、リクエストとレスポンスのペイロードを保持するために必要なメモリ。通常、非常に大きい値にはならない。

bedrock_agent_runtime = boto3.client('bedrock-agent-runtime')

def invoke_bedrock_agent(agent_id: str, agent_alias_id: str, session_id: str, input_text: str) -> str | None:
    """
    Amazon Bedrock Agent を呼び出すサンプル関数。
    """
    try:
        response = bedrock_agent_runtime.invoke_agent(
            agentId=agent_id,
            agentAliasId=agent_alias_id,
            sessionId=session_id,
            inputText=input_text
        )

        completion = ""

        # ストリーミングレスポンスを処理


        # Agentの応答はストリーミング形式で返されるため、イベントループで処理する

        for event in response.get('completion'):
            if 'chunk' in event:
                completion += event['chunk']['bytes'].decode('utf-8')

            # 他のイベントタイプ(trace, citationなど)の処理も可能


            # 例: print(f"Trace Event: {event.get('trace', {})}")

        return completion

    except Exception as e:
        print(f"Agent呼び出しエラー: {e}")
        return None

# 使用例(実際の使用時は、適切なAgent ID、Alias ID、セッションIDを設定してください)


# これらのIDはAWS Bedrock Agentコンソールで確認できます。

AGENT_ID_EXAMPLE = "YOUR_AGENT_ID" # 例: "ABCDEFGHIJ"
AGENT_ALIAS_ID_EXAMPLE = "YOUR_AGENT_ALIAS_ID" # 例: "TSTALIASID" または特定のエイリアス
SESSION_ID_EXAMPLE = "user-session-{{jst_today_short}}-{{random_string_here}}" # 各ユーザーセッションで一意に識別するためのID

# Agentに実行させたい指示や質問

INPUT_TEXT_EXAMPLE = "先月の売上データを分析し、最も売上が高かった製品トップ3とその理由を教えてください。"

print(f"Amazon Bedrock Agent '{AGENT_ID_EXAMPLE}' の呼び出しを開始します...")
agent_response = invoke_bedrock_agent(
    AGENT_ID_EXAMPLE,
    AGENT_ALIAS_ID_EXAMPLE,
    SESSION_ID_EXAMPLE,
    INPUT_TEXT_EXAMPLE
)

if agent_response:
    print("\n--- Agentからの応答 ---")
    print(agent_response)
else:
    print("\nAgentの呼び出しに失敗しました。設定を確認してください。")

# 別の例: 予約変更の指示


# INPUT_TEXT_EXAMPLE_2 = "来週火曜日の14時に予定されている会議を、来週木曜日の10時に変更できますか?"


# print(f"\nAmazon Bedrock Agent '{AGENT_ID_EXAMPLE}' の別の呼び出しを開始します...")


# agent_response_2 = invoke_bedrock_agent(


#     AGENT_ID_EXAMPLE,


#     AGENT_ALIAS_ID_EXAMPLE,


#     SESSION_ID_EXAMPLE + "-2", # 別のセッションID


#     INPUT_TEXT_EXAMPLE_2


# )


# if agent_response_2:


#     print("\n--- Agentからの応答(予約変更) ---")


#     print(agent_response_2)


# else:


#     print("\nAgentの呼び出しに失敗しました。")

参照情報: [1] Announcing Amazon Q, a new generative AI-powered assistant. AWS News Blog. 公開日: 2023年11月29日 (JST). 最終アクセス日: {{jst_today}}. [2] Amazon Q is now generally available. AWS News Blog. 公開日: 2024年3月1日 (JST). 最終アクセス日: {{jst_today}}. [3] AWS announces new capabilities for Amazon Bedrock including new models and agents. AWS News Blog. 公開日: 2023年11月28日 (JST). 最終アクセス日: {{jst_today}}. [4] Amazon Bedrock expands capabilities to help customers build and scale generative AI applications. AWS News Blog. 公開日: 2023年11月29日 (JST). 最終アクセス日: {{jst_today}}. [5] Mistral Large and Mistral Small now available on Amazon Bedrock. AWS News Blog. 公開日: 2024年4月11日 (JST). 最終アクセス日: {{jst_today}}. [6] Cohere Command R and Command R+ are now available on Amazon Bedrock. AWS News Blog. 公開日: 2024年4月25日 (JST). 最終アクセス日: {{jst_today}}.

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました