AI 推論系統
vToken 將 KV 快取虛擬化至 token 層級,受限記憶體下併發量最高翻倍
vToken 在既有 PagedAttention 上加入邏輯 token 表與非同步壓縮,讓逐 token 淘汰真正釋放實體區塊。vLLM 原型的 SLA 吞吐最高提高 1.37 倍,但尚未公開程式,也未證明搬移成本適用所有硬體與流量。

長上下文推論常以逐 token 策略淘汰不重要的 KV 項目,但 vLLM 的 PagedAttention 以固定大小區塊配置記憶體;只要區塊仍留有一個有效 token,整塊就不能回收。[vToken 論文](https://arxiv.org/abs/2608.13263)量測 Llama 3.1 8B、16K context 時,H2O 等策略可令區塊內部浪費達 40%至60%,顯示「邏輯上刪除」不等於 GPU 容量真正可重用。
vToken 在淘汰策略與區塊管理器之間加入 token 級虛擬層。每個請求持有 logical token ID、實體 block/offset 與存活位元;策略只標記 token 失效,回收器則在碎片量跨過門檻後,把仍存活的 KV 非同步搬入較密集的目的區塊。搬移安排在 forward 之後,並以 CUDA event 保證下一次 attention 讀到新位置,因此不必改寫 attention kernel,也可保留 CUDA Graph。
作者在 vLLM 0.18.0、PyTorch 2.10 上測試 H2O、Random 與 Scissorhands。相較只等待整塊清空的 Naive-Evict,vToken 每請求保留的 KV 區塊減少 27.2%至72.3%,SLA 約束吞吐最高增至 1.37 倍;固定 active-KV 預算下,最大可行併發量最高為兩倍。新淘汰策略的整合修改量亦由逾 500 行降至不足 50 行。[vLLM 主線程式](https://github.com/vllm-project/vllm/blob/main/vllm/v1/worker/block_table.py)目前仍以 block table 與 token-to-slot mapping 為核心,反映 vToken 瞄準的確是實際 runtime 邊界。
工程上接下來要看程式是否公開、能否合入上游,以及在多租戶、prefix caching、不同 block size、FP8 KV 與 prefill/decode 分離部署下是否仍有淨收益。論文數字來自作者原型;壓縮需要暫存目的區塊,記憶體已完全耗盡時反而無法啟動,且淘汰 token 本身仍可能損害模型品質。