模型权重刚好塞进显卡,不代表它还能读完一本超长“对话本”。问题在于,模型边读边记的 KV cache——用于保存先前文本计算结果、避免反复重算的缓存——会随上下文增长。开发者 bottlestreet3d 称,Qwen3.8-27B 的 IQ4_XS 版本约占 14.3GB;即使压缩词表,并用较低精度保存 KV cache,262K 上下文仍需约 7.4GiB 缓存,llama.cpp 会在约 65K token 后显存溢出。
他的解法像把整套档案放在仓库,只把眼下要看的几箱送到桌面:完整 KV cache 留在主机内存,再通过 PCIe 异步送入显卡中的有限工作区。预填充阶段约占 450MiB,逐字生成阶段约占 2,100MiB;数据传输与计算同时进行,尽量掩盖搬运成本。这套原本面向 NVIDIA/CUDA 的 Adaptive KV Streaming 被移植到 AMD 的 ROCm/HIP,并加入针对 RDNA 4 的计算优化。
按作者自述,单张 16GB RX 9070 XT 因此可让该 27B 模型跑满 262,144-token 上下文,生成速度保持在 80 token/s 以上。它展示了一条实用路线:显存装得下模型、却装不下长对话缓存时,不必把缓存全部留在显卡。不过,262K 只是可容纳的长度,不等于模型一定能准确利用其中每段信息;材料也未提供独立复测或长文本质量结果。