Amazon Web Services ブログ

Meta の Llama 4 モデルが Amazon Bedrock サーバーレスで使用可能に

Meta の最新 AI モデルである Llama 4 Scout 17B と Llama 4 Maverick 17B が、Amazon Bedrock でフルマネージドサーバーレスオプションとしてご利用いただけるようになりました。これらの新しい基盤モデル (FM) は、Early Fusion テクノロジーを利用するネイティブなマルチモーダル機能を提供します。これは、アプリケーションでの正確な画像グラウンディングと拡張コンテキスト処理のために使用できます。

Llama 4 は、革新的な Mixture-of-Experts (MoE) アーキテクチャを採用しています。これは、コストと速度の両方を最適化ながら、推論タスクと画像理解タスク全体で強化されたパフォーマンスを提供します。このアーキテクチャアプローチにより、Llama 4 は、グローバルアプリケーション向けの拡張された言語サポートとともに、Llama 3 と比較して低コストで、改善されたパフォーマンスを提供します。

これらのモデルは既に Amazon SageMaker JumpStart で使用可能となっていましたが、今般、エンタープライズグレードのセキュリティとプライバシーを活用して、生成 AI アプリケーションの構築とスケールを効率化するために、Amazon Bedrock で使用できるようになりました。

Llama 4 Maverick 17B – 128 のエキスパートと合計 4,000 億のパラメータを備えたネイティブマルチモーダルモデル。画像とテキストの理解で優れたパフォーマンスを発揮し、多用途のアシスタントアプリケーションやチャットアプリケーションに適しています。このモデルは 100 万トークンのコンテキストウィンドウをサポートしており、長いドキュメントや複雑な入力の柔軟な処理を可能にします。

Llama 4 Scout 17B – 16 のエキスパート、170 億のアクティブなパラメータ、合計 1,090 億のパラメータを備えた汎用マルチモーダルモデル。これまでのすべての Llama モデルよりも優れたパフォーマンスを提供します。Amazon Bedrock は現在、Llama 4 Scout で 350 万トークンのコンテキストウィンドウをサポートしており、近い将来に拡張する予定です。

Llama 4 モデルのユースケース
Llama 4 モデルの高度な機能は、さまざまな業界の幅広いユースケースのためにご利用いただけます:

エンタープライズアプリケーション – ツールやワークフローを横断して推論し、マルチモーダル入力を処理して、ビジネスアプリケーションのために質の高い応答を提供できるインテリジェントエージェントを構築します。

多言語アシスタント – 画像を理解し、複数の言語で質の高い応答を提供するチャットアプリケーションを作成し、世界中のユーザーが利用できるようにします。

コードおよびドキュメントインテリジェンス – コードを理解し、ドキュメントから構造化データを抽出して、大量のテキストとコードにわたってインサイトに富んだ分析を提供できるアプリケーションを開発します。

カスタマーサポート – 画像分析機能でサポートシステムを強化し、顧客がスクリーンショットや写真を共有する際に、より効果的な問題解決を可能にします。

コンテンツ作成 – 複数の言語でクリエイティブなコンテンツを生成します。また、視覚的な入力を理解し、これに応答することもできます。

リサーチ – マルチモーダルデータを統合および分析し、テキストと画像にわたるインサイトを提供できるリサーチアプリケーションを構築します。

Amazon Bedrock での Llama 4 モデルの使用
Amazon Bedrock でこれらの新しいサーバーレスモデルを使用するには、まずアクセスをリクエストする必要があります。Amazon Bedrock コンソールのナビゲーションペインで、[モデルアクセス] を選択して、Llama 4 Maverick 17B モデルと Llama 4 Scout 17B モデルに対するアクセスを切り替えます。

コンソールのスクリーンショット。

Llama 4 モデルは、会話型 AI インタラクションのための統合インターフェイスを提供する Amazon Bedrock Converse API を使用して、アプリケーションに簡単に統合できます。

AWS SDK for Python (Boto3) を Llama 4 Maverick と使用してマルチモーダル会話を実現する方法の例を次に示します:

import boto3
import json
import os

