Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Semantic Caching

セマンティックキャッシングは、新しいクエリが以前のクエリと同じ意味の場合、保存済みのLLM応答を返します。埋め込みを照合してモデル呼び出しを省略し、コストを削減します。

セマンティックキャッシュは、大規模言語モデル(LLM)などの生成モデルの応答を保存し、表現が異なっても、以前のリクエストと同じ意味を持つ新しいリクエストに再利用します。キャッシュは各プロンプトを埋め込みに変換し、保存済みプロンプトの中から最も類似したものを見つけ、類似度がしきい値を超えた場合に保存済みの回答を返します。キャッシュがヒットすればモデル呼び出し全体を省略できるため、レイテンシはミリ秒単位に短縮され、トークンも消費しません。意味に基づいて照合するので、「パスワードを忘れました」と「パスワードをリセットするにはどうすればよいですか?」は同じ回答を共有できます。プロンプトのテキストをキーとする完全一致キャッシュでは、回答を別々に保存する必要があります。Zillizは2023年、この用途向けにオープンソースのGPTCacheライブラリを公開しました。現在では、ベクトルデータベースやAPIゲートウェイが組み込み機能として提供しています。

セマンティックキャッシュの仕組み#

文埋め込みモデルが受信したプロンプトをエンコードし、ベクトル検索で、通常はコサイン類似度を使って、回答済みプロンプトの埋め込みと比較します。小規模なキャッシュはメモリに収まり、大規模なキャッシュは近似最近傍インデックスを備えたベクトルデータベースに保存されます。キャッシュがミスした場合は、モデルが新しい回答を生成し、新しいプロンプトの埋め込みと回答を通常は有効期限とともに保存します。

キャッシュキーでは、正しい回答を変える他のすべての要素も考慮する必要があります。異なるシステムプロンプト、モデルのバージョン、ユーザー権限レベル、または検索した文書セットに基づいて生成された回答は、別々のスコープに保存します。これにより、ある顧客のキャッシュ済み回答が別の顧客に提供されることはありません。鮮度にも同じ配慮が必要です。価格、ポリシー、またはソース文書が変わっても、古いバージョンに基づくエントリーは新しいプロンプトとの一致が続きます。そのため、各エントリーに有効期間を設定し、ソースデータが変わったときは該当するスコープを消去します。

類似度のしきい値の選び方#

しきい値によって、2つのプロンプトがどの程度異なっていても同じ回答を共有できるかが決まります。この例では、Sentence Transformersのall-MiniLM-L6-v2モデルをエンコーダーとして使用し、3件のエントリーを持つキャッシュを構成します。

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("all-MiniLM-L6-v2")

# Earlier prompts whose answers are already stored in the cache
cached = ["How do I reset my password?", "What are your opening hours?", "How do I cancel my subscription?"]
cached_embeddings = model.encode(cached)

# Each new prompt reuses the closest cached answer if it clears the threshold
queries = ["I forgot my password, how can I change it?", "When does the store open?", "How do I cancel my order?"]
for query in queries:
    query_embedding = model.encode(query)
    scores = model.similarity(query_embedding, cached_embeddings)[0]
    best = scores.argmax().item()
    status = "hit" if scores[best] >= 0.7 else "miss"
    print(f"{query} -> {cached[best]} ({scores[best]:.2f}, {status})")

パスワードに関する言い換えのスコアは0.89で、正しくキャッシュがヒットします。営業時間に関する言い換えのスコアはわずか0.61で、ヒットしません。「注文をキャンセルするにはどうすればよいですか?」は「サブスクリプションをキャンセルするにはどうすればよいですか?」に対して0.71となり、誤った手順を返す可能性があります。埋め込みの類似度は共通する表現やトピックを測るため、この3つのケースを分けられる単一のしきい値はありません。本番環境のキャッシュでは、自社のトラフィックから得た言い換えペアでエンコーダーをファインチューニングする、カテゴリごとにしきい値を設定する、または候補となるキャッシュヒットをリランカーに渡し、回答を返す前に2つのプロンプトをまとめてスコア付けすることで、この差を縮めます。

セマンティックキャッシュの適用先#

セマンティックキャッシュは、多くのユーザーが同じ質問をし、回答の変化が少ない場面で効果を発揮します。たとえば、サポート用チャットボット、社内ヘルプデスク、安定したドキュメントを参照する検索拡張生成(RAG)アシスタントなどです。パーソナライズされたリクエスト、時間に左右されるリクエスト、創造的なリクエストでは、再利用した回答が誤りや繰り返しになるため、効果は限定的です。

LLMサービングで使われる他の2種類のキャッシュは、異なるレイヤーで機能します。

  • プロンプトキャッシュ: モデルサーバーは、完全一致するプロンプトの接頭辞について計算済み状態を保存し、プリフィルを短縮します。モデルは引き続き新しい回答を生成します。
  • KVキャッシュ: 1回の生成処理内で以前のトークンのキーと値を保持し、新しいトークンごとに再計算する必要をなくします。

セマンティック検索は同じ埋め込み検索を使ってクエリに関連する文書を取得し、セマンティックキャッシュは完成済みの回答を取得します。多くの場合、アプリケーションとモデルプロバイダーの間に位置するAIゲートウェイ内で動作します。

画像も同じ方法でキャッシュキーにできます。Ultralytics YOLOのembed()は各画像の特徴ベクトルを返すため、画像分類用に学習したYOLO26モデルが検索キーを提供できます。これにより、ほぼ重複するカメラフレームで、視覚言語モデルが以前に生成した説明を再利用できます。

Explore solutions

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう