0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Bedrock Latency-optimized inference でレイテンシーを短縮

Last updated at Posted at 2024-12-25

2024/12 現在 パブリックプレビュー

内容

AWS re:Invent 2024 で発表があった Amazon Bedrock Latency-optimized inference をシンプルに纏めます。

  • チャットボットやコーディングアシスタントなどレイテンシが重要な AI アプリで、レイテンシーの短縮が可能に

モデル

  • Anthropic Claude 3.5 Haiku
  • Meta Llama 3.1 70B Instruct
  • Llama 3.1 405B Instruct

対応リージョン

  • 米国東部(オハイオ)クロスリージョン推論

設定

performanceConfig を optimized にするだけのようです。

“performanceConfig” : {
    “latency” : “standard | optimized” 
}

クォータに達すると、standard でリクエストを処理し、standard の料金で課金されるとのこと。

動作確認

standard

レイテンシーを比較したいので、まず standard で実行しておきます。
なお、standard の場合は明示的に設定する必要はありません。

import boto3
import json

aws_region = "us-east-2"

modelId="us.anthropic.claude-3-5-haiku-20241022-v1:0"

user_prompt = "西暦2023年日本の映画興行収入ランキング ベスト10を教えて"

bedrock = boto3.client(
    'bedrock-runtime',
    region_name=aws_region
    )

body = json.dumps(
    {
        "anthropic_version": "bedrock-2023-05-31",
        "max_tokens": 4000,
        "messages": [{"role": "user","content": user_prompt}]
    }
)

response = bedrock.invoke_model(
    modelId=modelId,
    body=body,
    performanceConfigLatency='standard'
    )

response_body = json.loads(response.get('body').read())
answer = response_body["content"][0]["text"]

print(answer)

optimized

performanceConfig で latency を optimized にして実行します。

import boto3
import json

aws_region = "us-east-2"

modelId="us.anthropic.claude-3-5-haiku-20241022-v1:0"

user_prompt = "西暦2023年日本の映画興行収入ランキング ベスト10を教えて"

bedrock = boto3.client(
    'bedrock-runtime',
    region_name=aws_region
    )

body = json.dumps(
    {
        "anthropic_version": "bedrock-2023-05-31",
        "max_tokens": 4000,
        "messages": [{"role": "user","content": user_prompt}]
    }
)

response = bedrock.invoke_model(
    modelId=modelId,
    body=body,
    performanceConfigLatency='optimized'
    )

response_body = json.loads(response.get('body').read())
answer = response_body["content"][0]["text"]

print(answer)

optimized の CloudWatch Logs

CloudWatch Logs から OPTIMIZED で実行されていることが確認できます。

{
    "schemaType": "ModelInvocationLog",
    "schemaVersion": "1.0",
    "timestamp": "2024-12-25T12:54:32Z",
    "accountId": "123456789012",
    "identity": {
        "arn": "arn:aws:iam::123456789012:user/vscode"
    },
    "region": "us-east-2",
    "requestId": "701422aa-e2b4-467c-8cc1-caa0cd35499b",
    "operation": "InvokeModel",
    "modelId": "arn:aws:bedrock:us-east-2:123456789012:inference-profile/us.anthropic.claude-3-5-haiku-20241022-v1:0",
    "input": {
        "inputContentType": "application/json",
        "inputBodyJson": {
            "anthropic_version": "bedrock-2023-05-31",
            "max_tokens": 4000,
            "messages": [
                {
                    "role": "user",
                    "content": "西暦2023年日本の映画興行収入ランキング ベスト10を教えて"
                }
            ]
        },
        "inputTokenCount": 36
    },
    "output": {
        "outputContentType": "application/json",
        "outputBodyJson": {
            "id": "msg_bdrk_01KPWuEux9XVLhUmpRyUvryT",
            "type": "message",
            "role": "assistant",
            "model": "claude-3-5-haiku-20241022",
            "content": [
                {
                    "type": "text",
                    "text": "2023年の日本の映画興行収入ランキングベスト10は以下の通りです(2023年12月時点):\n\n1. 『ウォンカ』(約106億円)\n\n2. 『ガーディアンズ・オブ・ギャラクシー/リミテッド』(約93億円)\n\n3. 『スパイダーマン:アクロス・ザ・スパイダーバース』(約80億円)\n\n4. 『ドラえもん のび太の月面探査記』(約77億円)\n\n5. 『マリオカート』(約73億円)\n\n6. 『コンジュアリング3 悪魔に憑依された』(約48億円)\n\n7. 『怪物』(約44億円)\n\n8. 『シン・仮面ライダー』(約40億円)\n\n9. 『ミッション:インポッシブル デッドレコニング PART ONE』(約37億円)\n\n10. 『ハリー・ポッターの秘宝 エクスペリメント』(約36億円)\n\nこれらの数字は変動する可能性があります。"
                }
            ],
            "stop_reason": "end_turn",
            "stop_sequence": null,
            "usage": {
                "input_tokens": 36,
                "output_tokens": 328
            }
        },
        "outputTokenCount": 328
    },
    "performanceConfig": {
        "latency": "OPTIMIZED"
    },
    "inferenceRegion": "us-east-2"
}

CloudWatch Metrics

CloudWatch Logs からはレイテンシーは確認できないので CloudWatch Metrics から確認します。

standard
スクリーンショット 2024-12-25 22.10.14.png

optimized
スクリーンショット 2024-12-25 22.10.25.png

確かに、optimized の方が短縮されていることが確認できました。

追加情報

Amazon Bedrock のエージェント、フロー、ナレッジベースで SDK を介してサポートされるようにもなったとのことです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?