大規模なデータを処理して取得する際の、Amazon Bedrock のパフォーマンスと応答時間を改善したいです。
解決策
次のいずれかの要因で、遅延の問題が発生する可能性があります。
- アプリケーションと Amazon Bedrock エンドポイントの間の距離
- 処理に時間がかかる場合が多い大規模モデル
- プロンプトが長く、複雑である
- 大量の同時 API コール
パフォーマンスと応答時間を改善するには、次の手順を実行します。
適切なモデルを選択する
特定の要件をレビューし、速度と出力品質の観点からニーズに最適なモデルを選択します。
入力とシステムプロンプトを改善する
入力プロンプトとシステムプロンプトの両方でトークンの数を削減します。モデルで処理して生成するトークンを削減すると、モデルの応答を高速化できます。
明確で簡潔なプロンプトや構造化されたテンプレートを使用し、プロンプトエンジニアリング手法を実施することをおすすめします。
プロンプトキャッシュを使用する
プロンプトキャッシュは、Amazon Bedrock の応答とモデル推論の削減に使用できるオプション機能です。対話の一部をキャッシュに追加して、モデルがコンテキストを再利用できるようにします。
推論パラメータを使用する
温度などのモデル固有の推論パラメータを使用して、応答生成を制御、調整します。これらのパラメータを使用すると、出力の長さを制御できます。
遅延最適化推論を使用する
Amazon Bedrock の基盤モデルに遅延最適化推論を使用すると、AI アプリケーションの応答時間が短縮され、応答性が向上します。遅延最適化機能へのアクセスには、追加の設定は必要ありません。[遅延] パラメータを [最適化] に設定します。
小規模モデルを使用する
Anthropic Claude 2 などの大規模なモデルでは多くの場合、遅延が増加しますが、品質は向上します。代わりに、機能は制限されるものの応答が高速である小規模モデルを使用することもできます。
より近いリージョンを選択する
モデルを最も近い AWS リージョンで使用できる場合は、Amazon Bedrock ではそのリージョンを選択してください。
ストリーミング API を使用する
InvokeModel API および Converse API は、全ての応答トークンが生成されるまで待ってから、トークンをユーザーに送り返す必要があります。InvokeModelWithResponseStream API と ConverseStream API を使用してください。これらの API では、全てのトークンが生成されるまで待たずに、ストリームで応答を返します。