跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(LCZ-Blue)
  • 不使用皮肤
  • LCZ-Green
  • LCZ-Blue
  • LCZ-Black
折叠
品牌标识

抡锤者

首页 版块 标签
硬件
装备秀
AI 广场 App
fcmeF

fcme

@fcme
王侯将相
取消关注 关注
关于
帖子
279
主题
7
分享
0
群组
1
粉丝
6
关注
0

帖子

最新 最佳 有争议的

  • 【直播】二次开发R9700单卡用SGLang跑Qwen3.8-27B成功! TTFT0.9s/PP2000/TG100tps(代码)!体验丝滑
    fcmeF fcme
    LLM讨论区 r9700 sg-lang qwen-27b

    SGlang部署Qwen3.8 27B,180K ctx,PP2000/TG100(代码不再是90顶格),大功告成!喜大奔普!

    由来:看到有大佬在开发双9700高并发的方案,再加上版主数次案例sglang的缓存树优势,所以就结合paiton方案的思路决定自己上手,改造一个个人使用的单R9700的框架,我想大多数人没有买两张的钱,也没有可以插两张卡的电脑。

    以下是第二个checkpoint,2026-10-02,12.01 AEST

    环境:R9700 32G(gfx1201)/ ROCm 7.2.4 / SGLang v0.5.20 + 72 个编号补丁
    模型:Qwen3.8-27B 混合 GDN(AWQ 原始权重)

    R9700 单卡跑 SGLang:Qwen3.8-27B 从 AWQ 改造成 MXFP4 原生内核折腾实录

    由来:看到有大佬在开发双9700高并发的方案,再加上版主数次案例sglang的缓存树优势,所以就结合paiton方案的思路决定自己上手,改造一个个人使用的单R9700的框架,我想大多数人没有买两张的钱,也没有可以插两张卡的电脑。

    环境:R9700 32G(gfx1201)/ ROCm 7.2.4 / SGLang v0.5.20 + 72 个编号补丁
    模型:Qwen3.8-27B 混合 GDN(AWQ 原始权重)

    一、库与结论

    mattbucci 的 2×R9700 RDNA4 SGLang 仓库(SGLang v0.5.20 + 72 个 RDNA4 补丁),改成单卡;
    Qwen3.8-27B(AWQ INT4 checkpoint)+ DFlash2 投机;
    R9700 32G,单槽。

    结论:PP 1913 t/s、TG 91.3 t/s、上下文 229,376(KV 池 232,926 tokens)、视觉保留。
    相对最初能用的状态(PP 1379、上下文 90K),PP +39%、上下文 +154%;相对 MXFP4 上线前的自己,TG +21%。

    一句话:这条路买的是"用上 RDNA4 的 FP4 硬件"和"少读权重",不是省显存——MXFP4 权重其实略大于 AWQ(4.25 vs 4.125 bit/param)。


    二、最终启动参数

    cd /home/fcc && \
    MODEL=/data/models/qwen38-awq QUANT=awq MEMF=0.94 CTX=229376 MAMBA=3 CHUNK=2048 MAX_RUN=1 \
    LM_ARGS='--mamba-full-memory-ratio 0.12 --served-model-name Qwen3.8-27B-AWQ-R9700 --tool-call-parser qwen3_coder' \
    CG_ARGS=--cuda-graph-max-bs-decode=4 \
    SPEC_ARGS='--speculative-algorithm DFLASH --speculative-draft-model-path /data/models/qwen38-dflash2' \
    RADIANCE_MXFP4_WPERM=1 SGLANG_EMBED_FP8=1 \
    setsid nohup ./launch-qwen38-single.sh > /tmp/sgl.log 2>&1 < /dev/null &
    

    四个不能动的硬约束:

    • CHUNK=2048:带 DFlash2 时 prefill 的 GDN/FLA 工作区随 chunk 缩放,8192 会在 fla/chunk_o.py 的 chunk_fwd_o 处 OOM 直接崩服务(实测两次)。
    • MEMF ≤ 0.94:0.95 已实测在 15K prefill 上 OOM。
    • MAX_RUN=1:单槽。2 路 256K 在 32G 上物理不可达,第七节有账。
    • RADIANCE_MXFP4_WPERM=1:必须与"权重是否已转 fragment 序"一致,不一致 libr4d 把权重读成垃圾。

    三、折腾经过

    1)单卡跑通,但 decode 只有 5 tok/s

    剥离 TP 补丁、应用 72 个 RDNA4 补丁、跑通 AWQ INT4。PP 1304、TG 5.07 tok/s——Q4 模型不该这么慢。
    翻 profiler:awq_dequantize + 稠密 rocBLAS GEMM 占了 decode 的 94%。
    自写就地 fragment repack(零额外显存)+ 快拆包(逐位一致,2.6×)+ 快激活量化(9.4×) ⇒ 5.07 → 24.86。

    2)盯上 RDNA4 的 FP4 硬件

    RDNA4 的 FP4 WMMA 实际就是 MXFP4,而现成手写内核只有 MXFP4 的:
    从 Paiton 镜像里提取 radiance_mxfp4_fp8(fp8-WMMA "folded" 大 M 内核),另加 libr4d 的 r4d_gemm_mxfp4a8_nt_m64(小 M decode 内核)。
    调用约定用 2×2×2 扫参对着作者自己的 _exact_ref 定死:权重绝对不能 permute_w(转了偏 156%)。
    层级精度 0.14%,端到端比自写 Triton W4A8 快 1.45–1.85×。

    3)13 轮的"输出垃圾",根因是一行置换

    MXFP4 能上场了(KV 池从 156,175 涨到 163,587 为证),但输出是垃圾,而且每次完全一样。
    排查了 13 轮,逐项排除:重量化公式、内核调用、uint8 拆包、合并层整块 vs 分段、apply 签名、reshape、draft 路径、运行时权重输入(与 checkpoint 逐位相同)……全都无罪。

    最后是靠一个从没做过的对拍抓到的:把我们的反量化结果和 SGLang 自己的 awq_dequantize_triton 逐元素比——

    反量化约定: awq_dequantize_triton vs 我们的公式 -> 相对差 108.83%
    

    不是精度问题,是完全错位。逆解出真实映射:AWQ 把 8 个输出列打进一个 int32 用的顺序是 [0,2,4,6,1,3,5,7],而我们是顺序读的 ⇒ 整个权重矩阵被按 8 列一组打乱。
    修一个置换向量:108.83% → 0.0103%(只剩 fp16 舍入)。金丝雀立刻回来。

    教训:转换/建缓存这一步,必须跟框架自己的实现对拍,不能跟自己写的参考实现对拍。
    之前所有"0.14% 对拍"都是把同一份错权重同时喂给内核和参考实现——两边必然一致,天然看不见转换错误。这是循环验证。

    4)路径 A:同一时刻只允许一套权重

    框架本身只加载一种格式(磁盘上的 AWQ)。"两份权重"是早先的补丁自己造的:算完 MXFP4 却不释放 AWQ,
    于是 24.8G 同时驻留 ⇒ 这才是 OOM 和"一释放就出错"死循环的来源。

    改成:加载期从本层自己的 AWQ 张量算出 MXFP4 → 立刻把 qweight/qzeros/scales 置 None → forward 只有一条路(不回退,因为回退要的东西已经没了);
    并且不再调用原生 AWQ 的 process_weights_after_loading(它会额外产出 libr4d 的 fragment 重排和主机副本,那才是货真价实的第二份)。

    显存占用是"AWQ 未转换的余量 + MXFP4 已转换的量"的单调过渡,峰值 ≈ max(12.2G, 12.6G) + 单层 fp32 临时,不是 12.2+12.6。

    5)decode 慢 4.7 倍,因为用错了内核波段

    作者自己的封装写得很清楚:fp8-WMMA 内核只在 M≥256(prefill)才占优,decode 档要用 libr4d。
    我们一直拿 prefill 内核跑 decode。按 M≤64 / M>64 分档后(共用 fragment 序权重,纯字节置换、不动数值):

    M libr4d m64 folded 倍数
    1 0.069 ms 0.283 ms 4.12
    8 0.060 ms 0.285 ms 4.72
    64 0.125 ms 0.273 ms 2.18
    2048 — 2.039 ms —

    顺带把激活量化从 torch 版换成单遍 Triton:PP 1595→1905、TG 68.9→75.5,这一项就有这么大。

    6)上下文从 155K 顶到 229K:两处"减少权重占用"

    MEMF 钉死 0.94 不动,纯靠省权重换 KV:

    • embedding 存 fp8(−1.27 GB):per-row scale = max|x|/448 必须先缩放再转——embedding 权重在 0.02 量级,直接 cast 会大量掉进 e4m3 的次正规区。缩放后重建误差 2.25%。
    • lm_head 存 MXFP4(−1.87 GB,2.543 → 0.675 GB):查代码发现 AWQConfig.get_quant_method 对非 LinearBase 一律返回 None,lm_head 一直以 fp16 全量加载;而它是 memory-bound 的 M=1 GEMM ⇒ 每个 decode 步都要读 2.54 GB 权重。转成 MXFP4 后走已验证的双波段内核(M=1 命中 libr4d),TG 顺带从 75.5 涨到 91.3。

    两处都写成新分片 + 只改 index 指向,旧分片一个字没动 ⇒ 回滚就是换个 index 备份。


    四、性能对照

    指标 改造前基准 现在 变化
    PP 1379 t/s(1304–1453 均值) 1913 t/s +38.7%
    TG code-256 75.5 t/s(同脚本实测) 91.3 t/s +21%
    上下文 155,648(早期 90,112) 229,376 +47%
    KV 池 156,175 tokens 232,926 tokens +49%
    主模型显存 18.76 GB 17.06 GB −1.70 GB
    启动加载 65 s 27.5 s 更快

    profiler 硬证据(改造后):

    prefill:  radiance_mxfp4_fp8_gemm_folded      768 次  188.8 ms  26.7%
              _w4a8_gemm_kernel(旧 Triton)        0 次    0.0 ms   ← 消失
              _unpack_fragment_kernel_v2            0 次    0.0 ms   ← 消失
    decode:   r4d_gemm_mxfp4a8_nt_m64_kernel    3840 次  413.8 ms  59.4%
              _quant_act_fp8_kernel               3840 次   27.6 ms   4.0%
    

    五、质量复核

    重量化有约 10% 的固有误差(AWQ 每 128 一组 fp16 scale → MXFP4 每 32 一块 E8M0),所以质量必须量,不能只看 tok/s。

    教师强制 NLL(4307 token:英文解题文 + 中文技术文 + 代码)

    nats/token 困惑度
    AWQ(改造前) 1.3856 4.00
    MXFP4(现在) 1.4042 4.07
    差 +1.34% +1.8%

    GSM8K-300(同 300 题、同 seed、思考关、贪心)

    正确 准确率
    AWQ(改造前) 292/300 97.33%
    MXFP4(现在) 290/300 96.67%

    逐题分歧:两套都做对 288,只有 MXFP4 对 2 题,只有 AWQ 对 4 题,两套都错 6 题。
    差值 −0.67pp、差值标准误 1.39pp ⇒ 0.48σ,纯噪声。

    为什么 10% 的权重误差只换来 1.3% 的分布损失?
    ① 它是零均值取整噪声,不是系统性破坏——对照那个列交织读错的例子:108% 的系统性错位直接让模型全废,10% 的无偏噪声只掉 1.3%。决定生死的是误差有没有偏向、有没有和决策方向对齐,不是它多大。
    ② 误差在 K 维上独立,不沿 64 层相干叠加。
    ③ 残差流和 RMSNorm 有阻尼。
    ④ 最终是 argmax,只在 top-1/top-2 间距被吃掉时才改答案——GSM8K 的 2% 翻转率就是这个的可见面。
    ⑤ 10% 本身有明确来源:E2M1 只有 3 位尾数(约 6% 相对精度),而块缩放是 E8M0(2 的整数次幂、只能向上取整),最坏比理想缩放粗一倍 ⇒ 6% → ~10%。

    诚实的边界:"质量没区别"准确说法是"差异 < 2.8pp"(GSM8K-300 的 2σ 分辨率),不是零差异。灵敏指标 NLL 明确告诉我们 +1.3% 是真的。


    六、稳定性

     4K 1821t/s   8K 1827   16K 1647   32K 1313   64K 901   128K 535
    160K  432t/s  192K 366   220K(226,014 token) 323t/s
    

    全部正常出 token,服务全程未崩。220K 那一档基本贴着 229,376 的上限跑。


    七、账算清楚:2 路 256K 在单卡 32G 上做不到

    主模型(MXFP4 线性 12.6 + embed fp8 1.27 + lm_head MXFP4 0.68 + 视觉 0.9 + 其他) = 17.06 GB
    DFlash2 draft (fp8)                                                              =  0.48 GB
    目标 KV 池 232,926 tok(32 KB/token)                                            =  7.10 GB
    draft KV 池 同 token 数(约 10 KB/token)                                        =  2.22 GB
    CUDA graphs                                                                      =  0.33 GB
    

    每 token KV 成本 ≈ 42 KB(目标 32 + 草稿 10)。于是:

    场景 KV 需要 能不能
    1×256K 带 DFlash2 11.0 GB 差值紧张
    2×256K 带 DFlash2 22.0 GB ✗ 差约 13 GB
    2×256K 无投机 16.8 GB ✗ 差约 6 GB

    活跃请求的 KV 必须在显存上,所以 HiCache(主机内存 L2 层)解决不了这件事——它买的是"长前缀零重算",不是并发容量。
    想上 2×256K 只有换 48G+ 卡,或者上 fp4 KV——而 fp4 KV 全树只有 CUDA 的 TRT-LLM MLA 路径实现,ROCm/Triton 没有读取路径,等于要新写注意力内核。

    所以:MEMF≤0.94 下,约 227K 就是单卡 32G 的实际上限。


    八、遗留

    1. 磁盘上约 5 GB 死权重:改成新分片后,旧分片 model-00000/00001 里那两份旧张量还在,只是 index 不再引用。回收要重写这两个分片(不是删文件)。
    2. PP 2500+ 没到(现在 1913):瓶颈是注意力 ~25 TFLOP/s(占 prefill 24.5%),GEMM 已到 172 TFLOP/s 的微基准上限。libr4d 注意力移植(要求 KV 交错,SGLang 是分离 k/v 缓冲)和自写 Triton 注意力都已被实测否决。
    3. 质量只覆盖了数学推理 + NLL:长文生成、多轮工具调用、视觉识别未做基准(视觉只验了"能认图",红图→"Red"、左圆右方→"圆形 正方形")。

    面向读者的一句提醒:如果你也在单卡上折腾 MXFP4,先记住两条——
    转换代码一定要跟框架自己的反量化实现对拍(自己对自己的参考实现是循环验证,看不出错位);
    lm_head 不是免费的,它在每个 decode 步都要被完整读一遍,把它量化掉往往比调注意力更划算。

    以下是第一个Checkpoint

    一、结论先行

    decode 从 5.07 → 70.9 tok/s(代码)/ 53.1 tok/s(散文),提升 10~14 倍;识图保留;2 路并发可用。

    指标 起点 终点(速度档) 长文档档
    decode(+DFlash2) 5.07 tok/s 70.9 / 53.1 22–25(无投机)
    prefill 1523 tok/s 1304–1453 1500–1549
    上下文 65K 90,112 262,144
    并发 1 2(已验证) 2
    识图 ✓ ✓(红图→"Red") ✓
    KV 池 — 101,791 tokens 285,967 tokens

    关键一句:"速度"和"长上下文"在单卡 32G 上是硬性二选一,不是调参能两全的。

    二、最终启动参数

    cd /home/fcc && \
    MODEL=/data/models/qwen38-awq QUANT=awq MEMF=0.93 CTX=90112 MAMBA=8 \
    CHUNK=2048 MAX_RUN=2 \
    LM_ARGS="--mamba-full-memory-ratio 0.12 \
      --served-model-name Qwen3.8-27B-AWQ-R9700 \
      --tool-call-parser qwen3_coder" \
    CG_ARGS=--cuda-graph-max-bs-decode=8 \
    SPEC_ARGS="--speculative-algorithm DFLASH \
      --speculative-draft-model-path /data/models/qwen38-dflash2" \
    RADIX_ARGS="--enable-hierarchical-cache --hicache-size 10 \
      --hicache-write-policy write_through" \
    setsid nohup ./launch-qwen38-single.sh > /tmp/sglang.log 2>&1 &
    

    三个不能动的参数(都是踩出来的):

    • CHUNK=2048:带 DFlash2 时 prefill 的 GDN/FLA 工作区随 chunk 缩放,用 8192 会在 fla/chunk_o.py:chunk_fwd_o 处 OOM 直接崩服务(实测崩两次)
    • MEMF ≤ 0.93:0.95 会把显存占干,同样 OOM
    • --cuda-graph-max-bs-decode=8:投机 verify 必须走图;8 档比 16 档省约 1GB,只慢 3%

    三、做成路线(与 Paiton 的异同)

    Paiton 走 vLLM + 自研原生内核(radiance_mxfp4_fp8_gemm)。SGLang 在这张卡上没有 FP4 原生 GEMM,所以把等价物自建了一遍:

    1. NVFP4 → AWQ INT4 流式转换(自写,逐行余弦 0.993)
    2. 原生 HIP AWQ GEMV(用仓库自带 build_awq_gemv.sh 编译)→ decode 5 → 24.9
    3. 移植 libr4d(开源 RDNA4 内核库;为 gfx1201/ROCm 7.2.4 编译成功,仅需 1 处地址空间适配),逆向 WMMA fragment 布局(含 4-bit 二进制补码这一细节),实现零额外显存的原地重排 → 投机 verify 从 290ms/步降到 15ms
    4. 自研 W4A8 大 M GEMM(int8 WMMA,167 TFLOP/s)替换 prefill 的反量化路径 → PP 回到 1453
    5. HiCache L2 打通(修了 ROCm 上 sgl_kernel.kvcacheio 包装过期的问题):主机侧目标 131,632 + draft 131,633 tokens,前缀复用 186s → 19.5s(9.5×)
    6. 真 2 路并发:--mamba-full-memory-ratio 0.12 + --max-mamba-cache-size 8(此前被 mamba 槽位卡成 1 路),日志 #running-req: 2 为证

    四、折腾经过

    整场折腾的本质只有一句话:SGLang 在 ROCm 上没有原生 4-bit 内核,所以先花时间在软件反量化上撞墙(三种内核都停在 ~2 Tops/s),再花时间把 libr4d 的合成回来——中间还踩了 AWQ scale 溢出成 inf、权重 nibble 是补码而非偏移码、缓存键与融合模块名对不上,以及"加载期重排必然 OOM、必须原地重排"这几个坑。

    五、没做到的(诚实)

    目标 Paiton 本方案 达成度
    PP 3455–3871 tok/s 1304–1549 约 40%
    TG 100–156 tok/s 53–71 约 50–70%
    识图 ✓ ✓ 100%
    单槽 256K 声明 204,800 ✅(无投机档) 达成
    单槽 256K + DFlash2 — ❌ 上限约 160K 0%
    2 路 × 各自 256K — ❌ 算术不可能

    最后一行给个算式:KV 单价实测 30.5 KB/token(8.72GB ÷ 285,967),两张 256K = 16.0GB;加上权重 12.2GB + bf16 embed/lm_head 5GB + 视觉 0.9GB + draft 2.15GB + mamba 1.3GB + 图档 1–4GB = 39–45GB,而可用只有 31.86GB。除非 KV 能减半(此版本 --kv-cache-dtype 只有 auto/fp8,无 fp4),否则单卡无解。

    PP 差的 60% 我知道在哪:只换了 GEMM,没移植 libr4d 的 prefill 注意力与 GDN 内核(attn_prefill_h256_gqa6_fp8kv、gdn_conv_prep/kkt_solve/chunk_scan)。接口已侦察、r4d.so 已编译好,但集成要对接 SGLang 的 GDN 状态布局,属于另一场硬仗。

    六、给读者的一句话

    在 ROCm 上跑 SGLang 跑 4-bit 模型,决定性能的不是你的卡,而是"有没有原生 4-bit 内核"——先确认这一条,再谈调参。

    另外两条省时间的经验:

    • 别用日志的聚合吞吐当性能结论(那里面有 10 秒均值和排队效应),要用受控脚本 + 固定 prompt 自测;
    • 显存别顶到 0.95 看着漂亮——mem_fraction 得给 prefill 工作区留余量,否则一问就崩。


  • R9700价值解放跑Qwen3.8-27B MXFP4(本地Deepseek V4 flash质量和速度)采用paiton/vLLM框架折腾实录,真实部署Minimax-H3
    fcmeF fcme
    LLM讨论区 r9700 qwen-27b vllm

    一、库与结论
    Eliovp-BV/paiton-vllm-plugin(vLLM 0.29 / ROCm 10 / 65K r3);
    Qwen3.8-27B-NVFP4+DFlash2;
    R9700 32G、250W。
    结论:prefill ~3.3k、decode 大概100-110,比裸跑快一个量级。
    实测(200K/chunk4096):0.8K→2.4k、12K→3.36k、48K→3.0k。

    二、最终启动参数

    docker run -d --name paiton-qwen38 --network host --ipc host \
      --device /dev/kfd --device /dev/dri --group-add video \
      -e ROCR_VISIBLE_DEVICES -e HIP_VISIBLE_DEVICES -e CUDA_VISIBLE_DEVICES \
      -e PAITON_NGRAM_CODRAFT=1 -e PYTORCH_ALLOC_CONF=max_split_size_mb:64 -e RADIANCE_GDN_LAZY=0 \
      -v /data/models/qwen38-nvfp4:/models/target:ro \
      -v /data/models/qwen38-dflash2:/models/draft:ro \
      -v /data/paiton-cache-65k:/cache \
      --restart unless-stopped \
      ghcr.io/eliovp/paiton-vllm-plugin:qwen38-rocm10-vllm029-65k-20260924-r3@sha256:c2511888b76abf463c7f5c51f0c70bf66c593f3c2fca8d910765d85318d399ce \
      serve /models/target --tokenizer /models/target \
      --served-model-name Qwen3.8 Qwen3.8-27B-MXFP4-DFlash2 \
      --host 0.0.0.0 --port 8080 --tensor-parallel-size 1 --dtype bfloat16 \
      --max-model-len 204800 --max-num-seqs 1 --max-num-batched-tokens 4096 \
      --kv-cache-dtype fp8 --kv-cache-memory-bytes 7677640704 --gpu-memory-utilization 0.98 \
      --enable-prefix-caching --enable-chunked-prefill \
      --attention-backend R4D \
      --compilation-config '{"cudagraph_capture_sizes":[1,2,4,8],"pass_config":{"fuse_norm_quant":true,"fuse_act_quant":true}}' \
      --speculative-config '{"method":"dflash","model":"/models/draft","num_speculative_tokens":7,"draft_tensor_parallel_size":1,"attention_backend":"TRITON_ATTN","max_model_len":204800,"disable_padded_drafter_batch":true,"draft_sample_method":"greedy"}' \
      --mamba-cache-mode align --mamba-cache-dtype bfloat16 --mamba-ssm-cache-dtype float16 \
      --no-async-scheduling \
      --enable-auto-tool-choice --tool-call-parser qwen3_coder --reasoning-parser qwen3 \
      --override-generation-config '{"temperature":0.7,"top_p":0.95,"top_k":20}' --seed 42 \
      --default-chat-template-kwargs '{"enable_thinking":true}' --enable-prompt-tokens-details
    

    三、异同与升级点
    线上是 compose 托管(paiton-qwen38-27b-10img)。逐字比对:镜像、卷、性能开关全同,只两处不同——图片配额 1→10、mm 像素区间收窄,纯文本无关。 compose 看着 165 个 env,其实 163 条是镜像自带照抄;真正覆盖默认的只有那 3 条,故最小集 ≡ 线上。 升级点:chunk 1024→4096 让长 prompt prefill +12~15%(48K:2602→2992),短 prompt 持平;代价是放弃 200K 档并发——C2 仅线性 45%,步/秒腰斩、GPU 六成时间空转,瓶颈在主机侧。官方 65K 档 C1→C8 是 122.8→422.9,想并发请回 65K。

    四、折腾经过
    照论坛抄,pp 只有 1300,一度怀疑卡买错。翻日志才知 vLLM 只报 10 秒窗口均值,不能当 pp;自写受控脚本(nonce 破缓存 + TTFT 口径)测出:空闲 2.9k、一忙 1.3k——是排队,不是算力。 官方并发数据全是 65K 档,200K 档本就标定 1 路。不服气开 C2,两组 A/B 全证伪;采样定位到主机侧开销。 教训:日志聚合值≠性能,别人的数先看档位,自己的印象也得同内容 A/B 才算数。

    相对上一版的改动(最小改动):参数块 env 从 3 条起保留、其余 162 条没列出来都是镜像自带的env

    说明:

    面向读者的一句提醒:200K 档别开并发,想要并发请回 65K 档(官方 8 路,C1→C8 聚合 122.8→422.9)。


  • 双卡AI Pro R9700 32g,Qwen 3.6 27b FP8 256k SGlang部署成功
    fcmeF fcme
    LLM讨论区 r9700 ai-pro-r9700 sg-lang

    @linkdesu Ornith 的版本我实测更好,他们官方放出的最低两化版本就是Q5,看来是有道理的。我用了一个日常工作当中用得到的比较难的三个场景测试,它跟deepseek v4 Flash的性能差距在1%,那基本上就是误差以内了。所以我最近连在线版的fassh都用的少了,哈哈,R9700搭配这个模型基本上日日常够用,需要云端的时候就用GLM5.2做个整体规划和验收就行。


  • 有大神在本地部署 GLM 5.2 吗?
    fcmeF fcme
    LLM讨论区 本地模型 glm

    这个太不现实了,除非你是视金钱如粪土的富哥。
    现在本地部署说实话还是有点儿尴尬,哪怕是27b这样的模型,哪怕你用的是5090,一到agent使用场景,因为现在毕竟是agent时代了,那个pp速度一慢了你如果要是没做好缓存优化的话,你是根本不会想主力用它的。如果只是聊个天,做一点文本工作聊天窗口那种,然后识别个图啊,OCR的话,我以前那个5070ti就挺好的,升级到5090也就是可以跑的量化精度高一点,但是依然解决不了稠密模型在本地部署情况下的慢的问题。你想27b都如此,那像glm5.2这种庞然大物,本地布属真的意义不大。你可以考虑租个云端的卡试验一下,最终的归宿应该还是调用的时候用API,反正现在智谱的,coding plan也买不到。


  • R9700 本地模型「智力」实测:35B MoE vs 27B dense,顺便跟云 API 比了下
    fcmeF fcme
    LLM讨论区 本地模型 r9700

    @Alan-TANG
    你这个测试和我自己做的好多测试基本相符,对于本地运行来说,35b和27b只是搞一搞hermes和文书编程类的工作太够用了,正常的ict方面,35b和27b几乎没有区别,所以我测试了不下20个版本的27B和35B后选了基于35b的Ornith Q5,主要是质量不差加速度快,Agent用的时候不便秘。但是这俩搞逻辑纯数学那确实不太行。 所以它完美适配agent应用,只要长链toolcall不掉链子就是好模型,关键是要适配自己的需求。

    另外本地模型可以越狱,云端的一点机会都没有。

    58651.jpg


  • 还以为会很折腾,没想到一下就好了弄好了:7900xtx
    fcmeF fcme
    LLM讨论区 7900xtx

    跑代码的话27B肯定更稳,但是太慢了性子稍稍急一点就招架不住,尤其是agent类应用,输入远远远远大于输出,所以pp速度更重要27b我是等不及了,在R970零里面挂了一个高精度的35b也很爽。其实尤其是现在deepseek v4 flash太便宜了,本地部署的性价比真的是不太高😭


  • 我直接把本地Qwen3.8都做成了在线deepseek API来用
    fcmeF fcme
    LLM讨论区 qwen deepseek 本地模型

    Claude Sonnet 5.5 官方报价每百万 token 输入 2 美元、输出 10 美元;DeepSeek V4 Flash 便宜得多,284B 参数 13B 激活,输入 0.44 美元、缓存命中 0.014 美元——但一样要交钱,一样被限流。

    我这边:0 元,无限次,数据不出门。

    多数人跑本地模型停在 Ollama + localhost,在家能用出门抓瞎。教程教你端口映射加个密码,那是把裸服务挂公网,扫描器几小时找上门。

    正确姿势:源站一行不改,门卫设在门口。

    第一层,域名走 Cloudflare 橙云,家 IP 藏掉。

    第二层,反向代理只查谁在敲门:先只放行 Cloudflare 官方 15 个回源 IP 段——否则任何人直连你家 IP、伪造一个访客 IP 头就进来了;再按真实 IP 做硬白名单,名单外一律 403。

    第三层,LLM 网关做路由:一个域名一个 key,客户端只改 model 字段就切模型——27B 走 32G 卡,176B MoE 走 16G 卡,思考深度也编进模型名。

    这套壳子不挑模型:Kimi-K2.6、GLM-5.1、Qwen3.5-122B-A10B、Gemma-4-26B-A4B、开源版 DeepSeek-V4-Flash,塞进去就是同一个 OpenAI 兼容接口。

    妙处:家里 99% 日常走内网直连,不经门卫。网关崩了、key 丢了、公网入口撤了,家里一切照旧。

    干货:橙云免费档 100 秒红线——100 秒不出响应头就 524,出流后 100 秒没字节也断。必须 stream,先实测首 token 延迟反推安全输入长度。

    8a1c98f6-5fe6-4dca-b94c-2da72b0619b2.png


  • R9700 Proxmox VE 懶人部署兩週運行心得
    fcmeF fcme
    AI硬件 r9700

    @AGI 说:

    proxmox能用?我以为效果一般呢。我专门找出来个闲置的sata ssd,安装的Ubuntu,如果可用,我就用回我的proxmox了。

    PVE对于Homelab来说基本是终极方案,尤其对于咱们这样的折腾人士来说有NAS的话给它挂个PBS自动备份太重要了,崩溃了随时会退,太强了。

    我是一台Dell7820的服务器来跑的,现在一个VM装各种服务和docker等等,另一个VM直通了显卡作为算力中心,LLM/Comfyui都在一起,很好用只是5070Ti算力不错,但是卡显存很难受,所以入了R9700还没到,估计之后又是一顿折腾,哈哈。不过二手的服务器确实很香,稳的一批!


  • 體感經驗 哪一個強?? Qwen3.8-Flash vs. Qwen3.8-27B
    fcmeF fcme
    LLM讨论区 qwen 本地模型 strata

    做长程开发的话,就flash next在后台跑,日用还是27b叠加Dflash以后响应快很多,然后比较爽,日常使用感觉不出来质量的差别!

    给你看个27b的例子,手机随手拍的照片,让它识别动物。

    Screenshot_20261004_115341_com_android_chrome_ChromeTabbedActivity.jpg

    Screenshot_20261004_115358_com_android_chrome_ChromeTabbedActivity.jpg

    准确率那是相当高了,而且27b本身也不是什么大的模型,知识面都有这么广!

    但是27b和flash next的差距还是显而易见的,见下面的例子,用同样的dsh在两个不同的对话里面flash next生图明显细腻很多,数据我用DS核对过了,两个都是对的。

    27b的:

    91762857-5079-4aca-8758-96f863c7a0c4.png

    Flash next的,明显好很多嘛!

    a85833e3-bc9e-4a4a-998c-9f2b6935ab9d.png


  • 我换回3.6 35B了
    fcmeF fcme
    AI硬件 qwen

    @benton-yi
    哈哈Ornith加一,那天我还想我说这个玩意儿Qwen3.8都出来了,怎么还不更新?结果一上官网官网把1.5的版本刚刚推出来两个小时。
    现在它是我的独力模型,其实日常的使用完全够了,不管是配合dsh还是Hermes。dsh的话体感会好一些,配了deepseek的API以后搜索能力会比较强。


  • 【实测】7900xtx使用Qwen3.6-35B-A3B速度稳定在80+t/s
    fcmeF fcme
    LLM讨论区 7900xtx amd llama.cpp

    @stormaround
    我也发现这个问题了,试了不下10个这个基座模型的变种,有的量化精度低一些的在Hermes调用几步以后就开始陷入死循环,良化进度高一点的(新入了r9700)会好一些,但是他的思维会陷入一个死循环,就是不断的尝试,但是每一轮尝试下来都是一样的结果,根本解决不了问题。
    后来我把跟他的交互记录让deepseek Pro看了一下,Deepseek 2分钟就发现了问题,根本的原因是Hermes斯的对话管理机制,因为它的定位是做一个轻量的助手,所以他的对话几乎都不能持久,然后你过一会不用的话,那个对话就给你关掉了,你在聊天的时候又是一个新的对话,所以说它不是靠对话来管理上下文的,它实际上是靠搜索它的那个对话的数据库来搞的,这样的话,尤其像这种本地小模型智商没那么高的情况下,他有可能抓到的内容是碎片化不相关的。所以导致使用体验非常糟糕,然后我就把同样的咖啡UI的自动化视频流程让他总结了一遍,迁移到了opencode里面。中间有一个断点在opencode里面调用一个魔改版的这个35b一次跑通!因为open code的一个对话就是一个项目,这种开发类的agent框架的上下文比较干净。
    工具和模型同样重要,多么痛的领悟,我已经卡了三四天了了。


  • AMD AI Pro R9700 LLM调教
    fcmeF fcme
    LLM讨论区 r9700 ai-pro-r9700 amd

    @566656661 我在GitHub上下载了一个类似的里面下载量最高的一个,最后实际测试下来v l l m在r9700上性能不如llamacpp vulkan版本。
    最后还是老老实实用vulkan吧,毕竟跑35b q5的模型,开三路,pp都能到2300,tp能到50~55。体验已经相当不错了,如果要是能把这个pp再提高到4000左右就比较爽了,agent应用太吃pp了。不过好像也就5090能做到这个水平,但是这破玩意儿现在是真的贵。


  • 个人高性价比AI服务器 Dell7820双路,96G,配双卡R9700/5070Ti
    fcmeF fcme
    装备秀 r9700 rtx5070 服务器

    PVE 宿主 + 两台虚拟机清单:数据都是刚从三台上实测抓的(PVE 8.4.16 / VM100 / VM123)


    我的 PVE 家庭服务器,Dell 7820 双路志强6252(带avx指令集,但是AI应用还是第三代差些比) + 双卡 5070Ti/R9700。一台宿主跑两个虚拟机,VM100主要跑我小生意相关的各种服务开票啊,然后给客户交付之类的网盘什么,另外一台VM100,就是纯粹的AI服务器虚拟服务器了,最初是想跑llamacpp/ktransformers混合推理架构跑Qwen3 80B-A3B的,那时候pp能到300左右,我记得tg能到35左右,已经跑的很开心了,不曾想,现在各种新框架层出不穷,尤其是这个strata火了以后完全释放了我的AI服务器的性能,感觉就是给我出的,显卡够用,内存带宽够多也够大✌🏻!
    80后老登老的快乐其实很简单!

    装备清单(PVE 宿主 AI)

    配件 型号与说明
    整机 Dell Precision 7820 Tower,二手工作站
    主板 Dell 0YDWPC(7820 原厂板),BIOS A06
    CPU 1 Intel 至强 Gold 6252,24 核 24 线程,2.1GHz(睿频 4.0GHz)
    CPU 2 同款第二颗,24–47 号核心全部 offline 省电,只留 24 核在线
    内存 12 × 8GB DDR4-2666 ECC RDIMM,Micron 9ASF1G72PZ-2G6D1,12 通道插满 = 96GB
    硬盘 1 金士顿 SUV400S37240G 240GB SATA SSD,系统盘,LVM(root 214.6G + swap 8G)
    硬盘 2 三星 860 EVO 1TB ×2,ZFS mirror,池名 Data-SSD(928G,已用 521G)
    光驱 HL-DT-ST DVD+/-RW GU90N(装系统用的老古董)
    网卡 1 Intel I219-LM 千兆(板载)
    网卡 2 Realtek RTL8126 5GbE(后加,现在跑的是这张)
    网络 双网卡 active-backup bond0 → vmbr0,192.168.1.35
    显卡 1 NVIDIA RTX 5070 Ti 16G(GB203),整卡直通给 VM123(5b:00)
    显卡 2 AMD Radeon AI PRO R9700 32G,整卡直通给 VM123(a0:00)
    电源 原厂 950W
    虚拟化 Proxmox VE 8.4.16,内核 6.8.12-37-pve
    散热/管理 无 BMC/IPMI,功耗只能靠智能插座手看,待机 125W左右

    看图
    IMG_20260707_101312.jpeg

    IMG_20260109_223705.jpeg

    IMG_20260707_101305.jpeg


  • 7900XTX + llama.cpp Qwen3.6 27B TurboQuant + MTP 测试结果分享
    fcmeF fcme
    LLM讨论区 7900xtx mtp llama.cpp

    5000多人民币能买到带三年质保的新卡,还有24g高带宽显存的卡也就它了吧,这性价比其实已经爆棚了😁
    可以关注一下27b的IQ量化系列,体积小一点,质量和速度都不差的。尤其是编译的时候,把wmma开启了的话,用hip llamacpp的PP速度能提示30%以上,实用度暴增。
    我双路服务器,所以都有点儿后悔买9700了,没搞两张7900XTX,容量更大,速度应该比9700快将近一倍。


  • 垃圾佬的快乐!
    fcmeF fcme
    装备秀 7900xtx amd 服务器

    @kos-or
    现在的电脑应该很少重启了吧?用快的只是启动的时候享受一下,平时要用的跟手的话楼主这样配也算合理吧


  • Hermes Agent 集群配置,多电脑多Profile,分工协作减少单个Agent记忆长度太长导致智力下降,API开销大的问题!云端+本地综合方案!
    fcmeF fcme
    AI Agent hermes

    确实,我也发现这个问题。相同的物理机上多开Hermes,一个挂了还能抢救另一个,俩的任务也能分开,他们的记忆系统不至于混乱。
    Hermes标榜的的可以自我进化,这是绝对有它的好处的,但是坏处就是容易产生一大堆垃圾,也是屎山。所以,一个小技巧就是每周(或者说按自己需求的频率)让他自己检测自己的记忆系统和新创的技能。让他审视完了以后给你一个清理计划,批准了再执行,这样的话,就知道Hermes的大脑里到底现在存了些什么东西。一般去个重,然后再删除一些无用的垃圾(他理解错的内容)就会又很好用了。


  • 【双 R9700 折腾记】从 Strata 到 Radiance
    fcmeF fcme
    随便聊聊 r9700 strata 多卡部署 radiance

    @Luke-Mao
    哦,那双卡并发的话,速度还是要快很多,嗯,不错,值得参考,我没准也再搞一张,谢谢


  • 體感經驗 哪一個強?? Qwen3.8-Flash vs. Qwen3.8-27B
    fcmeF fcme
    LLM讨论区 qwen 本地模型 strata

    @applejuice
    绝对不会差10倍那么多的,大概是2-3倍吧。这个框架好像不太挑的呀,我在9700上和5070ti上跑tj都是在50~65这个范围,5070上大概PP和TG都是快个15%左右。
    所以感觉这个flash模型其实更适合挂在后台跑长程任务你不用管,要想及时响应的话,还是27B更快一些,尤其是配合dflash以后,有在线 V4 flash的感觉。


  • 8g的HBM矿卡170hx解封了
    fcmeF fcme
    AI硬件 170hx

    Screenshot_20260723_142849_com_termux_TermuxActivity.jpg

    我让AI研究了一下这个玩意儿它解锁完了,也只是把那个屏蔽掉的内存容量释放出来了,带宽是够的,所以在tp阶段是没有任何问题,然后速度也会比较快,因为是带宽受限,但是这个玩意儿pp预处理的速度比较崩,好像这块还没解开。如果只是聊天的话,没有必要本地部署,如果要是有生产需求接入agent的话,pp速度比tp关键太多了,因为你预处理一般都是动不动二三十k的那个系统提示词,pp太慢的话,你会等到天荒地老,没啥意义,不如有着钱不如充点儿deepseek api 用flash吧,体验好很多


  • 请问这个视频中 Qwen3.6 35b a3b 25token/s 是个什么水平?
    fcmeF fcme
    AI硬件 qwen-27b 视频生成

    @crazypeace
    没什么卵用,在Windows系统下和Linux下只要是个8g以上的显卡就能跑到这个速度,因为这个时候的速tp度是PCIe限制死的。如果是麦克的话是被显存带宽限制死的。顶多就是能跑起来而已,但是跑不顺。
    Agent时代输入普遍很大,而输出比较少。PP速度慢了,除了纯聊天的场景,你不会想用下去的。

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组