将分词从主机端移出以服务智能体式 LLM
Taking Tokenization off the Host for Agentic LLM Serving
精选理由
将分词迁移至GPU,显著降低长上下文请求延迟并提升服务容量。
AI 摘要
arXiv:2610.13325v1 公告类型:cross 摘要:智能体式工作负载会在多次调用之间重复发送几乎不变的长上下文。如今,前缀缓存可以跳过其中大部分预填充阶段,但每个请求仍必须先完成全部分词,之后才能查询缓存。分词这一长期以来被视为无关紧要的 CPU 阶段,如今却成为首 token 生成时间(TTFT)中占比最大的部分;而为整个 GPU 集群执行分词的前端,则限制了其能够供给的 GPU 数量。我们提出 GraphTok,这是一种 GPU 分词器,可将从预分词、字节对编码(BPE)合并到 token ID 组装的完整编码流程,作为一张可重放的 CUDA 图运行。GraphTok 在 GPT-2、Llama 3、Qwen 2.5、DeepSeek-V3 和 Gemma 3 上逐位复现参考 token ID;对于 GPU 无法占优的短输入,则将其交给 CPU 引擎处理;同时,它还可以接入未经修改的 vLLM 和 NVIDIA Dynamo。GraphTok 在包含数据传输的情况下,可在 1.7–3.2 毫秒内编码一百万个 GPT-2 token;在 Llama 3 上,其速度比最强的 CPU 分词器 gigatoken 快 4.7–6.0 倍。在 TokTier 自有的单请求基准测试中,其速度比 gigatoken 快 2.6–3.9 倍,最高比 TokTier 快 18.1 倍。在使用缓存前缀的 vLLM 中,它将平均 TTFT 降低了 2.1–2.4 倍。最大的提升体现在容量方面。在 2 秒 P99 目标下,配备 GraphTok 的单个 Dynamo 前端可持续处理 518 个请求/秒、每个请求包含 12.1 万个 token 的流量,相当于高峰时段 56 个 GPU 的负载;相比之下,使用 gigatoken 时为 296 个请求/秒,使用默认分词器时仅为 18.5 个请求/秒。在 12.1 万至一百万个 token 的范围内,其可承载负载是 gigatoken 的 1.75–2.5 倍;在 gigatoken 的尾延迟失控的情况下,P99 最多可降低 64 倍。