SGLang HiCache 三层 KV 缓存实测:4090 48G 单卡跑通 Qwen3.8-27B 去审(256K + MTP + 视觉全占)
看到坛里 32G Blackwell 用三层 KV 缓存跑 Qwen3.8-27B 的帖子,分享下我这边 4090 48G 的实测。48G 的余量正好把 MTP 投机 + HiCache 多会话复用 + 满 256K 上下文 + 去审 四样同时占全,不用二选一。已稳定跑生产十来天。
用途 / 工作流
这台 4090 上的去审大模型是整条视频生产线的大脑:
- 输入:黄易武侠小说《寻秦记》原文
- 4090(本机):去审 Qwen3.8-27B 作为 agent,读小说→按叙述句细拆分镜→生成每段画面的提示词与音画同步脚本
- 4080 32G:跑 ComfyUI 的 MiniMax H3 去审工作流,按 4090 给的分镜逐段出视频
- 简言之:4090 指挥、4080 出片,全流程去审、长上下文(整部小说 + 分镜历史)常驻
正因为反复处理同一部小说的长上下文(大量共享前缀),HiCache 的前缀复用命中率才高得离谱(见下)。
硬件 & 模型
HiCache 三层 KV 缓存
| 层 |
内容 |
容量 |
| L1 GPU(热) |
fp8 KV,显存 |
270,278 token(~8.6G) |
| L2 主机内存(温) |
--hicache-size 24 |
504,447 token(24G) |
| L3 NVMe(冷) |
未启用(纯内存,足够用) |
— |
- 上下文窗口:256K(
--context-length 262144),KV 池 270K 保满 262K 有余
- 写策略:
write_through;io-backend kernel + mem-layout page_first
性能实测
- 吞吐:thinking-off ~63–76 tok/s(峰 76);thinking-on ~35–47 tok/s
- MTP 投机:链式 NEXTN 工作正常,accept len 3.8–4.2(no_think)
- 前缀缓存命中率:~88.5%(累计 prompt 3000 万+ token,命中占八九成)
- L2 内存池:503,430 / 504,447 ≈ 99.8% 满(小说前缀被反复复用,LRU 淘汰)
- 前缀复用提速:命中时首 token 冷 2.6s → 暖 0.67s(快 ~75%),17 万 token 长前缀单次直接命中免重算
稳定性 / 运行时长
- 当前配置(去审 FP8 + hicache 24G):连续 ~20 小时零崩溃,已服务 3000 万+ token
- 去审 Qwen3.8 生产线:~11 天,端点对各 agent 一直在线
- 主机连续开机:2 周 4 天
启动参数
python -m sglang.launch_server \
--model-path /data/qwen3.8-27b-heretic-fp8 --served-model-name 4090 --host 0.0.0.0 --port 8001 \
--context-length 262144 --max-running-requests 1 --mem-fraction-static 0.98 \
--kv-cache-dtype fp8_e4m3 \
--speculative-algorithm NEXTN --speculative-eagle-topk 1 --speculative-num-steps 5 --speculative-num-draft-tokens 6 \
--enable-hierarchical-cache --hicache-size 24 --hicache-write-policy write_through \
--reasoning-parser qwen3 --tool-call-parser qwen3_coder --trust-remote-code --sleep-on-idle
几个踩坑 / 权衡
- HiCache 的真正价值是「多会话 KV 复用免 prefill」,不是跑更大上下文——我这种「反复喂同一部小说」的场景命中率 88.5%,省掉八九成重复 prefill,指挥出片的节奏快很多。
- FP8 权重大(30G)→ 树形投机与满 256K 不可兼得:所以用链式 NEXTN(
topk1/steps5/draft6),保满 262K;想上树形投机就得牺牲上下文。
--page-size 必须为 1:page-size 64 与混合 mamba 模型 + hicache 不兼容,会 Segmentation fault 崩溃,别踩。
- 内存成本:hicache 24G 常驻内存,多卡各开一份会把内存吃紧(我这边 4090 指挥 + 4080 出片同时跑,62G 内存 + swap 就满了),按机器内存量力而行。
小结
一台 4090 48G 当「导演」(去审长上下文 agent 读小说、拆分镜),一台 4080 32G 当「摄制组」(ComfyUI MiniMax H3 去审工作流出片)。4090 相比 32G 卡的最大不同:不用在速度(MTP)和会话持久(HiCache)之间二选一,还能同时保满 256K + 去审。三层 KV 缓存实测命中 ~88.5%,稳定跑生产已 ~11 天。同样搞长篇小说转视频的欢迎交流。