07-18-2025, 06:30 PM
我用的是 llama.cpp b5815 Ubuntu Vulkan 预编译包,之前粗略地测试过,比 CUDA 版慢一点,但还能用。最近想用 LLM 帮我读一点长代码,有时 32K 上下文不够用,所以就想测试一下 128K 上下文的模型。我用的是 unsloth 量化的 Qwen 3 8B 模型,unsloth 他们专门针对 128K 上下文做了量化,精度优于用 32K 上下文的模型开 128K 上下文。我用的是 Q3_K_XL 量化的版本,模型权重大小 4.3G.
开始的时候,没用 -fa 开 flash attention, 用 128K 上下文的时候,Vulkan 版 llama.cpp 分配显存失败了,开了 -fa 之后就能用了。
llama.cpp 默认使用 f16 作为 KV cache 类型,加载模型后显存占用 22.6G, 推理速度最快。
用 q8_0 作为 KV cache 类型之后,显存占用减少到了 14G, 推理速度稍有下降。
用 q4_0 KV cache, 显存占用 9.4G, 推理速度差不多。KV cache 量化到 q4_0, 生成的内容看起来还行。
我还测过 KV cache K, V 用不同类型,会出现推理速度明显下降的情况,不知道是不是 Vulkan 的实现有问题,CUDA 还没测试。
开始的时候,没用 -fa 开 flash attention, 用 128K 上下文的时候,Vulkan 版 llama.cpp 分配显存失败了,开了 -fa 之后就能用了。
llama.cpp 默认使用 f16 作为 KV cache 类型,加载模型后显存占用 22.6G, 推理速度最快。
用 q8_0 作为 KV cache 类型之后,显存占用减少到了 14G, 推理速度稍有下降。
用 q4_0 KV cache, 显存占用 9.4G, 推理速度差不多。KV cache 量化到 q4_0, 生成的内容看起来还行。
我还测过 KV cache K, V 用不同类型,会出现推理速度明显下降的情况,不知道是不是 Vulkan 的实现有问题,CUDA 还没测试。
