ヨロビジョン深圳
深セン
今すぐ参加
用語集

プロンプトキャッシング

プロンプトキャッシュでAI効率を向上させましょう!この強力なテクニックを使用して、レイテンシを削減し、コストを削減し、AIアプリを拡張する方法を学びましょう。

プロンプトキャッシングは、推論プロセスを高速化するために、主にラージランゲージモデル(LLM)で使用される最適化テクニックである。これは、プロンプトの最初の部分の中間的な計算結果を保存することで機能する。新しいプロンプトがプレフィックスと呼ばれる同じ開始部分を共有する場合、モデルは再計算する代わりにキャッシュされた状態を再利用することができる。この方法により、応答生成に必要な待ち時間と計算負荷が大幅に削減されるため、会話型AIや反復的なクエリを含むアプリケーションで特に効果的である。冗長な計算を避けることで、プロンプト・キャッシングはスループットを向上させ、運用コストを削減します。

プロンプトキャッシュの仕組み

LLMが一連のテキストを処理するとき、コンテキストウィンドウ内の各トークンについて内部ステートを計算する。これは、特に長いプロンプトでは、計算コストのかかる部分である。KVキャッシングと呼ばれるプロンプトキャッシングの核となる考え方は、これらの内部状態、特にアテンションメカニズム内のキーと値(KV)のペアを保存することである。たとえば、あるモデルが "Translate the following English text to French: "という接頭辞を処理すると、その結果の状態を保存する。後に「次の英語テキストをフランス語に翻訳してください:'Hello, world!'」のような完全なプロンプトを受け取ったとき、最初のフレーズに対してキャッシュされた状態をロードし、新しい部分に対してのみ計算を開始することができる。これにより、後続の同じような要求に対して、テキスト生成のプロセスがはるかに速くなる。オープンソースのvLLMプロジェクトのようなシステムは、このプロセスを効率的に管理し、推論エンジン全体のスループットを向上させるように設計されている。

実際のアプリケーション

プロンプト・キャッシングは、多くの実世界の人工知能(AI)システムにとって重要な最適化であり、より速い応答を提供することでユーザー体験を向上させる。

  • 対話型チャットボットとバーチャルアシスタントチャットボットの会話では、各ターンは以前のやりとりの上に構築されます。会話の履歴をプレフィックスとしてキャッシュすることで、ダイアログ全体を再処理することなく、モデルが次の応答を生成できるようになります。これは、より流動的で応答性の高いインタラクションにつながり、最新のバーチャル・アシスタントのパフォーマンスの基本であり、Poeのようなプラットフォームのユーザー・エクスペリエンスを向上させます。
  • コード生成と補完GitHub CopilotのようなAIを搭載したコーディングアシスタントは、頻繁にキャッシュを使用する。ファイル内の既存のコードは、長いプロンプトとして機能する。このコードのKV状態をキャッシュすることで、モデルは文字が入力されるたびにファイル全体を再分析することなく、次の行の候補を素早く生成したり、関数を完成させたりすることができ、リアルタイムの推論が可能になる。このテクニックは、AIコード・アシスタントの仕組みの重要な部分である。

プロンプトキャッシングと関連概念の比較

プロンプト・キャッシングを、機械学習(ML)における他の関連技術と区別することは有益である:

  • プロンプトエンジニアリング:AIモデルから望ましい反応を引き出すための効果的なプロンプトの設計に重点を置く。キャッシングは、プロンプトの設計の良し悪しに関わらず、プロンプトの実行を最適化します。
  • プロンプト・エンリッチメント:プロンプトがモデルに送信される前に、ユーザーのプロンプトにコンテキストや明確な情報を追加すること。キャッシュは、モデルが(潜在的にエンリッチされた)プロンプトを処理する間に行われる。
  • プロンプト・チューニングそして ローラ:これらはパラメータ効率の良い微調整(PEFT)手法であり、追加パラメータの小さなセットを学習することでモデルの動作を適応させる。キャッシングは推論時間の最適化であり、モデルの重み自体は変更しません。
  • 検索補強型ジェネレーション(RAG):外部の知識ベースから関連情報を取得し、プロンプトのコンテキストに追加することで、プロンプトを拡張する。RAGは入力を変更するが、キャッシングは組み合わされたプロンプトの処理に適用できる。
  • 標準出力キャッシュコンテンツ・デリバリー・ネットワーク(CDN)によって管理される従来のウェブ・キャッシングは、リクエストの最終出力を保存する。プロンプト・キャッシングはモデルの処理パイプライン内に中間的な計算状態を保存し、より柔軟な再利用を可能にします。

プロンプトのキャッシングは主にLLMと関連しているが、キャッシング計算の基本原理は、テキストプロンプトが他のモダリティと相互作用する複雑なマルチモーダルモデルにも適用できる。しかし、Ultralytics YOLO11のようなモデルを使用した物体検出のような標準的なコンピュータビジョン(CV)タスクでは、あまり一般的ではありません。Anyscaleや NVIDIAのようなプロバイダーが提供するリソースに詳述されているように、モデルのデプロイメントのためのプラットフォームは、キャッシングのような最適化が本番環境でのパフォーマンスにとって重要になる場所です。

Ultralyticsコミュニティに参加しませんか?

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加
クリップボードにコピーしました