Strix Halo 用户:一个被拒绝的 PR 可使 MOE 的 PP 速度提升高达 30%。
摘要
一个针对 llama.cpp 的被拒绝的 PR 可在 AMD Strix Halo 硬件上为 MOE 模型提供高达 30% 的提示处理速度提升,但增益会随上下文长度增加而递减。
这是 pedapudi 提交的 PR。https://github.com/ggml-org/llama.cpp/pull/21344 该合并请求已被拒绝,因此不会进入 llama.cpp 主分支。改动非常小,我直接将其应用到当前版本的 llama.cpp 中。更多信息请查阅该 PR。它仅适用于 MOE 模型。此外,在低上下文长度时提升最大,随着上下文增加,增益递减。Pedapudi 在 PR 中解释了原因。以下是一些数据。效果确实很好。将代码应用到当前 llama.cpp 版本所花费的那点时间非常值得。
main ggml_cuda_init: found 1 ROCm devices (Total VRAM: 128000 MiB): Device 0: AMD Radeon Graphics, gfx1151 (0x1151), VMM: no, Wave Size: 32, VRAM: 128000 MiB
| model | size | params | backend | ngl | mmap | test | t/s |
| ------------------------------ | ---------: | ---------: | ---------- | --: | ---: | --------------: | -------------------: |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 | 1106.11 ± 8.60 |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 @ d10000 | 755.79 ± 2.58 |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 @ d20000 | 587.61 ± 1.52 |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 @ d40000 | 415.09 ± 2.45 |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 @ d60000 | 316.89 ± 2.35 |
PR ggml_cuda_init: found 1 ROCm devices (Total VRAM: 128000 MiB): Device 0: AMD Radeon Graphics, gfx1151 (0x1151), VMM: no, Wave Size: 32, VRAM: 128000 MiB
| model | size | params | backend | ngl | mmap | test | t/s |
| ------------------------------ | ---------: | ---------: | ---------- | --: | ---: | --------------: | -------------------: |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 | 1447.62 ± 7.10 | **+31%** |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 @ d10000 | 905.60 ± 3.53 | **+20%** |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 @ d20000 | 685.23 ± 3.03 | **+16%** |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 @ d40000 | 459.42 ± 2.70 | **+11%** |
| qwen35moe 35B.A3B Q4_K - Small | 19.45 GiB | 34.66 B | ROCm | 99 | 0 | pp512 @ d60000 | 342.41 ± 2.43 | **+8%** |
相似文章
针对Strix Halo - 官方llama.cpp并非理想选择及如何实现最高吞吐量
本文讨论了在Strix Halo硬件上优化性能的官方llama.cpp替代方案,其中特定分支在AI推理任务中实现了显著更高的吞吐量。
Strix Halo上的llama.cpp多令牌预测(MTP)基准测试:27B模型大幅提速,35B模型表现不一
在Strix Halo上对llama.cpp中的多令牌预测(MTP)进行的基准测试显示,长上下文聊天场景下27B Qwen模型显著加速,而35B模型则表现不一。
@no_stp_on_snek: 过去几天一直在借来的 Strix Halo(Ryzen AI… 上帮 @Italianclownz 加速他的 llama.cpp 分支 ROCmFPX
开发者帮助优化了 llama.cpp 的分支 ROCmFPX 在 AMD Strix Halo(Ryzen AI Max+ 395)上的运行速度,通过合并 16 个 PR,大幅提升了预填充和解码速度,并提高了量化精度。
AMD 用户:您试过 llama.cpp 的 AMD-Ecosystem 分支吗?最高 2 倍提示处理速度
本文讨论了 llama.cpp 的一个 AMD 特定分支,该分支显著提升了 AMD 用户的提示处理速度,使用 ROCm/Hip 时,在密集模型上性能最高提升 2 倍,尽管在其他指标上有些权衡。
提示:使用这个llama.cpp的PR提升Intel ARC上的提示处理速度
一个llama.cpp的PR显著提升了Intel ARC GPU上的提示处理速度,基准测试显示在B580上从245t/s提升到462t/s。目前该改进仅适用于F16 KV量化,计划后续支持其他量化方式。