AWS_REGION = "us-west-2"
MODEL_ID = "us.meta.llama4-maverick-17b-instruct-v1:0"
IMAGE_PATH = "image.jpg"


def get_file_extension(filename: str) -> str:
    """Get the file extension."""
    extension = os.path.splitext(filename)[1].lower()[1:] or 'txt'
    if extension == 'jpg':
        extension = 'jpeg'
    return extension


def read_file(file_path: str) -> bytes:
    """Read a file in binary mode."""
    try:
        with open(file_path, 'rb') as file:
            return file.read()
    except Exception as e:
        raise Exception(f"Error reading file {file_path}: {str(e)}")

bedrock_runtime = boto3.client(
    service_name="bedrock-runtime",
    region_name=AWS_REGION
)

request_body = {
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "text": "What can you tell me about this image?"
                },
                {
                    "image": {
                        "format": get_file_extension(IMAGE_PATH),
                        "source": {"bytes": read_file(IMAGE_PATH)},
                    }
                },
            ],
        }
    ]
}

response = bedrock_runtime.converse(
    modelId=MODEL_ID,
    messages=request_body["messages"]
)

print(response["output"]["message"]["content"][-1]["text"])

この例は、テキストと画像の両方の入力をモデルに送信し、会話形式の応答を受信する方法を示しています。Converse API は、さまざまなモデル入力形式を扱う際の複雑さを抽象化し、Amazon Bedrock のモデル全体で一貫したインターフェイスを提供します。

よりインタラクティブなユースケースでは、Converse API のストリーミング機能も使用できます:

response_stream = bedrock_runtime.converse_stream(
    modelId=MODEL_ID,
    messages=request_body['messages']
)

stream = response_stream.get('stream')
if stream:
    for event in stream:

        if 'messageStart' in event:
            print(f"\nRole: {event['messageStart']['role']}")

        if 'contentBlockDelta' in event:
            print(event['contentBlockDelta']['delta']['text'], end="")

        if 'messageStop' in event:
            print(f"\nStop reason: {event['messageStop']['stopReason']}")

        if 'metadata' in event:
            metadata = event['metadata']
            if 'usage' in metadata:
                print(f"Usage: {json.dumps(metadata['usage'], indent=4)}")
            if 'metrics' in metadata:
                print(f"Metrics: {json.dumps(metadata['metrics'], indent=4)}")

ストリーミングを使用すると、モデル出力が生成されるのと同時に表示することで、アプリケーションはより応答性の高いエクスペリエンスを提供できます。

知っておくべきこと
Llama 4 モデルは、米国東部 (バージニア北部) と米国西部 (オレゴン) の AWS リージョンにおいて、Amazon Bedrock で、フルマネージドサーバーレスエクスペリエンスとともに 4 月 28 日よりご利用いただけます。 また、米国東部 (オハイオ) の Llama 4 には、クロスリージョン推論を介してアクセスできます。

Amazon Bedrock では、通常どおり、使用した分の料金のみをお支払いいただきます。詳細については、「Amazon Bedrock の料金」をご覧ください。

これらのモデルは、テキストで 12 の言語 (英語、フランス語、ドイツ語、ヒンディー語、イタリア語、ポルトガル語、スペイン語、タイ語、アラビア語、インドネシア語、タガログ語、ベトナム語) をサポートし、画像処理では英語をサポートします。

これらの新しいモデルの使用を今すぐ開始するには、「Amazon Bedrock ユーザーガイド」の「Meta Llama モデル」のセクションにアクセスしてください。また、community.aws サイトの生成 AI セクションでは、ビルダーコミュニティがソリューションで Amazon Bedrock をどのように利用しているのかを詳しく知ることもできます。

Danilo

原文はこちらです。


ニュースブログはいかがでしたか? こちらの 1 分間のアンケートにぜひご協力ください!

(このアンケートは外部企業に委託して行われます。AWS は、AWS プライバシー通知に記載された内容に従って、お客様の情報を取り扱います。AWS は、このアンケートを通じて収集したデータを所有し、収集した情報をアンケートの回答者と共有することはありません)