7900 XTX + 128GB:Strata RDNA3 三档模型精度测试
-
128G ram, 最高跑到UD-Q5_K_XL, 最低测了IQ4_XS-v31 + N-gramQ8. 发出来方便大家参考
硬件 / 软件环境
项目 环境 CPU AMD Ryzen 9 5900XT,16核32线程,AVX2 GPU AMD Radeon RX 7900 XTX,24GB,gfx1100 内存 128GB;系统可用约125.7GiB 模型存储 XG7000 1TB NVMe,ZFS 系统 TrueNAS 25.10.7,Linux 6.12.105-production+truenas AMDGPU 7.1.9.31600000 ROCm 10.1.0,系统路径 /opt/rocm hipBLASLt 100401,匹配 gfx1100 调优表(43行) 推理后端 Strata RDNA3 fork,具体引擎版本见下表 GPU 队列 引擎 GPU_MAX_HW_QUEUES=6;视觉助手限制为2 ZFS ARC 自动管理,zfs_arc_max=0 文件体积与速度总表
PP = prefill,TG = decode,速度单位均为tokens/s;每格按 PP / TG 排列。GB按10⁹字节,括号GiB按2³⁰字节。
配置 引擎版本 原GGUF分片合计 GB(GiB) 实际N-gram / PLE GGUF+所用外置表 GB 约8K输入 PP / TG 长输入 PP / TG IQ4_XS-v31 0.1.49.1 93.67(87.24) 外置Q8_0,54.40GB;mmap;1MiB块 148.07 802.3 / 65.5 32K:1126.8 / 62.7;128K:1489.9 / 60.0 UD-Q4_K_XL 0.1.43 111.33(103.69) 内置IQ4_NL,28.80GB;ram 111.33 2082.7 / 57.4 64,358 tokens:3670.2 / 58.3 UD-Q5_K_XL 0.1.49.1 158.29(147.42) 外置Q8_0,54.40GB;direct;16KiB块 212.69 1600.5 / 46.0 32K:2368.5 / 50.9;128K:3432.4 / 47.4 体积口径: 原GGUF分片合计包含包内N-gram。IQ4_XS和Q5_K_XL另外使用独立Q8表,所以额外计入54.40GB;Q4_K_XL直接使用包内28.80GB的IQ4_NL表,不再重复加一次。合计不含native pack、MTP、视觉投影及备用文件,不等于RAM占用。
测速口径: IQ4_XS与Q5_K_XL取对应最终配置的固定新输入记录,temperature=0、top_k=1、top_p=1、seed=42,各输出384 tokens,禁止prompt复用。Q4_K_XL取最终版本的完整无缓存日常日志:约8K一栏为11条记录的中位数,输入7,961~8,072、输出158~506 tokens;64,358一栏为单次150-token输出。Q4日常请求的实际采样未统一。不同输入语料、输出长度、PLE方式和引擎版本的结果只作整套配置参考,不作为严格同条件量化排名。
三套共用参数
以下是启动参数片段,公共段与对应方案段合并使用。模型、pack、MTP和profile路径按各自安装目录填写;数值取实际最终配置。
--pack "$PACK_DIR" \ --native "$MODEL_GGUF" \ --expert-profile "$EXPERT_PROFILE" \ --mtp "$MTP_DIR" \ --expert-cache auto \ --max-context 153600 \ --spec 5 \ --spec-min-p 0.70 \ --mtp-window 4096 \ --mtp-q4 all \ --pcie-frac 0.20 \ --kv int8 \ --kv-resident 32768 \ --pool-tasks 96 \ --ple-row-cache 1048576 \ --prompt-cache 12 \ --prompt-cache-tail \ --adapt-every 1 \ --adapt-decay 0.97 \ --conversation-cache-min-tokens 2000 \ --conversation-cache-min-free-mib 2048 \ --stats \ --vision公共MTP数据目录为rt格式。三套默认采样均为temperature=0.5、top_p=0.95、top_k=40;客户端显式参数可以覆盖默认值。
1. IQ4_XS-v31
- 引擎:RDNA3 0.1.49.1。
- 主模型:UD-IQ4_XS-v31,4个GGUF分片。
- PLE:独立Q8_0表,mmap读取;实际文件为1MiB ZFS数据块。
- 专家arena约56.24GiB,不含N-gram缓存、KV和系统开销。
--pool-workers 12 \ --prefill 32768 \ --vram-reserve-mib 768 \ --ple-io mmap \ --ple-gguf "$Q8_ENGRAM" \ --adapt-swaps 80 \ --conversation-cache-mib 4096 \ --conversation-cache-slots 4 \ --mtp-draft-vocab "$ZH60K_DRAFT_VOCAB"对应方案环境变量:
export STRATA_PREFILL_CPU_SHARE=0.6 export STRATA_PREFILL_CPU_SHARE_MAX=7936 export STRATA_ADAPT_OVERLAP=1 export STRATA_TOPK_SPLIT_MIN=98304 export STRATA_QSA_ROWS=1 export STRATA_ENGINE_NICE=02. UD-Q4_K_XL
- 引擎:RDNA3 0.1.43。
- 主模型:UD-Q4_K_XL,4个GGUF分片。
- PLE:直接使用包内的IQ4_NL表,ram模式锁入内存。
- 专家arena约71.73GiB;加上约26.82GiB的PLE表及其他开销,128GB内存接近满载。
- Prefill为auto,最终上限32768;未额外指定mtp-draft-vocab。
--pool-workers 12 \ --prefill auto \ --vram-reserve-mib 512 \ --ple-io ram \ --adapt-swaps 160 \ --conversation-cache-mib 2048 \ --conversation-cache-slots 2对应方案环境变量:
export STRATA_PREFILL_AUTO_MAX=32768 export STRATA_PREFILL_CPU_SHARE=auto export STRATA_PREFILL_CPU_SHARE_MAX=6144 export STRATA_PREFILL_MMQ_TILE_ROWS=32 export STRATA_PF_SWITCH_MIN_T=4096 export STRATA_WMMA_GEMM=13. UD-Q5_K_XL(当前在用)
- 引擎:RDNA3 0.1.49.1。
- 主模型:UD-Q5_K_XL,6个GGUF分片。
- PLE:独立Q8_0表,direct读取;使用16KiB ZFS数据块的文件副本。
- 专家arena约91.61GiB。N-gram表放在NVMe按需读取,不将整张54.40GB表锁入RAM。
- 所用Q8表与原表字节相同,SHA256校验通过;主模型专家仍完整放在RAM。
--pool-workers 10 \ --prefill 32768 \ --vram-reserve-mib 832 \ --ple-io direct \ --ple-gguf "$Q8_ENGRAM_16K" \ --adapt-swaps 160 \ --conversation-cache-mib 4096 \ --conversation-cache-slots 4 \ --mtp-draft-vocab "$ZH60K_DRAFT_VOCAB"对应方案环境变量:
export STRATA_PREFILL_CPU_SHARE=0.6 export STRATA_PREFILL_CPU_SHARE_MAX=7936 export STRATA_ADAPT_OVERLAP=1 export STRATA_TOPK_SPLIT_MIN=98304 export STRATA_QSA_ROWS=1 export STRATA_ENGINE_NICE=0当前Q5配置另通过了两轮150,000-token输入检索验证。GPU加载模型后的待机实测为0%占用、约23W。
共用环境变量
下面是三套配置中取值相同的环境变量;与各方案自己的环境段一起使用。HIPBLASLT_TABLE应指向与本机gfx1100、hipBLASLt 100401相匹配的调优表。
export HIP_PLATFORM=amd export ROCM_PATH=/opt/rocm export HIP_PATH=/opt/rocm export HSA_OVERRIDE_GFX_VERSION=11.0.0 export LD_LIBRARY_PATH=/opt/rocm/lib export GPU_MAX_HW_QUEUES=6 export STRATA_HIP_WMMA=1 export STRATA_SELECT_WMMA=1 export STRATA_HC_UPMIX=1 export STRATA_HEAD_MIX_MULTI=1 export STRATA_GR_RDNA=1 export STRATA_GR_RDNA_Q8=1 export STRATA_GR_RDNA_A8=1 export STRATA_GR_FUSED=1 export STRATA_GR_INJ_UP=1 export STRATA_GDN_CHUNKED=1 export STRATA_GDN_HEAD=1 export STRATA_GDN_CONVL2=1 export STRATA_GDN_NOY=1 export STRATA_GDN_PP=1 export STRATA_GDN_CHUNK_GDV=0 export STRATA_PF_FUSED=1 export STRATA_PF_GEMM=1 export STRATA_PF_F16=2 export STRATA_PF_HCDOWN=1 export STRATA_PF_PAD=1 export STRATA_PF_GROUP_RES=1 export STRATA_PREFILL_RING=384 export STRATA_QFUSE=1 export STRATA_PA_FAST=1 export STRATA_PA_KLDS=1 export STRATA_KV_HOST_DMA=1 export STRATA_COMBINE_CPU=1 export STRATA_WAIT_FUSE=1 export STRATA_ROUTE_PUBLISH=1 export STRATA_VERIFY_QDEDUP=1 export STRATA_RDNA_MMVQ_WAVE=3 export STRATA_RDNA_Q6K=1 export STRATA_STAGER_RING=64 export STRATA_PEER_TRANSPORT=host export STRATA_HIPBLASLT_TUNING="$HIPBLASLT_TABLE" export STRATA_PF_FUSED_KQ=1 export STRATA_FUSE_CONVAB=1 export STRATA_SH_STREAM=0ZFS的16KiB块需要对应文件实际以该块大小写入;改变dataset的recordsize不会自动改变旧文件的数据块。当前整个models dataset仍为1MiB,Q5所用独立Q8表副本为16KiB。
-
-
-
-
版主审定:本帖设为优秀,作者 +3 积分奖励,继续加油!