SuperAPI AI 工具集

C2C

C2C(Cache-to-Cache)是论文《Cache-to-Cache: Direct Semantic Communication Between Large Language Models》的官方代码实现,已被 ICLR'26 接收。它让大语言模型通过 KV-Cache 直接通信,绕过文本生成环节。项目通过在不同模型之间投影并融合 KV-Cache,使各模型以更直接的方式共享语义表示。官方数据显示,该方法相比单个模型准确率提升 8.5–10.5%,相比基于文本的通信提升 3.0–5.0%,延迟有 2.0 倍加速。项目提供 Python 包 rosetta(名称取自罗塞塔石碑),提供 RosettaModel 通用包装器、训练与评估脚本、配置文件以及预训练 C2C Fuser 权重,支持多 sharer 模型融合,并提供在线 Demo 供体验。

访问官网

工具介绍

C2C(Cache-to-Cache)是论文《Cache-to-Cache: Direct Semantic Communication Between Large Language Models》的官方代码实现,已被 ICLR'26 会议接收。其核心目标是让大语言模型之间通过 KV-Cache 直接通信,而不是先把内部表示转成文本再传给另一个模型。

用途与原理

C2C 在模型之间投影并融合 KV-Cache,使原本相互独立的 LLM 能够以更丰富、更直接的方式共享语义表示。按照官方描述,该方式相比单个模型准确率提升 8.5–10.5%,相比基于文本的通信提升 3.0–5.0%,并带来 2.0 倍的延迟加速。

Python 包命名为 rosetta,取自罗塞塔石碑——同一段文字以多种文字呈现,从而解锁了古埃及象形文字的翻译。C2C 也扮演类似角色:在多个独立 LLM 的 KV-cache 表示之间做翻译,让它们说同一种语言。

主要能力

  • 直接缓存通信:通过 KV-Cache 投影与融合在不同模型间传递语义,绕过文本生成。
  • 通用包装器:提供 RosettaModel 包装器,可用少量代码将 C2C 应用于自有 LLM。
  • 多模型融合:支持将多个 sharer 模型的 KV-cache 融合到单个 receiver(2025/12 起提供,官方标注为初步阶段)。
  • 预训练 Fuser:在 Hugging Face 上提供已发布的 C2C Fuser 权重及完整可用的 fuser 配对列表。
  • 任意模型对:自动处理隐藏维度不同、层数不同、注意力头配置不同、分词器不同等情况。
  • 训练与评估流程:仅更新 C2C projector 参数,源模型与目标模型保持冻结;提供配置示例与统一评估脚本。
  • 交互体验:提供 live chat 示例与在线 Demo,可进行并排模型对比。

使用方式

环境搭建:创建新环境并安装该包;训练与评估需额外安装依赖。

使用已有 Fuser:从 Hugging Face collection 加载已发布的 C2C Fuser 权重并运行推理脚本。

运行聊天示例:script/playground/live_chat_example.py 提供交互式聊天示例,演示使用预训练 projector 的 cache-to-cache 通信;多 sharer 支持也可参考该文件。

应用到任意 LLM:通过 RosettaModel 通用包装器,几行代码即可接入自有模型。

训练 C2C Fuser:在 recipe/train_recipe/ 准备训练配置,指定基础模型、teacher 模型、projector 类型与参数、训练超参、数据集和输出目录,参考 C2C_0.6+0.5.json。训练期间只更新 C2C projector 参数。

评估:在 recipe/eval_recipe/ 准备评估配置,指定基础模型、teacher 模型、checkpoint 目录、生成配置、评估数据集与输出目录,参考 unified_eval.yaml,然后运行评估。

代码结构

  • rosetta/:主包。model/ 为核心模型组件;train/ 为训练工具;baseline/ 为基线实现;utils/ 为评估与模型注册工具函数。
  • script/:实验脚本。train/ 含 SFT_train.py;evaluation/ 含 unified_evaluator.py;dataset/ 为数据集准备脚本;examples/ 为使用示例。
  • recipe/:配置文件。train_recipe/ 为训练配置;eval_recipe/ 为评估配置。

扩展方式

  • 添加 Projector:在 rosetta/model/projector.py 中新增 projector 架构,负责把源模型 KV-Cache 转换到目标模型语义空间;关键组件包括投影网络(MLP/拼接式)、逐层选择的 gating 机制与温度退火训练。配置中通过 {"projector": {"type": "MyProjector", "params": {...}}} 注册。
  • 添加数据集:在 rosetta/train/dataset_adapters.py 中新增数据集,配置中使用 {"data": {"type": "MyDataset"}}。
  • 添加 Benchmark:参照 unified_evaluator.py 的模式,在 script/evaluation/ 中添加评估逻辑。

适用场景

  • 研究 LLM 之间非文本通信与 KV-Cache 语义融合。
  • 对多模型协作、模型集成推理的效率与准确率做实验比较。
  • 在自有模型对之间训练并评估 C2C projector。

限制与说明

多 sharer 支持仍处于初步阶段,官方表示仍在积极开发。项目最新动态提到,后续将发布 agent-managed KV-Cache 及相应服务系统。其他细节(如具体许可、价格、平台要求等)资料中暂未提供。