大規模言語モデル (LLM) アプリケーションを構築する場合、開発者は多くの場合、モデル応答の遅さと推論コストの高さという 2 つの問題に直面します。 Amazon Bedrock は、この問題点に対処するために「Prompt Caching」機能を導入し、開発者が API 呼び出しの効率を大幅に向上させながらコストを大幅に削減できるようにしました。
Amazon Bedrock ヒントキャッシュとは何ですか?
多くの生成 AI アプリケーションでは、プロンプトには、システムの説明、会話の履歴、コンテキストの説明など、多くの繰り返しコンテンツが含まれています。モデルが呼び出されるたびに、これらの繰り返しプロンプト部分を再処理する必要があり、コンピューティング リソースが無駄になります。
Amazon Bedrock ヒントキャッシュの中核は、ヒント内の繰り返される「プレフィックス」部分をキャッシュすることで、後続の呼び出しで推論を繰り返す必要がなくなり、レイテンシーとコストが削減されます。
従来のキャッシュとは異なり、これは単なるテキスト キャッシュではなく、注目パターンやタグ関係などの詳細な計算結果を含む、大規模な言語モデル内の「ニューラル状態」のキャッシュです。 Amazon Bedrock は、指定されたチェックポイントでこれらの状態をキャプチャし、このアカウントに対してのみ有効な AWS 内のキャッシュレイヤーに安全に保存します。
技術アーキテクチャの概要
Bedrock のキャッシュ システムは推論実行環境上に構築され、モデル呼び出しの実行パスと高度に統合されており、そのアーキテクチャ設計は AWS Lambda に似ています。キャッシュ システムは API とモデル実行層の間に配置され、リクエストをインターセプトしてニューラル状態を動的に保存します。
キャッシュは次の 2 種類の操作に分けられます。
- 書き込みキャッシュ: ヒント プレフィックスの最初の出現時にキャッシュ書き込みがトリガーされ、処理のオーバーヘッドがわずかに増加します。
- 読み取りキャッシュ: 後続の繰り返しプロンプトでは、キャッシュからニューラル状態を直接読み取ることができるため、処理負荷が大幅に軽減されます。
このメカニズムは、ドキュメントの質問と回答、会話型ロボット、コード生成アシスタントなど、プロンプトコンテンツの繰り返し頻度が高いアプリケーションに特に適しています。
コスト最適化メカニズム
ヒント キャッシュの最大の利点の 1 つはコストの節約です。 Claude 3.5/3.7 Sonnet を例に挙げます (入力コスト 0.003 USD/1,000 トークン)。
タイプ コスト/千トークン 説明 通常入力 $0.003 標準推論呼び出し キャッシュ書き込み $0.00375 コストが約25%増加 キャッシュ読み取り $0.0003 コストが最大90%削減 出力部分 $0.015 キャッシュとは関係なく、同じ価格
ユーザーが 30,000 トークンを含む財務レポート文書をアップロードし、それについて 8 つの質問をしたとします。
- キャッシュ コストなし: 質問ごとにドキュメントの再処理が必要になり、合計で約 $0.72 になります。
- キャッシュの使用: 最初のリクエストはキャッシュに書き込まれ、その後 7 回キャッシュが読み取られます。合計コストは約$0.1755で、約75.6%の節約になります。
システムが毎月 10,000 件のドキュメントを処理する場合、ヒント キャッシュを使用すると毎月 $5,000 ドル以上を節約できます。
適用可能なシナリオと制限
ヒント: キャッシュはすべてのシナリオに適しているわけではありません。キャッシュを有効にすることが推奨される一般的な使用例は次のとおりです。
- 繰り返し使用するための長いリマインダー: カスタマー サービスのチャット履歴、質問と回答のコンテキスト、システムの説明など。
- エージェントのマルチラウンド推論: エージェントは環境設定やタスクの指示を繰り返し参照する必要があります。
- ドキュメント分析ツール: 同じ文書について繰り返し質問します。
- コードアシスタント: 各呼び出しで同じプロジェクト コンテキストを繰り返しロードする必要があります。
ただし、次のシナリオでは、キャッシュの利点は明らかではなく、コストが増加する可能性もあります。
- 1回限りのリマインダー: 例えば、処理される文書の内容は毎回異なります。
- 非常に短いリマインダー: キャッシュ メカニズムをトリガーする最小しきい値を下回っています。
- 通話間隔が長すぎます: キャッシュは数分間のみ有効であり、時間が経過すると無効になります。
- ヒント:大きな違い: プレフィックスが若干異なるためキャッシュミスが発生する可能性があります。
したがって、開発者は、特定のアプリケーションの呼び出しパターンに基づいてプロンプト キャッシュを有効にするかどうかを評価し、CacheReadInputTokens や CacheWriteInputTokens などの API 監視指標を通じて使用効果を定量化する必要があります。
他の Amazon Bedrock 機能との統合
ヒントキャッシュは、Amazon Bedrock の他の機能とシームレスに統合されます。
- エージェントとの統合:より複雑なエージェントタスクプロセスの構築をサポートし、応答速度を向上します。
- 長いシステムプロンプトのサポート: 長い命令に対して高い計算コストを繰り返し支払う必要はありません。
- コンテキストの安定性の向上: キャッシュ ヒント プレフィックスは、より安定したコンテキスト チェーンの構築に役立ちます。
全体的に、ヒント キャッシュは、同じコンテキストを頻繁に呼び出す必要がある LLM アプリケーション シナリオに特に適しています。これにより、コストを大幅に削減し、応答時間を短縮し、より効率的な AI サービスを構築できます。
結論
Amazon Bedrock のプロンプトキャッシュメカニズムは、技術的な最適化であるだけでなく、コストを削減し、エンタープライズレベルの AI アプリケーションの効率を向上させる重要なツールでもあります。これにより、開発者は、精度とコンテキストの整合性を犠牲にすることなく、モデルの応答を高速化し、コストを節約し、実際のビジネスでよりコスト効率の高い LLM 推論エクスペリエンスを実現できるようになります。
Bedrock をベースに AI アプリケーションを開発している場合は、ヒント キャッシュの潜在的な利点を評価することをお勧めします。大規模モデルが実装されている今日、各トークンの使用コストを最適化することは、ビジネス競争に勝つための重要なステップです。