作业: 7900 XTX 128g DDR4 跑 Q4_K_XL:Strata RDNA3 调优记录
-
参考这篇复测帖和部署帖,也在自己的 NAS 上折腾了两天。模型保留原来的 Qwen3.8-Flash-Next UD-Q4_K_XL。
下面是AI总结的速度, 我实际写专业模型代码的速度从60tps升到80多, prefill的体感速度也是快了很多。最终结果:32K prefill 提升约 20.4%;之后单独校准 decode,同为 12 workers 时提升约 3%–6%。 两轮基线不同,下面分开列。
配置
项目 本机配置 CPU / RAM Ryzen 9 5900XT,16 核 32 线程 / 128GB GPU RX 7900 XTX 24GB,PCIe 4.0 ×16 系统 TrueNAS 25.10.7 驱动 / ROCm AMDGPU 7.1.9.31600000 / ROCm 10.1 系统 SDK,非 TheRock 轮子 推理框架 nicejunjie/Strata-rdna3,PR #1,commit 309f0c8,engine 0.1.43模型 / KV UD-Q4_K_XL / int8,最大上下文 262144 简要优化过程
1. 先照配置跑,再处理本机差异
最初照搬参数,没有复现帖子中的 decode。我的 CPU、量化和测试内容都不同,不能直接拿 IQ3_S 的 100+ tok/s 当目标。
PLE 最后保留
ram,加载日志确认表已锁在 RAM;direct在这台机器上出现过很慢的随机读取。这个选择主要解决本机加载体验,没有单独做可归因的速度百分比对照。2. 针对 Q4 测 prefill 开关
逐项及组合测试后,保留:
STRATA_PF_FUSED_KQ=1 STRATA_PREFILL_RING=384 STRATA_FUSE_CONVAB=1这一轮全部固定 15 workers,比较的是同一 RDNA3 fork 内的参数变化:
指标 调整前 三项开启后 变化 8K prefill,tok/s 2432.4 2631.5 +8.2% 32K prefill,tok/s 3169.4 3815.1 +20.4% 32K 首字耗时,秒 10.39 8.64 −16.8% 32K 完整请求耗时,秒 19.82 17.94 −9.5% 32K 的读取收益在 KQ 融合单项测试中就能重复看到;ring 和 CONVAB 单独开启没有明确收益。三项组合在本轮混合负载中总耗时最低,因此保留,但不把全部提升归功于每个开关,也不将这一轮约 1%–2% 的 decode 波动当成稳定收益。
hipBLASLt 调优表也做了开关对照:这些负载走 WMMA/自定义路径,日志中 hipBLASLt 调用为 0,关表没有改善,因此保留原有 43 行表,没有为了凑参数额外重做。
3. 跑内置 calibrate,再用长输入复测
内置校准约 16 分钟,扫描 PCIe 分工、MTP 阈值、worker 数和专家更新参数。之后把日常 worker 固定为 12 (10-14差别都很小),并补做了 两组都为 12 workers 的对照;上面的三个 prefill 设置在这两组中均保留。
场景 校准前 decode,tok/s 校准后 decode,tok/s 变化 8K 合成代码 55.8 57.5 +3.0% 缓存对话续问 59.4 61.3 +3.2% 32K 合成检索 54.4 57.4 +5.5% 128K 合成检索 57.8 61.4 +6.2% 这一轮 prefill 基本不变,完整请求耗时缩短约 1.2%–2.7%。decode 的百分比不能直接当成整笔任务的提速。12 workers 是最终日常选择,不代表已经证明它是所有负载的最优值。
最终保留的关键参数
以下是关键项,模型路径及其余已有配置省略:
--pool-workers 12 --pool-tasks 96 --pcie-frac 0.20 --spec 4 --spec-min-p 0.70 --adapt-every 1 --adapt-swaps 160 --adapt-decay 0.97 --prefill auto --ple-io ram --max-context 262144 --kv int8 --kv-resident 32768 --vram-reserve-mib 512另外限制 ROCm 队列:主进程
GPU_MAX_HW_QUEUES=6,视觉辅助进程覆盖为2。模型驻留后的短时观察为 GPU 0% busy、约 14–18W,没有再出现此前待机约 110W 的现象;这是显卡功耗,不是整机功耗。测试口径与体会
每组先预热,候选每个场景测 3 次取中位数;第一轮基线另复测一次,合并 6 次取中位数。输入为固定的合成代码/检索文本,输出 512 tokens;temperature 0、top-k 1、top-p 1、min-p 0、seed 42,关闭 thinking。新输入确认无提示词缓存复用,续问允许缓存;冷启动时间不计入上述速度。输入输出长度、检索码和固定代码答案检查均通过,但不等于完整的质量评测,也不是实际 DSH 长任务计时。
-
-
-
-
-
-
-
-
-
-
-
-
@terry 我想做一个给数据就自动跑数学模型, 出报告的agent, 一个任务时间比较长, 上下文要多次压缩。 之前用IQ3, 速度倒是快, 但偶尔不稳定, 会陷入死循环的自言自语, 也不是每次都发生, Q4好很多
版主审定:本帖设为优秀,作者 +3 积分奖励,继续加油!