最近、とても面白い論文を読んだので共有します。複数の LLM を組み合わせるとき、テキストで対話させるのをやめて、モデル内部の表現(KV-Cache)を直接やり取りするというアイデアです。手法名は Cache-to-Cache(C2C)。テキスト生成の待ち時間を省きつつ、モデルが持つ“深い意味情報”をそのまま渡せるのがポイントです。
論文は以下です:
なぜ「テキスト対話」じゃだめなのか
これまでのLLM同士間の情報共有は、A がテキストを生成→B がそれをプロンプトとして受け取る、というText-to-Text(T2T)が定番でした。ところがこのやり方には問題が3つあります。
- 情報圧縮の損失:高次元の内部表現を自然言語に押し込むと、細かなニュアンスが落ちる。
- 言語のあいまいさ:曖昧表現や省略で、解釈がブレる。
- 遅い:トークンを順番にデコードするので、往復するたびに待ち時間が増える。
そこで著者らは、「LLMは同じ Transformerアーキテクチャなら、解釈結果のテキストではなく内部状態そのもの(KV-Cache)をやり取りできないか」と考えたわけです。
KV-Cache って何?
KV-Cache は、自己回帰デコード時に各層・各トークンで保持する Key/Value の隠れ状態のキャッシュです。通常、入力を一度 “prefill” でエンコードし、以降の生成は直前トークンとこのキャッシュを使って進みます。C2C は、この KV を“通信の媒体”にしてモデル間で直接受け渡すという発想です。
C2C の仕組みをざっくり説明すると、Sharer(情報を渡す側)の KV-Cache をReceiver(受け取る側)の表現空間へ投影(projection)し、融合(fusion)します。さらに、どの層の情報を取り込むかを学習で選ぶゲートを備え、テキストを介さずに深い意味表現をダイレクトに転送できます。
まずは“できるの?”という検証
論文では冒頭にオラクル実験で可用性を確認しています。
- Cache Enrichment:キャッシュの長さを増やさずに(= 追加トークンなしで)KV を“濃く”すると精度が上がる、ということを確認できました。
- Cache Transform:異なるモデル間で KV-Cache を転送できる(例:Qwen3-4B → Qwen3-0.6B へ 3 層 MLP で投影)。t-SNE でも受け手モデルの空間に収まることを確認でき、KV-Cacheで異なるサイズのモデルでも情報を共有できることを示しています。
精度評価
それで、Cacheを介して会話するLLMは従来の自然言語で会話するLLMよりどのくらい精度改善できるのかも検証しまとめました。著者らは複数のモデル・ベンチマークで評価し、単独モデル比で平均 +8.5〜10.5%、T2T 比で概ね +3〜5% の精度向上、さらに平均2倍以上のレイテンシ削減を報告しています。たとえば Sharer=Qwen2.5-0.5B、Receiver=Qwen3-0.6B の設定では、MMLU-Redux におけるレイテンシが T2T: 1.52 秒 → C2C: 0.40 秒まで短縮された例が示されています。加えて、Gemma 系や数理特化モデルなど異種モデルの組み合わせでも C2C が優位で、Sharer が強いほど増分が伸びやすいというスケーリング傾向も確認されています。
総じて、C2C は T2T に比べて精度・速度の両面で着実な上積みが期待できる手法です。将来的には、モデル間通信のデフォルトが “テキスト” から “キャッシュ” へ置き換わる可能性も十分にありそうですね。
GitHubのリポジトリも見つけましたので、興味のある方はご覧ください。

