AIパーソナル・ラーニング
と実践的なガイダンス
資源推薦1

OpenAIが大規模モデル(GPTシリーズモデル)にプロンプトキャッシングを提供開始:GPT-4oシリーズモデルの入力価格を半額に、アクセス速度を80%向上

大規模なモデルアプリケーションでは、複雑なリクエストの処理は、特にリクエスト内容に多くの繰り返しがある場合、しばしば高い待ち時間とコストを伴う。この「遅いリクエスト」の問題は、長いプロンプトと高頻度のインタラクションを伴うシナリオで特に顕著です。この課題に対処するため、OpenAIは最近 プロンプト・キャッシング 機能。この新技術は、モデルによって処理された同じプレフィックス部分をキャッシュすることで二重計算を回避し、リクエストに関連するレスポンスタイムとコストを大幅に削減します。特に静的コンテンツを含む長いヒントリクエストの場合、ヒントキャッシングは効率を大幅に改善し、運用のオーバーヘッドを削減することができる。本稿では、開発者が大規模なモデルを使用する際のエクスペリエンスを向上させるために、この機能がどのように機能するか、サポートされるモデル、および合理的なヒント構造によってキャッシュヒット率を最適化する方法について詳しく紹介する。

 

ラージ・モデル・プロンプト・キャッシング(プロンプト・キャッシング)とは何ですか?

プロンプトキャッシングは、繰り返し内容の長いプロンプトを処理する際の待ち時間と計算コストを削減するメカニズムである。この文脈での「プロンプト」とは、モデルに送信する入力を指します。リクエスト処理中に毎回ヒントの最初のN個の入力トークンを再計算する代わりに、システムは以前の計算結果をキャッシュする。その代わりに、システムは以前の計算結果をキャッシュし、同じキュー接頭辞を持つ後続のリクエストにキャッシュデータを再利用できるようにすることで、処理を高速化し、待ち時間を短縮し、コストを削減します。


簡単に言うと、ヒントキャッシュは次のように機能する:

  • 最初の1024トークンをキャッシュ : システムは、プロンプトコンテンツの最初の1024個のトークンが、前のリク エストと同じかどうかをチェックし、同じであれば、それらのトークンの計算 をキャッシュする。
  • キャッシュヒット 新しいリクエストがキャッシュされたヒントと一致した場合、それを「キャッシュヒット」と呼ぶ。このとき、レスポンスにはキャッシュトークンに関する詳細な情報が含まれ、計算時間とコストの削減に役立ちます。
  • コスト削減 で 標準配備タイプ キャッシュされたトークンは割引価格で課金される。 設定済みの展開タイプ キャッシュタグが100%割引になる。

キュー・キャッシングの図式が公式に示された:

OpenAI、大型モデル(GPTシリーズ)向けにプロンプト・キャッシングの提供を開始:GPT-4oシリーズの投入価格を半額に、アクセス速度を80%-1向上

上の図からわかるように、元のリクエストの前のトークンが前のリクエストと同じであれば、リクエストのその部分はモデルを通さずに、キャッシュされた結果を直接読み込むだけで解決できます。

現在、OpenAIは公式に以下のキャッシュ可能なモデルを提供している:

モデリング テキスト入力コスト オーディオ入力コスト
gpt-4o (gpt-4o-2024-05-13 および chatgpt-4o-latest を除く) 格安50% 適さない
gpt-4o-mini 格安50% 適さない
gpt-4-o-リアルタイム・プレビュー 格安50% 格安80%
o1プレビュー 格安50% 適さない
o1-ミニ 格安50% 適さない

キュー・キャッシュに対応した現行モデル(gpt-4o、gpt-4o-mini、gpt-4o-realtime-previewなど)は、いずれもテキスト入力のコスト削減に有効で、特に50%のコスト・ディスカウントを実現しており、gpt-4o-realtime-previewモデルは、音声入力処理時に80%のコスト・ディスカウントさえ享受している。80%のコスト割引を享受している。これらのモデルのサポートは、モデルの応答効率を向上させるだけでなく、特に頻繁な繰り返し要求が必要なシナリオや、大量の静的コンテンツを含むシナリオにおいて、低コストで高性能なソリューションを開発者に提供します。

 

