@FeitengLi:清华大学等团队发布了 TokenRouter,帮助小模型与大模型协作撰写同一个回答……

X AI KOLs Timeline 工具

摘要

清华大学等团队发布了 TokenRouter,一个支持小模型与大模型在单次回答中进行 token 级协作的推理服务引擎,通过减少模型切换的等待开销,在双卡 A100 上将 8 路并发的总吞吐从约 135 tokens/s 提升到 372 tokens/s(2.76 倍)。代码与论文均已开源公开。

清华大学等团队发布了 TokenRouter,它能帮助小模型与大模型协作撰写同一个回答:先由小模型开始写作,当系统判断需要大模型时,再交给大模型续写,之后甚至可以再交还给小模型继续写。你可以把它想象成一位助手和一位专家在协同工作,专家不必事事从头到尾负责。 官方介绍:https://fuvty.github.io/thinking_yard_project_page/projects/tokenrouter/… 但两个 AI 之间频繁交接也会浪费时间。TokenRouter 所做的就是减少这些等待,让同样的设备每秒生成更多内容。作者使用了 Qwen3-0.6B 和 32B 模型,共享两块 A100 80GB GPU(CUDA MPS),同时处理 8 个请求:采用 R2R 协作方案后,所有请求每秒生成的内容总量从原程序的约 135 tokens 提升到 372 tokens,达到 2.76 倍。Token 可以大致理解为一小段文本,但不等同于单个汉字。这个数字指的是同时服务多个用户时的总输出量,并不意味着每个人的回答都快了 2.76 倍。 论文:https://arxiv.org/html/2610.12242v1… 代码已开源,作者测试了五种不同的大小模型协作方案。开发者可以用它来搭建自己的协作服务,并决定何时将任务交给哪个模型。 代码:https://github.com/thu-nics/TokenRouter…
查看原文
查看缓存全文

缓存时间: 2026/10/12 15:29

清华等团队发布了 TokenRouter,帮助大小 AI 协同写出同一个回答:小模型先写,当系统判断需要大模型时,交给大模型继续写,之后甚至可以再交回给小模型。你可以把它理解为助手和专家一起工作,专家不必从头到尾处理所有内容。

官方介绍:https://fuvty.github.io/thinking_yard_project_page/projects/tokenrouter/

… 但大小 AI 之间频繁交接也会浪费时间。TokenRouter 所做的就是减少这些等待,让同一台设备每秒能生成更多内容。作者使用 Qwen3-0.6B 和 32B 模型,共享两块 A100 80GB GPU(CUDA MPS),同时处理 8 个请求:在 R2R 协作方案下,所有请求每秒生成的总内容从原程序的约 135 个 token 增加到 372 个,提升了 2.76 倍。Token 可以大致理解为一小段文本,但并不等同于一个汉字。这个数字指的是同时服务多个用户时的总输出,并不意味着每个人的回答都快了 2.76 倍。

论文:https://arxiv.org/html/2610.12242v1

代码已公开,作者测试了五种不同的大小模型协作方案。开发者可以用它来构建自己的协作服务,决定何时交给哪个模型处理。

代码:https://github.com/thu-nics/TokenRouter


TokenRouter · 面向 token 级 LLM 路由的高效服务引擎

来源:https://fuvty.github.io/thinking_yard_project_page/projects/tokenrouter/

一个面向 token 级 LLM 路由 的高效服务引擎。

机遇

一次回答。多个模型。

Token 级路由允许大小模型在单次回答中协同工作。服务引擎必须跟上每一次切换的步伐。

路由发生在哪里?

三种粒度的模型分配

Turn 1 · Token 1

一个会话三轮对话中示意性的模型分配;非实际生成轨迹。

独立推进。

快速模型应在较慢的同行处理被路由的 token 时继续解码。

有效的批次。

不规则的 token 到达需要调度器在正确的时间将请求聚合在一起。

简洁的接口。

路由策略描述单个请求。运行时管理批处理、交接和缓存状态。

引擎

每个模型按自己的节奏运行。

以请求为中心的编程。

以模型为中心的执行。

一个服务端点

请求准入与流式输出

小模型

入口子服务器

调度器

LLM 运行器

路由

解码

A B C

Step 1

Local KV cache

Request A · running

A send / receive

Token suffix + routing state

L

大模型

对等子服务器

调度器

LLM 运行器

路由

解码

Idle —

Local KV cache

Independent model state

解码一个本地批次。

小模型在一个批次中推进请求 A、B 和 C。

Decode

