Strix Halo 模型量化与 ROCm/Vulkan 后端性能效率测试
摘要
本文作者对 Strix Halo 模型进行了量化测试,发现自定义 imatrix Q4_K_S 版本在困惑度和模型体积上优于标准 Q4_K_M。在 ROCm 和 Vulkan 后端测试中,ROCm 在速度和能耗方面均显著优于 Vulkan,尤其是在处理长上下文时。作者计划未来主要使用 ROCm 作为 Strix Halo 的后端。
正文
本文作者对 Strix Halo 模型进行了量化测试,最终选择了自定义 imatrix Q4_K_S 量化版本,并使用 wikitext-103-raw-v1 数据集进行构建。该量化模型相比不带 imatrix 的 Q4_K_M 版本,困惑度(PPL)略有提升,同时模型体积减小了几 GB。测试在 llama.cpp build 7966 (8872ad212) 版本下,启用了 ROCm/Vulkan 后端及 Step-3.5-Flash 支持。目前该模型在工具调用方面存在一些问题,但作者认为这与量化本身无关。
量化对比结果如下:
| 量化方式 | 体积 (GiB) | 体积 (GB) | PPL (困惑度) | |--------------------|----------|---------|------------| | Q4_K_S (imatrix) 此版本 | 104 GiB | 111 GB | 2.4130 | | Q4_K_M (标准) | 111 GiB | 119 GB | 2.4177 |
在性能效率方面,ROCm 后端表现更优:
- ROCm 速度是 Vulkan 的 4.7 倍,能耗降低 65%。
- 提示词处理: ROCm 在提示词处理速度上占据优势,短上下文可达 350 t/s 以上,且长上下文吞吐量更高。
- Token 生成: Vulkan 在小上下文时生成速度略快,但能耗显著增加。在 CTX >= 8k 时效率不高。
- 上下文扩展: 模型在 131k 上下文下仍可用,但 Vulkan 后端的能耗呈指数级增长,而 ROCm 则呈线性增长。
ROCm/Vulkan 的对比结果与作者之前对 Qwen3-Coder 的测试相似。作者表示未来将主要测试 ROCm,Vulkan 可能仅作为 Strix Halo 的备用方案。