ヒントキャッシュの仕組み

現在のOpenAIの公式ドキュメントによると、キャッシュを使用する場合は以下の条件を満たす必要があります:

  • プロンプトの長さは少なくとも 1024タグ .
  • プロンプト 最初の1024タグ 後続のリクエストであること 同じ .

さらに、公式には、開始時の1024トークンはキャッシュの最小長さであるが、後のヒットの128トークンの増分、つまり、キャッシュの長さは1024、1152、1280、1408のようなものであることにも注意すべきである。1024トークンが最小で、128トークン刻み保存の仕方。

キャッシュヒット」が発生すると、APIレスポンスには以下の内容が含まれる。 キャッシュ・トークンこれは、キャッシュから送られたトークンの数を示す。たとえば、トークンの数が o1-preview-2024-09-12 モデルに対するリクエストは、以下のようなレスポンスを返すことがある:

  1. {
  2. "created":1729227448.
  3. "model": "o1-preview-2024-09-12".
  4. "object": "chat.completion".
  5. "usage":{
  6. 「completion_tokens":1518、
  7. "prompt_tokens":1566,
  8. 「total_tokens":3084、
  9. completion_tokens_details":{」である。
  10. 「reasoning_tokens":576
  11. },
  12. "prompt_tokens_details":{。
  13. 「cached_tokens":1408
  14. }
  15. }
  16. }

この例では1408マーキングがキャッシュからフェッチされるため、処理時間とコストが大幅に削減される。

ヒントキャッシュヒット後の時間短縮

OpenAIは公式に、モデルは常にキャッシュ情報を保持するわけではないと述べています。GPTシリーズのモデルのキューキャッシュに関する現在の仕組みは以下の通りです:

  • キャッシュ期間 キャッシュは 5~10分はキャッシュの非アクティブ状態の後にクリアされる。最後に使用したキャッシュに1時間以上アクセスがない場合、キャッシュは完全に削除される。
  • キャッシュ・ミス プロンプトの最初の1024個のトークンのうち1つが異なる場合は キャッシュ・ミス 現時点で キャッシュ・トークン は0になる。
  • キャッシュは共有されない キャッシュが違う場所にあることを示唆する。登録するはそれらの間で共有される。各サブスクリプションはそれ自身のキャッシュを持つ。
対応キャッシュ・コンテンツ・タイプ

ヒントキャッシュの機能は、使用するモデルによって異なる。例えばo1シリーズモデルこれはテキストのみをサポートし、システム・メッセージ、画像、ツール・コール、構造化出力はサポートしないため、そのキャッシュ機能は主にユーザー・メッセージ部分に適用される。そのため gpt-4oおよびgpt-4o-mini このモデルは、以下のような、より多くのコンテンツタイプのキャッシュをサポートしている:

  • メッセージ システム・メッセージ、ユーザー・メッセージ、ヘルパー・メッセージを含むメッセージの完全な配列。
  • イメージ : ユーザーメッセージに含まれる画像 (リンクまたは base64 エンコードされたデータ)。 詳細 パラメータは一貫している。
  • ツールコール メッセージ・アレイとツール定義のキャッシュを含む。
  • 構造化出力 システムメッセージに付随する構造化出力モード。

キャッシュヒットの確率を上げるため、重複はメッセージ配列の先頭に置くことを推奨する。

キャッシュがサポートするOpenAIのAPIバージョンを示唆する。

ヒント・キャッシュ機能は、最初に導入されたのは APIバージョン2024-10-01-プレビュー サポートの提供において。について o1モデルシリーズ さらに、APIレスポンスに キャッシュ・トークン パラメータを使って、キャッシュにヒットしたトークンの数を表示することができる。

キュー・キャッシュを有効にする手順:

  1. 最小長 プロンプトの長さが少なくとも1024トークンであることを確認してください。
  2. 無矛盾接頭辞 : プロンプトの最初の1024トークンがリクエスト間で一貫していることを確 認する。
  3. APIレスポンス キャッシュヒットが発生すると、APIレスポンスに キャッシュ・トークン何トークンがキャッシュされるかを示す。

 

ヒントのキャッシュを無効にすることはできますか?