示意性的交接过程;动画速度不代表模型延迟。每个子服务器都有自己的解码循环。只有 token 后缀和路由状态在模型之间传输;KV 缓存保留在本地。该架构可扩展到两个以上的模型。

客户端-服务器循环

准入请求并流式输出完成的 token。

解码循环

调度本地批次并执行模型步骤。

模型间循环

发送、接收和恢复被路由的请求。

无需从头开始恢复。

待处理的请求保留其服务状态和 KV 槽位。返回的 token 直接追加,无需重复前缀匹配或 KV 分配。

Running

Pending

Running

or finished

编程接口

三个函数。一种路由策略。

描述请求何时切换模型、随请求传输的内容以及如何恢复解码。

route(batch, result)

选择下一个模型。

每次前向传播后,返回每个请求对应的模型名称。返回当前模型名称表示继续本地解码。现有的双模型调度器也接受布尔决策。R-Stitch 示例:True 表示委托给唯一的对等模型;False 表示在本地继续解码。

R-Stitch 代码摘自已发布的实现(https://github.com/thu-nics/TokenRouter)。已省略配置和周围的类定义。

五种被评测的策略,同一接口

发布的代码还包含 GlimpRouter、请求级路由和随机基线。参见支持的调度器。

快速开始

从源码安装并使用 Qwen3 0.6B / 32B 配置启动 R2R 服务器。

git clone https://github.com/thu-nics/TokenRouter.git
cd TokenRouter
conda create -n tokenrouter python=3.10
conda activate tokenrouter
pip install -e .
python -m tokenrouter.launch_server \
  --config_path config/r2r/Qwen3-0.6B_Qwen3-32B.yaml

服务器启动后,可使用 OpenAI 客户端示例或 requests 示例。Python 引擎示例无需单独的 HTTP 服务器即可直接运行。README 涵盖了多节点部署;复现指南 包含配置、工作负载和基准测试命令。

延迟批处理

少量等待。更好的批次。

立即开始可能让下一个到达的请求等待整个解码步骤。短暂而受控的等待可以让被路由的请求进入同一个批次。

相同的 token。不同的调度。

三个请求 · 每个请求五个 token

调度时间线

四种执行策略的概念性对比。

t = 0.0

小模型:Ready

大模型:Idle

已完成:0 of 3 requests

—

平均完成时间

固定路由序列和延迟来自论文的调度示例。每个块代表一个 token;相同的开始时间表示一个批次。延迟批处理使用 Bsmall = 1 和 Blarge = 2。

实测阈值扫描

阈值很重要。

更大的批次有用,但等待时间过长会减少在途工作量。最佳阈值取决于并发度和路由行为。

吞吐量 · 输出 tokens/s

R2R · Qwen3-0.6B / 32B · AIME2024

实测值来自提供的阈值扫描。

阈值如何选择?

一个离散时间马尔可夫链对排队请求、活跃批次和每个子服务器的剩余执行时间进行建模。给定并发度、路由概率和模型步长延迟,TokenRouter 在可行的阈值中搜索最高期望吞吐量。

B* = arg max_B E[committed tokens] / E[elapsed time]

约束条件 ∑ᵢ(Bᵢ − 1) < N 避免了所有请求都在队列中等待的状态。该分析模型假设路由概率平稳且每步模型延迟固定;它不对所有非平稳路由模式进行建模。

服务效率

路由收益。

以每秒 token 数交付。

五种算法、三种工作负载、两种基线。

TokenRouter 加速的是执行路由策略的系统。

高强度推理

并发度 4 · 输出 tokens/s · 越高越好

官方代码 · 标准服务 · TokenRouter

比值是将 TokenRouter 与每种算法可用的更强基线进行比较。所有柱状图使用从零开始的线性刻度。

本次选择的精确数值

模型与硬件

CITER、R2R、R-Stitch 和 Co-LLM 使用 Qwen3-0.6B / 32B。ME 额外使用 Qwen3-8B,权重为 0.5 / 0.3 / 0.2。实验使用一台 8×A100-80GB 主机。双模型运行通过 CUDA MPS 共享两块 GPU:小模型使用 TP1,大模型使用 TP2。ME 将每个模型放在一块 GPU 上。

工作负载

低强度: AIME2024,约 100 token 输入,2,048 token 输出上限。

高强度: 精选的 AIME2024 题目,约 100 token 输入,8,192 token 输出上限。

Agent 场景: 多轮 SWE-Smith 轨迹,约 8,192 token 输入,1,024 token 输出上限。

基线与指标

官方代码: 该算法的已发布实现。不可用的条目显示为 N/A。

标准服务: 每个模型一个 SGLang 服务器,每次调用向外部调度器返回一个 token。吞吐量 = 生成的输出 token 总数 ÷ 经过时间。延迟 = 端到端请求完成时间。TokenRouter 基于 SGLang 0.5.1 构建。

扩展并发

更高吞吐量。响应式生成。

随着并发度增加,异步执行将更多在途请求转化为有效的模型工作。

生成速度 vs. 总吞吐量

R2R · 并发度 1–16

TokenRouter · R2R 官方实现

吞吐量与单用户生成速度

TokenRouter 和官方 R2R 实现在并发度 1 到 16 的对比。

并发请求数

8

每个点代表一个实测的并发设置;连线按顺序连接各设置。速度为单用户 token 生成速率。吞吐量为所有请求的聚合值。

18.58×

在可比的单用户速度下实现更高吞吐量。

TokenRouter 在并发度 16 时达到 630.57 tokens/s,单用户 39.41 tokens/s。官方 R2R 实现在并发度 1 时达到 33.94 tokens/s,单用户 34.87 tokens/s。此对比使用了不同的并发水平。

收益从何而来

运行时在每个环节都很关键。

CUDA Graph 支持、异步执行和延迟批处理层层递进。

累积系统优化

R2R · 并发度 8 · 输出 tokens/s

每一行包含前述的优化。官方 R2R 实现达到 134.90 tokens/s;完整的引擎达到 372.48 tokens/s(2.76×)。这些是顺序消融实验,不是独立的叠加效果。

扩展 CUDA Graph。

捕获被路由请求恢复时遇到的更大范围的扩展长度。

保持路由本地化。

将路由器与模型一起运行,避免每个 token 都产生独立的 IPC 往返。

保留服务状态。

保留待处理的请求,并在同机部署的模型之间协调 KV 预算。

不同的大小模型配对

在跨节点、相同模型资源下

Qwen3-0.6B 使用一块 GPU,Qwen3-32B 使用两块 GPU(TP2),无 GPU 重叠。模型部署在一到两个节点上,通过 3.7 GB/s RoCE 连接。以下测量使用低强度推理。算法在其原始模型和任务设置下运行。

团队

认识研究者们。

*共同贡献

†通讯作者

引用

引用我们的工作。

@article{fu2026tokenrouter,
  title={TokenRouter: Efficient Serving System for Token-Level LLM Routing},
  author={Tianyu Fu and Tengxuan Liu and Ruoxi Wang and Yixin Dong and Yi Ge and Yichen You and Yu Wang},
  journal={arXiv preprint arXiv:2610.12242},
  year={2026},
}

Tianyu Fu (@fuvty123): 🔥 TokenRouter 来了!高效的 token 级 LLM 路由,现已可用于服务部署。

🚀 吞吐量较服务基线提升 2.01–64.15 倍 ✍️ 仅需三个函数:send、receive、route

带上你的路由算法,服务层我们来搞定。

相似文章

@GitHub_Daily: 最近一个名为 9router 的开源工具火了,给所有 AI 编程工具加了一个智能调度中心。 像平时用 Claude Code 写代码,API 额度消耗极快,遇到大段报错日志更是瞬间把 Token 烧光。 而 9router 则内置了智能压…

X AI KOLs Timeline

9router 是一个开源的 AI 编程工具智能路由中心,内置压缩算法节省 Token,支持三级降级自动切换模型,原生兼容 Claude Code、Cursor 等主流工具,可路由到数十家模型服务商,有效降低 API 调用成本。

@MaxForAI: 卧槽,这个项目可以让你的4060跑大模型???? 来自 UC Berkeley、 MIT、UT Austin 的研究者,刚刚开源了 FreeToken:专门解决超大 MoE 模型在个人电脑上的推理框架。 根据官方的论文,目前已经跑出了几组…

X AI KOLs Timeline

FreeToken是一个开源推理框架,由UC Berkeley、MIT和UT Austin的研究者开发,专门用于在个人电脑上运行超大MoE模型,通过动态分配GPU、CPU和内存资源实现高效推理。

@servasyy_ai: https://x.com/servasyy_ai/status/2106563331976991217

X AI KOLs Timeline

这篇长文实测用两张二手 V100 32G 跑 Qwen3.8-27B,通过重写推理引擎 NInfer 的内核、加入双卡支持和推测解码,让 20 万 token 代码任务的生成速度从 36 tok/s 提升到约 100 tok/s,跑赢了单张 4090 48G 的 80.9 tok/s,同时分析了显存带宽、量化与 NVLink 对推理性能的影响。