ヒントはすべてのサポートモデルでキャッシュされます。 デフォルトで有効 現在は 無効化オプションなし .つまり、サポートされているモデルを使用している場合、リクエストが適格であれば、キャッシュは自動的に有効になります。

 

なぜキュー・キャッシングが重要なのか?

キュー・キャッシュは主に2つの利点をもたらす:

  1. 遅延の軽減 キャッシングは、同じコンテンツの重複処理を避けることで、応答時間を大幅に短縮します。
  2. コスト削減 キャッシュは処理する必要があるトークンの数を減らし、全体的な計算コストを削減する。

ヒントキャッシングは、会話AIシステム、データ抽出、反復クエリなど、同じデータやヒントを頻繁に処理する必要があるアプリケーションシナリオに特に有利です。

 

OpenAI ヒントキャッシングのベストプラクティス

キャッシュヒットの確率を向上させるために、OpenAIは公式なアドバイスも提供している:

  • 構造化されたプロンプト:プロンプトの前に静的または反復的なコンテンツを置き、プロンプトの後ろに動的なコンテンツを置く。
  • キャッシュメトリクスの監視:キャッシュヒットレート、レイテンシー、キャッシュマークパーセンテージを監視することで、ヒンティングとキャッシュポリシーを最適化します。
  • 長いヒントとオフピーク時間帯の活用:ピーク時間帯はキャッシュが頻繁にクリアされるため、キャッシュヒットの可能性を高めるために、長いヒントを使用し、オフピーク時間帯にリクエストを開始する。
  • 一貫性の維持: 同じ接頭辞を持つプロンプトリクエストを定期的に使用することで、 キャッシュフラッシュの可能性を減らす。
OpenAIのヒントキャッシュ技術 よくある質問と回答
  1. キャッシングはどのようにしてデータのプライバシーを保証するのか?
    異なる組織間でキューキャッシュを共有することはできません。同じキューキャッシュにアクセスできるのは、同じ組織のメンバーだけです。
  2. ヒント・キャッシュは出力マークアップや最終レスポンスに影響しますか?

キュー・キャッシュには影響しない。モデルの出力。生成される出力はキャッシュが使われていてもいなくても常に同じです。キャッシュされるのはプロンプト自身だけなので、実際のレスポンスはキャッシュされたプロンプトに基づいて毎回再計算されます。

  1. 手動でキャッシュをクリアすることは可能ですか?
    キャッシュの手動クリアは現在サポートされていません。長期間使用されていないプロンプトは自動的にキャッシュから削除されます。通常、キャッシュは 5~10分 しかし、トラフィックの少ない時期には、キャッシュは最大で 1時間 .
  2. ヒント・キャッシュを使うには追加料金が必要ですか?
    必須ではありません。キャッシングは自動的に有効になり、ユーザーに追加のアクションやコストはかかりません。
  3. キャッシュされたヒントはTPMの制限にカウントされますか?
    はい、キャッシュはレート制限には影響しません。キャッシュヒットはリクエスト総数にカウントされます。
  4. Scale TierとBulk APIでヒントキャッシュ割引を使用できますか?
    ヒント キャッシュ・ディスカウントは Bulk API には適用されませんが、Scale Tier では適用されます。Scale Tierでは、オーバーフロークンもキャッシュディスカウントの対象となります。
  5. ヒント・キャッシュはデータ保持ゼロのリクエストにも適用されますか?
    はい、プロンプト・キャッシングは既存のゼロ・データ保持ポリシーに準拠しています。

 

概要

Azure OpenAIのキューキャッシング機能は、長いキューや繰り返しのリクエストを処理するための貴重な最適化ソリューションを提供します。計算の待ち時間とコストを削減することで、モデルの効率を大幅に改善します。

より多くのモデルがサポートされ、ヒントキャッシング機能が最適化され続けることで、Azure OpenAIのユーザーはより効率的で費用対効果の高いサービス体験を享受できるようになると期待される。

目次3
無断転載を禁じます:チーフAIシェアリングサークル " OpenAIが大規模モデル(GPTシリーズモデル)にプロンプトキャッシングを提供開始:GPT-4oシリーズモデルの入力価格を半額に、アクセス速度を80%向上

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語