<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[R9700 - vllm radiance 分支]]></title><description><![CDATA[<p dir="auto">我买r9700 之前 感觉r9700 在论坛很火 radiance, paiton 都很高讨论度<br />
我就跑去买了r9700<br />
但是买了过后 vllm 27b 好像被strata 抢完风头了</p>
<p dir="auto">但是最近radiance 分支也一直在进步<br />
所以发起一个帖 看有没有人还在用 vllm radiance</p>
<p dir="auto">首先为什么我不用paiton, 其中一个原因 是paiton 是闭源引擎<br />
再来paiton 好像只支持65k，纯文字 200k<br />
而且质量 radiance 好像也比paiton 差一丢丢<br />
paiton 唯一的好处就是快(paiton QNF vs strata 也同理)</p>
<p dir="auto">昨天 vllm-sly-radiance 分支更新了 Cactus dflash 检查逻辑<br />
进一步把decode 推高</p>
<p dir="auto">但是用下来我遇到一个问题<br />
vLLM 在 R9700 上连续运行很久后，偶尔会出现解码速度减半的情况，重启服务即可恢复，测速前最好先确认运行时长。</p>
<p dir="auto">这个现象社区也有报告：<a href="https://github.com/ROCm/TheRock/issues/9228" rel="nofollow ugc">ROCm/TheRock#9228</a>（2026-06 起，仍未关闭）</p>
<p dir="auto">以下由ai总结 基本上就是数据 有兴趣可以继续看</p>
<h2>一、一句话总结</h2>
<ul>
<li>单请求解码：代码约 <strong>185 tok/s</strong>，英文约 <strong>96~100</strong>，中文对话约 <strong>56~60</strong>，中文散文约 <strong>47~52</strong>（采样，temperature 1.0）。</li>
<li>4 路并发：代码总吞吐 <strong>515 tok/s</strong>（单请求的 2.8 倍），四种内容混合 <strong>163 tok/s</strong>。</li>
<li>Prefill：19K 约 <strong>2,400 tok/s</strong>，43K 约 <strong>2,150 tok/s</strong>。</li>
<li>单请求上下文 <strong>200K</strong>，带图片；KV 池 <strong>40 万 token</strong>，可同时放下约 2 个 200K 请求。</li>
</ul>
<h2>二、硬件</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>部件</th>
<th>配置</th>
</tr>
</thead>
<tbody>
<tr>
<td>显卡</td>
<td>AMD Radeon AI PRO R9700，32 GB GDDR6（RDNA4，gfx1201）</td>
</tr>
<tr>
<td>功耗</td>
<td><strong>限 210 W</strong>（默认 300 W；解码受显存带宽限制，210 W 基本不掉速）</td>
</tr>
<tr>
<td>PCIe</td>
<td>卡本身 PCIe 5.0 x16；主板是 PCIe 4.0，实际到 CPU 约 28 GB/s</td>
</tr>
<tr>
<td>CPU</td>
<td>AMD EPYC 7452，32 核（Zen 2）</td>
</tr>
<tr>
<td>内存</td>
<td>256 GB DDR4-2666 ECC RDIMM，8 通道（约 139 GB/s）</td>
</tr>
<tr>
<td>主板</td>
<td>华南 H12D-8D</td>
</tr>
<tr>
<td>系统 / 驱动</td>
<td>Ubuntu 24.04，内核 6.8.0-142；amdgpu DKMS 6.16.13（ROCm 7.2.4 的驱动包）</td>
</tr>
</tbody>
</table>
<h2>四、模型</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项</th>
<th>配置</th>
</tr>
</thead>
<tbody>
<tr>
<td>主模型</td>
<td><code>amd/Qwen3.8-27B-Quark-AWQ-MXFP4</code>（约 19 GB）</td>
</tr>
<tr>
<td>权重量化</td>
<td>Quark MXFP4（4-bit），矩阵乘用 Radiance 的 W4A8 内核（<code>RADIANCE_MXFP4_W4A8=1</code>）</td>
</tr>
<tr>
<td>其他省显存</td>
<td>输出头（lm_head）和词嵌入表用 int4（<code>RADIANCE_LMHEAD_INT4=1</code>、<code>RADIANCE_EMBED_BITS=4</code>），省下的显存给 KV</td>
</tr>
<tr>
<td>视觉</td>
<td>开：每个请求 1 张图，最大约 100 万像素，不支持视频</td>
</tr>
</tbody>
</table>
<h2>五、KV 缓存与上下文</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项</th>
<th>配置</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>KV 类型</strong></td>
<td><strong>fp8</strong>（16 个全注意力层）；线性注意力层（GDN/Mamba 状态）用 <strong>bf16</strong></td>
</tr>
<tr>
<td><strong>KV 池</strong></td>
<td><strong>401,454 token</strong>（200K 请求可同时放约 1.96 个）</td>
</tr>
<tr>
<td><strong>单请求最大上下文</strong></td>
<td><strong>204,800 token</strong>（200K；模型原生 262,144，开视觉后选 200K 留足 KV）</td>
</tr>
<tr>
<td>长上下文验证</td>
<td>192K 大海捞针：<strong>找到</strong></td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>为什么不用 4-bit KV：</strong></p>
<ul>
<li><strong>MXFP4 做 KV：</strong> Radiance 自己测过（MXFP4 块大小 32/16、INT4 等），注意力误差约是 fp8 的 2.8 倍，没通过他们的质量门槛，所以不提供。</li>
<li><strong>TetraAttention 4-bit KV</strong>（1.5.0 起可选，<code>--kv-cache-dtype int4_per_token_head</code>）：我实测 KV 池 64.4 万（+60%），prefill +7~8%，但精度降低后草稿接受变少，解码反而慢：贪心中文散文 −32%，英文 −10~12%。所以保持 fp8。</li>
</ul>
<h2>六、草稿模型与草稿接受</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项</th>
<th>配置</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>草稿模型</strong></td>
<td><strong>DFlash2</strong>：<code>syvai/Qwen3.8-27B-DFlash2-W4A16</code>（约 1.2 GB）</td>
</tr>
<tr>
<td>每步草稿</td>
<td>7 个 token（<code>num_speculative_tokens 7</code>），按概率采样草稿（<code>draft_sample_method probabilistic</code>）</td>
</tr>
<tr>
<td><strong>草稿接受</strong></td>
<td><strong>Cactus 开</strong>（<code>RADIANCE_CACTUS_DELTA=0.5</code>，1.5.1 默认）</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>实测接受情况（每步平均产出 token；最多 8 = 1 + 7 个草稿）：</strong></p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>内容</th>
<th style="text-align:right">Cactus 关</th>
<th style="text-align:right"><strong>Cactus 开</strong></th>
<th style="text-align:right">草稿接受率（开）</th>
</tr>
</thead>
<tbody>
<tr>
<td>中文散文</td>
<td style="text-align:right">1.70</td>
<td style="text-align:right"><strong>1.71~1.90</strong></td>
<td style="text-align:right">~10~13%</td>
</tr>
<tr>
<td>中文对话</td>
<td style="text-align:right">1.79</td>
<td style="text-align:right"><strong>2.06~2.15</strong></td>
<td style="text-align:right">~15%</td>
</tr>
<tr>
<td>英文技术</td>
<td style="text-align:right">2.89</td>
<td style="text-align:right"><strong>3.40~3.54</strong></td>
<td style="text-align:right">~35%</td>
</tr>
<tr>
<td>写代码</td>
<td style="text-align:right">6.21</td>
<td style="text-align:right"><strong>6.39~6.56</strong></td>
<td style="text-align:right">~77%</td>
</tr>
</tbody>
</table>
<h2>七、性能</h2>
<h3>1. 单请求解码（tok/s，1,024 token 输出，中位数）</h3>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>内容</th>
<th style="text-align:right">采样，Cactus 关（1.3.2）</th>
<th style="text-align:right"><strong>采样，Cactus 开（1.5.1）</strong></th>
<th style="text-align:right">贪心（temperature 0）</th>
</tr>
</thead>
<tbody>
<tr>
<td>中文散文</td>
<td style="text-align:right">46.3</td>
<td style="text-align:right"><strong>47.4~51.6</strong></td>
<td style="text-align:right">63.2</td>
</tr>
<tr>
<td>中文对话</td>
<td style="text-align:right">50.0</td>
<td style="text-align:right"><strong>56.4~60.2</strong></td>
<td style="text-align:right">50.4</td>
</tr>
<tr>
<td>英文技术</td>
<td style="text-align:right">81.6</td>
<td style="text-align:right"><strong>96.0~100.0</strong></td>
<td style="text-align:right">86.1</td>
</tr>
<tr>
<td>写代码</td>
<td style="text-align:right">175.8</td>
<td style="text-align:right"><strong>184.8~185.9</strong></td>
<td style="text-align:right">187.1</td>
</tr>
</tbody>
</table>
<p dir="auto">（采样每次生成的文字不同，所以给出两次测量的范围。）</p>
<h3>2. 并发（采样，每路 1,024 token，3 次中位数）</h3>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th style="text-align:right">并发</th>
<th style="text-align:right">代码：每路</th>
<th style="text-align:right"><strong>代码：总吞吐</strong></th>
<th style="text-align:right">混合内容：每路</th>
<th style="text-align:right"><strong>混合内容：总吞吐</strong></th>
<th style="text-align:right">首 token</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right">1</td>
<td style="text-align:right">186.6</td>
<td style="text-align:right"><strong>182</strong></td>
<td style="text-align:right">47.3</td>
<td style="text-align:right"><strong>47</strong></td>
<td style="text-align:right">0.1 s</td>
</tr>
<tr>
<td style="text-align:right">2</td>
<td style="text-align:right">171.3</td>
<td style="text-align:right"><strong>329</strong>（1.8 倍）</td>
<td style="text-align:right">46.2</td>
<td style="text-align:right"><strong>88</strong></td>
<td style="text-align:right">0.1~0.2 s</td>
</tr>
<tr>
<td style="text-align:right">4</td>
<td style="text-align:right">138.8</td>
<td style="text-align:right"><strong>515</strong>（2.8 倍）</td>
<td style="text-align:right">82.0</td>
<td style="text-align:right"><strong>163</strong></td>
<td style="text-align:right">0.1~0.2 s</td>
</tr>
</tbody>
</table>
<ul>
<li>"代码"是 4 个不同的写代码题。"混合内容"是中文散文、中文对话、英文、代码各一题；并发 1 时只有中文散文，并发 2 时是散文加对话，并发 4 时四种都有。</li>
<li>4 路混合时各路速度：中文散文 53.5、中文对话 50.7、英文 94.5、代码 154.8。</li>
<li>并发时每路会变慢（代码从 187 降到 139），但总吞吐上升很多；4 路时草稿接受基本不变（代码每步 6.3 token）。</li>
<li>贪心模式结果相近：代码 4 路总吞吐 501，混合 150。</li>
</ul>
<h3>3. Prefill（冷启动，不命中缓存）</h3>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>提示长度</th>
<th style="text-align:right">tok/s</th>
</tr>
</thead>
<tbody>
<tr>
<td>19K</td>
<td style="text-align:right">2,705~2,738</td>
</tr>
<tr>
<td>43K</td>
<td style="text-align:right">2,304~2,403</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>并发 prefill（冷启动，同时发出，每个请求只生成 1 个 token）：</strong></p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th style="text-align:right">同时请求数</th>
<th>每个请求长度</th>
<th style="text-align:right"><strong>总 prefill（tok/s）</strong></th>
<th>每个请求的首 token 时间</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right">1</td>
<td>~19K</td>
<td style="text-align:right">2,570</td>
<td>7.5 s</td>
</tr>
<tr>
<td style="text-align:right">2</td>
<td>~19K</td>
<td style="text-align:right">2,542</td>
<td>7.5 / 15.1 s</td>
</tr>
<tr>
<td style="text-align:right">4</td>
<td>~19K</td>
<td style="text-align:right"><strong>2,478</strong></td>
<td>7.7 / 15.4 / 23.2 / <strong>31.0 s</strong></td>
</tr>
<tr>
<td style="text-align:right">1</td>
<td>~43K</td>
<td style="text-align:right">2,172</td>
<td>19.8 s</td>
</tr>
<tr>
<td style="text-align:right">2</td>
<td>~43K</td>
<td style="text-align:right">2,174</td>
<td>20.1 / 39.6 s</td>
</tr>
<tr>
<td style="text-align:right">4</td>
<td>~43K</td>
<td style="text-align:right"><strong>2,171</strong></td>
<td>20.2 / 39.7 / 59.8 / <strong>79.2 s</strong></td>
</tr>
</tbody>
</table>
<p dir="auto">Prefill 受算力限制，一个请求就已经把卡跑满，所以并发不会提高总 prefill 速度：多个长提示是一个接一个读的，排在后面的请求要等前面的读完。解码不一样，多个请求共用同一次权重读取，所以并发解码的总吞吐会明显上升（见上表 515 tok/s）。</p>
]]></description><link>https://lcz.me/topic/2408</link><generator>RSS for Node</generator><lastBuildDate>Fri, 23 Oct 2026 01:18:23 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/2408.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Oct 2026 07:54:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Thu, 22 Oct 2026 23:55:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/wml-ai" aria-label="Profile: wml-ai">@<bdi>wml-ai</bdi></a><br />
对啊，27b干一些小活脚本之类的还是很不错的，到flash next就是真的可以放心做很多事情了，肉眼可见的提升！<br />
我的pt账户好久不登录，然后被封了。昨天让flash next给我手搓了一个，嗯，当然不是从零开始，而是说它给我配置了各种docker compose，还有一个集成的操作的界面之类的。吭哧吭哧干了几个小时，虽然最后还是不能用，但是整个流程是跑下来跑通了一点问题没有。不能用，是因为现在已经公网的BT种子已经几乎绝迹了，这个是大环境的问题，不是他模型能力的问题。</p>
]]></description><link>https://lcz.me/post/26842</link><guid isPermaLink="true">https://lcz.me/post/26842</guid><dc:creator><![CDATA[fcme]]></dc:creator><pubDate>Thu, 22 Oct 2026 23:55:21 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Thu, 22 Oct 2026 12:33:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/fcme" aria-label="Profile: fcme">@<bdi>fcme</bdi></a><br />
这些天用起来，感觉Strata真稳，配合radiance给子代理，感觉本地模型真是有生产力了。都不舍得占用显卡打游戏了。</p>
]]></description><link>https://lcz.me/post/26739</link><guid isPermaLink="true">https://lcz.me/post/26739</guid><dc:creator><![CDATA[wml-ai]]></dc:creator><pubDate>Thu, 22 Oct 2026 12:33:26 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Wed, 21 Oct 2026 12:45:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/applejuice" aria-label="Profile: applejuice">@<bdi>applejuice</bdi></a><br />
单流来说paiton是最快的，没有并发的需求的话，这个目前是最好用的3bit方案。<br />
但凡有两个agent或者说有并发需求的话就是radiance好点，有并发的时候速度有加成，而且至少来讲不会卡死。paiton就不行。</p>
]]></description><link>https://lcz.me/post/26524</link><guid isPermaLink="true">https://lcz.me/post/26524</guid><dc:creator><![CDATA[fcme]]></dc:creator><pubDate>Wed, 21 Oct 2026 12:45:30 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Wed, 21 Oct 2026 12:43:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/wml-ai" aria-label="Profile: wml-ai">@<bdi>wml-ai</bdi></a><br />
机智， 本地AI就应该是干活主力。</p>
]]></description><link>https://lcz.me/post/26521</link><guid isPermaLink="true">https://lcz.me/post/26521</guid><dc:creator><![CDATA[fcme]]></dc:creator><pubDate>Wed, 21 Oct 2026 12:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Wed, 21 Oct 2026 12:42:23 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/applejuice" aria-label="Profile: applejuice">@<bdi>applejuice</bdi></a> <a href="/post/26503">说</a>:</p>
<p dir="auto">其实我觉得paiton 不是最好的选择<br />
除非多人一起用<br />
不然个人使用 radiance 比较好</p>
</blockquote>
<p dir="auto">现在是这么用：<br />
1、接入dsh，Strata+QFN-Q4_K_XL做主模型，radiance-100k给子代理用，进行专业文档处理。<br />
2、VS Code里用Codex插件做规划/审核，Claude Code插件接入Strata+QFN-Q4_K_XL进行网页开发。<br />
跑了两天，目前感觉还行。</p>
]]></description><link>https://lcz.me/post/26520</link><guid isPermaLink="true">https://lcz.me/post/26520</guid><dc:creator><![CDATA[wml-ai]]></dc:creator><pubDate>Wed, 21 Oct 2026 12:42:23 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Wed, 21 Oct 2026 11:38:53 GMT]]></title><description><![CDATA[<p dir="auto">其实我觉得paiton 不是最好的选择<br />
除非多人一起用<br />
不然个人使用 radiance 比较好</p>
]]></description><link>https://lcz.me/post/26503</link><guid isPermaLink="true">https://lcz.me/post/26503</guid><dc:creator><![CDATA[applejuice]]></dc:creator><pubDate>Wed, 21 Oct 2026 11:38:53 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Wed, 21 Oct 2026 09:52:06 GMT]]></title><description><![CDATA[<p dir="auto"><strong>正好前两天也在R9700 32G上部署了Radiance，简要汇报一下。</strong></p>
<h1>Radiance · Qwen3.8-27B MXFP4 单卡部署报告（R9700）</h1>
<blockquote>
<p dir="auto">部署日期：2026-10-19 · 主机：<code>telloai@100.79.66.47</code>（Ubuntu，kernel 7.0.0-31）<br />
硬件：Ryzen 7 9700X / 123 GB DDR5 / RTX PRO 5000 48G + <strong>R9700 32G</strong>（gfx1201）<br />
目标：在 R9700 上用 radiance 跑 Qwen3.8-27B MXFP4，4 并发，替换/对比 paiton-65k</p>
</blockquote>
<hr />
<h2>1. 用 Docker（ROCm 7.2 的问题）</h2>
<p dir="auto">宿主机装的是 <strong>ROCm 7.2.4</strong>，但 radiance 镜像自带 ROCm 10.1 userspace，<strong>主机 ROCm 版本不参与</strong>：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>层</th>
<th>谁提供</th>
<th>本机</th>
</tr>
</thead>
<tbody>
<tr>
<td>内核 <code>amdgpu</code> / KFD</td>
<td>宿主机内核</td>
<td>7.0.0-31，支持 ROCm 10.x</td>
</tr>
<tr>
<td>ROCm userspace / HIP</td>
<td>容器镜像</td>
<td>10.1（镜像内）</td>
</tr>
</tbody>
</table>
<p dir="auto">验证：</p>
<ul>
<li>paiton 的 ROCm 10.0 容器已在本机跑通（225.5 tok/s），说明内核支持 10.x；</li>
<li>radiance 镜像拉起后输出 <code>I device: AQL backend, 1 device(s) [0:gfx1201]</code>；</li>
<li>R9700 的 BAR0 = 32G（ReBAR 已开），<code>cwsr_enable=1</code>，<code>/data</code> 为 ext4。</li>
</ul>
<hr />
<h2>2. 部署物</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项</th>
<th>路径 / 值</th>
</tr>
</thead>
<tbody>
<tr>
<td>镜像</td>
<td><code>stilldeadcode/radiance:latest</code>（582 MB，radiance 1.8.1）</td>
</tr>
<tr>
<td>模型</td>
<td><code>/data/ai/models/radiance/qwen3.8-27b-mxfp4.rad</code>（18.05 GiB）</td>
</tr>
<tr>
<td>模型 sha256</td>
<td><code>a4908940c568f5f9dd24e88f46aefe9ac2ae07dfec023a2eaa1d14dcaa3df4f8</code>（已校验）</td>
</tr>
<tr>
<td>模型名</td>
<td><code>Qwen3.8</code></td>
</tr>
</tbody>
</table>
<p dir="auto">启动参数（日常档）：</p>
<pre><code>--model /models/qwen3.8-27b-mxfp4.rad
--host 127.0.0.1 --port 18982
--served-model-name Qwen3.8
--tp 1
--max-num-seqs 4
--max-model-len 200000
--kv-cache-dtype fp8
--max-num-batched-tokens 4096
--num-speculative-tokens 7
--prefix-cache-mib 8192
--reasoning-effort none
--gpu-headroom-mib 160
</code></pre>
<hr />
<h2>3. 启动报告（实际值，非估算）</h2>
<pre><code>card total          31.86 GiB
already held       226.59 MiB
activation arena     1.50 GiB
step staging       135.74 MiB
hardware queues     66.73 MiB
--gpu-headroom-mib 160.00 MiB
claimable           29.77 GiB
static weights      15.70 GiB   (vision 879 MiB 在 VRAM，embedding 2.37 GiB 去 host)
elastic             14.07 GiB
  kv cache          14.07 GiB   = 418,976 tokens = 2.1 × 200,000
                    其中 1.16 GiB 是 per-sequence linear state
</code></pre>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>资源</th>
<th>实测</th>
</tr>
</thead>
<tbody>
<tr>
<td>VRAM 占用</td>
<td><strong>31.68 / 31.86 GiB（99.5%）</strong>，空闲 ~177 MiB</td>
</tr>
<tr>
<td>主机 RAM（radiance pin）</td>
<td><strong>17.27 GiB</strong> = embedding 2.37 + prefix paged KV 8 + linear checkpoints 5.99 + staging</td>
</tr>
<tr>
<td>系统 available</td>
<td>部署前 61 GiB → 部署后 <strong>48 GiB</strong>（Strata 仍占 ~98 GB RSS）</td>
</tr>
<tr>
<td>进程</td>
<td>1 个容器，16 threads</td>
</tr>
<tr>
<td>启动耗时</td>
<td>约 15 秒（18 GB 从 NVMe 以 ~4 GB/s 读入）</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>关键结论：KV 池按 <code>--max-num-seqs × --max-model-len</code> 封顶。</strong> 三个档位：</p>
<ul>
<li><code>radiance-100k</code>：4 seats × 100K = <strong>400,000 token</strong>，100% backing（当前运行档）</li>
<li><code>radiance-200k</code>：1 seat × 200K = <strong>200,000 token</strong>，100% backing（单条超长会话）</li>
<li>旧的 4 seats × 200K：<strong>418,976 token</strong>，53% backing（一条 200K 会话 + 余量）</li>
</ul>
<hr />
<h2>4. 实测性能（本机，240 W 功耗墙）</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>测试</th>
<th>结果</th>
</tr>
</thead>
<tbody>
<tr>
<td>单流 code 768 tokens（Go LRU）</td>
<td>TTFT 0.04 s，<strong>132.1 tok/s</strong>，5.85 s</td>
</tr>
<tr>
<td>单流短回复 208 tokens</td>
<td>179 tok/s，1.21 s</td>
</tr>
<tr>
<td><strong>4 并发 × 512 tokens</strong></td>
<td>每条 116.4 tok/s，<strong>合计 465.6 tok/s</strong>，4.47 s</td>
</tr>
<tr>
<td>16K prompt prefill</td>
<td>TTFT 5.23 s，<strong>2,924 tok/s</strong></td>
</tr>
<tr>
<td>16K prompt decode</td>
<td>102.4 tok/s（32 tokens，样本短）</td>
</tr>
<tr>
<td>thinking</td>
<td><code>reason=0</code>，默认关闭</td>
</tr>
</tbody>
</table>
<blockquote>
<p dir="auto">口径说明：paiton 记录的 225.5 tok/s 是“英文 code、纯 decode”；本次 132.1 是 768 token 端到端 decode，prompt 内容不同。<strong>必须用同一批 prompt 做 A/B 才能定论。</strong></p>
</blockquote>
<hr />
<h3>4.1 同 harness 基准（<code>/data/ai/radiance/bench_ab.py</code>，prose 输出 256 token）</h3>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>输入形状</th>
<th>TTFT</th>
<th>prefill</th>
<th>decode</th>
</tr>
</thead>
<tbody>
<tr>
<td>64</td>
<td>0.043 s</td>
<td>—</td>
<td>91.1 tok/s</td>
</tr>
<tr>
<td>4K</td>
<td>1.38 s</td>
<td>2,909 tok/s</td>
<td>81.4 tok/s</td>
</tr>
<tr>
<td>16K</td>
<td>5.53 s</td>
<td>2,852 tok/s</td>
<td>78.3 tok/s</td>
</tr>
<tr>
<td>32K</td>
<td>11.96 s</td>
<td>2,629 tok/s</td>
<td>72.3 tok/s</td>
</tr>
</tbody>
</table>
<ul>
<li>这组 prompt 输出是 prose（RAID 风险分析），DFlash2 接受率低，所以 78–91；换成 code prompt（Go LRU）是 132 tok/s，官方对应 prose 77 / code 164。</li>
<li>4 并发短 prompt（37-token prompt，4×512 token）decode 聚合 <strong>465 tok/s</strong>（每条 116）。</li>
<li>4×16K 长 prompt 端到端 27.4 s、1,024 token，是 <strong>prefill 主导</strong>（约 64K prompt token），不能当 decode 聚合看。</li>
</ul>
<h2>5. A/B 结果：radiance vs paiton-65k（2026-10-19，同一脚本）</h2>
<p dir="auto">同一 <code>/data/ai/radiance/bench_ab.py</code>，同一批 prompt（nonce 防缓存、<code>cached_tokens==0</code>），<br />
prose 输出 256 token，3 次取中位数；paiton 侧带 <code>chat_template_kwargs.enable_thinking=false</code>。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>形状</th>
<th>Radiance TTFT / prefill / decode</th>
<th>Paiton TTFT / prefill / decode</th>
</tr>
</thead>
<tbody>
<tr>
<td>64</td>
<td>0.043 s / — / <strong>91.1</strong></td>
<td>0.086 s / — / <strong>43.0</strong></td>
</tr>
<tr>
<td>4K</td>
<td>1.38 s / 2,909 / <strong>81.4</strong></td>
<td>1.14 s / <strong>3,533</strong> / 38.3</td>
</tr>
<tr>
<td>16K</td>
<td>5.53 s / 2,852 / <strong>78.3</strong></td>
<td>4.58 s / <strong>3,443</strong> / 34.6</td>
</tr>
<tr>
<td>32K</td>
<td>11.96 s / 2,629 / <strong>72.3</strong></td>
<td>9.69 s / <strong>3,246</strong> / 36.6</td>
</tr>
<tr>
<td>4×16K 端到端</td>
<td>27.4 s / 37.4 聚合</td>
<td>26.3 s / 38.9 聚合</td>
</tr>
<tr>
<td>code 768 tokens</td>
<td><strong>132.1 tok/s</strong></td>
<td>65.3 tok/s</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>结论（以当前安装为准）</strong>：</p>
<ul>
<li><strong>decode：radiance 快约 2.0–2.3×</strong>（prose 72–91 vs 34–43；code 132 vs 65）。</li>
<li><strong>prefill：paiton 快约 1.21–1.23×</strong>（3.2–3.5K vs 2.6–2.9K tok/s）。</li>
<li>4 条 16K 长 prompt 同时跑时，端到端几乎打平（prefill 主导）。</li>
</ul>
<p dir="auto"><strong>重要保留</strong>：paiton 启动日志出现</p>
<pre><code>[radiance.w4]  no w4a16 gemm_nt kernel in this r4d build, disabled
[radiance.gemm] no gemm_nt kernel for M&lt;=64 bf16, disabled
</code></pre>
<p dir="auto">这两个 kernel 被禁用；且 paiton 记录里的 225.5 tok/s（英文 code、decode-only）远高于这次的 65.3。<br />
所以 <strong>paiton 当前这版可能不是它的最佳状态</strong>（镜像/内核覆盖有回退），2× 的 decode 差距里有多少是<br />
引擎差异、有多少是这版 kernel 缺失，需要修好 paiton 镜像后再复测才能定论。</p>
<p dir="auto">在修好之前，按“当前可用的配置”选型：<strong>radiance 在 decode 和上下文容量（418,976 token vs 174,634）上占优，paiton 只在 prefill 上快约 20%</strong>。</p>
]]></description><link>https://lcz.me/post/26485</link><guid isPermaLink="true">https://lcz.me/post/26485</guid><dc:creator><![CDATA[wml-ai]]></dc:creator><pubDate>Wed, 21 Oct 2026 09:52:06 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Mon, 19 Oct 2026 14:37:49 GMT]]></title><description><![CDATA[<p dir="auto"><strong>同卡（单张 R9700 32G）来交个作业：radiance 分支，Qwen3.8-27B MXFP4 + DFlash2，附全量实测数据</strong></p>
<p dir="auto">看到这帖正好对上我们的配置，把这两个月踩出来的数据摆出来，也给还在折腾 radiance 的人一点参照。</p>
<h2>一、硬件</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项</th>
<th>配置</th>
</tr>
</thead>
<tbody>
<tr>
<td>显卡</td>
<td>单张 R9700 32G（RDNA4，gfx1201，ReBAR 开）</td>
</tr>
<tr>
<td>功耗墙</td>
<td><strong>240 W</strong>（见下面的取舍实验）</td>
</tr>
<tr>
<td>CPU</td>
<td>Intel i5-13600K，20 线程</td>
</tr>
<tr>
<td>内存</td>
<td>32 GB DDR4</td>
</tr>
<tr>
<td>系统</td>
<td>Ubuntu，内核 7.0.0-38-generic</td>
</tr>
<tr>
<td>ROCm</td>
<td><strong>主机没装 ROCm 用户态</strong>，只有内核自带 amdgpu + /dev/kfd，全部靠镜像内 ROCm 7.14</td>
</tr>
</tbody>
</table>
<h2>二、软件栈</h2>
<pre><code>镜像    magiccodingman/vllm-radiance:1.0.394
        vLLM 0.30.0 / torch 2.12.0+rocm7.14 / hip 7.14.60850 / libr4d 0.5.0（20 kernels，13/13 queries）
主模型  amd/Qwen3.8-27B-Quark-AWQ-MXFP4        19.03 GiB
草稿    tcclaviger/Qwen3.8-27B-DFlash2-FP8      2.12 GB，spec=7，probabilistic
</code></pre>
<p dir="auto">关键环境（就是 <a href="http://common.sh" rel="nofollow ugc">common.sh</a> 那套，加上投机解码栈）：</p>
<pre><code>RADIANCE_FAST_DRAFT=1        # int2 draft head + exact rerank
RADIANCE_DRAFT_RERANK=80     # 不是 64：VERIFY_HEAD 需要 4×top_k(20) 和 4×selector_top_k(16)
RADIANCE_VERIFY_HEAD=1       # int2 target verify head
RADIANCE_GDN_FUSED_UPDATE=1  R4D_ATTN_FP8=3  RADIANCE_DYNAMIC_WIDTH=1
</code></pre>
<h2>三、性能（全部本机实测，同机同权重）</h2>
<p dir="auto"><strong>decode（单流，320 token 输出，三次取中位）</strong></p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>内容</th>
<th>ms/step</th>
<th>decode</th>
<th>接受率</th>
<th>tok/step</th>
</tr>
</thead>
<tbody>
<tr>
<td>写代码</td>
<td><strong>37.5</strong></td>
<td><strong>96.4 tok/s</strong></td>
<td>37.8%</td>
<td>3.64</td>
</tr>
<tr>
<td>中文散文</td>
<td>37.3</td>
<td>49.4 tok/s</td>
<td>12.1%</td>
<td>1.85</td>
</tr>
<tr>
<td>纯 dense（SPEC=0）</td>
<td>31.5</td>
<td>31–32 tok/s</td>
<td>—</td>
<td>1.00</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>TTFT / prefill</strong></p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>场景</th>
<th>结果</th>
</tr>
</thead>
<tbody>
<tr>
<td>短问题 TTFT p50</td>
<td><strong>94 ms</strong>（仅 1 个 token 的 prompt 也要 110 ms）</td>
</tr>
<tr>
<td>2K prompt</td>
<td>903 ms → 2,182 tok/s</td>
</tr>
<tr>
<td>8K prompt</td>
<td>3,118 ms → 2,456 tok/s</td>
</tr>
<tr>
<td>40K prompt</td>
<td>17.6 s → 2,281 tok/s</td>
</tr>
<tr>
<td>50K prompt</td>
<td>22.3 s → 2,232 tok/s</td>
</tr>
<tr>
<td>157K prompt</td>
<td>94.5 s → 1,660 tok/s（衰减 26%）</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>两个反直觉的数</strong></p>
<ol>
<li><strong>接受率单次抖动极大，ms/step 才是稳定指标。</strong> 同一配置、同一道代码题连打三次：接受率 28.0% / 34.2% / 33.2%，decode 66.7 / 76.8 / 74.9 tok/s——但 ms/step 是 43.6 / 43.8 / 43.8，纹丝不动。所以别用单次 tok/s 比配置，会被接受率带走 15%。</li>
<li><strong>功耗墙降下去不值。</strong> 240 W → 210 W：ms/step 44.1 → 44.3（无变化），2K prefill 2,182 → 2,040（−6%）。我们的卡 300 W 会 108–111℃ 硬关机，所以最终停在 240 W。</li>
</ol>
<h2>四、上下文与并发的取舍（32G 显存的真实账）</h2>
<p dir="auto">权重 19.03 GiB + 图捕获 ~0.6 GB，<strong>留给 KV 只有 9 GB</strong>，单价 36.5–39.8 KiB/token（fp8 KV + fp16 GDN 状态）：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>并发</th>
<th>max_model_len</th>
<th>KV 池</th>
<th>KV 并发</th>
</tr>
</thead>
<tbody>
<tr>
<td>8</td>
<td>65,536</td>
<td>140,036</td>
<td>2.14×</td>
</tr>
<tr>
<td>2</td>
<td>112,640</td>
<td>221,029</td>
<td>1.96×</td>
</tr>
<tr>
<td>2</td>
<td>131,072</td>
<td>227,191</td>
<td>1.73×（不够两条全长）</td>
</tr>
<tr>
<td><strong>1</strong></td>
<td><strong>245,000</strong></td>
<td><strong>246,580</strong></td>
<td><strong>1.01×</strong></td>
</tr>
</tbody>
</table>
<p dir="auto">所以 <strong>2 并发 × 128K 在单卡 32G 上做不到</strong>（要 262,144 tokens ≈ 10.4 GB KV）。</p>
<p dir="auto">看到你的 <strong>KV 池 401,454 tokens / 单请求 204,800</strong>，比我们多出 60%——你应该就是靠 <code>RADIANCE_LMHEAD_INT4=1</code> + <code>RADIANCE_EMBED_BITS=4</code> 把权重压下去的。这是我们下一步要试的：<strong>1.0.394 里这两个开关有效吗？还是必须 1.5.x？</strong></p>
<h2>五、踩过的坑（同卡的人可以直接避）</h2>
<ol>
<li><strong><code>radiance_verifyhead.py</code> 第 97 行会申请 2.37 GiB 临时显存</strong>（<code>w.data.abs().max()</code> 对 lm_head 全量拷贝）。单卡必 OOM，而且报错的 2.37 GiB 跟 KV 大小、batch、图模式全都无关，很容易误判成 KV 不够。改成分块 4096 行求 max，峰值掉到 ~40 MB 就能起。</li>
<li><strong><code>expandable_segments:True</code> 在 ROCm + Triton 上必挂</strong>：<code>Memory access fault ... triton_per_fused__to_copy</code>。别开。</li>
<li><strong><code>--max-num-seqs 1</code> 时 <code>compile_sizes</code> 必须传空数组</strong>，否则静态形状编译直接断言失败：<br />
<code>AssertionError: Expected exactly one compiled range_entry for static shape compilation, but found N</code>（N = len(compile_sizes)+1）。我们试了 [1]、[1,2,4] 都是这个错，传 <code>[]</code> + <code>cudagraph_capture_sizes=[1,8]</code> 才过。</li>
<li><strong>自建 libr4d 是降级，不要碰</strong>：拉 codeberg 的 b9e42ab（0.4.0）打 rx10 patch，能编出 22 个 kernel、包含那些 fused/narrow-state 的私货，但 radiance 只解析 <strong>10/13 queries</strong>（镜像自带的 0.5.0 是 13/13）。而且 rx10 patch 对 main(0.5.0) 打不上。</li>
<li><strong>fused GDN 不值得追</strong>：源码注释自己写着 "in the serve the fused step measured -0.4% … single-stream unchanged"，而且它硬性要求 fp32 ssm state（会砍掉一半 KV 池）。我们实测 fp32 state：ms/step 44.2 vs fp16 的 43.8，没差。</li>
<li><strong><code>FAST_DRAFT=0</code> 是错的方向</strong>：我们一开始照旧警告关掉了它，结果 ms/step 43.8、decode 79；打开 <code>FAST_DRAFT=1 + RERANK=80 + VERIFY_HEAD=1</code> 之后 <strong>37.5 ms / 96.4 tok/s（+22%）</strong>。dflash 分支默认就该是 1。</li>
</ol>
<h2>六、和 GGZ14 单卡基准的对照</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>指标</th>
<th>我们</th>
<th>GGZ14 TP=1</th>
</tr>
</thead>
<tbody>
<tr>
<td>TTFT p50</td>
<td>94 ms</td>
<td>95 ms</td>
</tr>
<tr>
<td>ms/step</td>
<td>37.5 ms</td>
<td>35.7 ms</td>
</tr>
<tr>
<td>decode（代码）</td>
<td>96.4 tok/s</td>
<td>launcher 注释实测 96.4–101.3</td>
</tr>
<tr>
<td>prefill 2K</td>
<td>2,258 tok/s</td>
<td>2,737（210W）</td>
</tr>
</tbody>
</table>
<p dir="auto">TTFT 和 decode 基本打平，step 差 5%，prefill 差 20%。</p>
<p dir="auto">顺便说一句：README 里 TP=1 表的 145.2 tok/s（代码）跟他们自己 launcher 注释里的 96.4–101.3 对不上，怀疑是 bench 口径不同（短输出把 prefill 摊进去了？）。<strong>建议复现时以 ms/step 和 acc/draft 为准，别拿 t/s 直接比。</strong></p>
<h2>七、想请教的两个问题</h2>
<ol>
<li><strong>Cactus</strong>：1.0.394 里有 <code>RADIANCE_CACTUS_DELTA</code> 吗？我们日志里没见过，看到你那边 1.5.1 默认开了，代码类 acc 从 6.21 提到 6.39，这个对我们吸引很大。</li>
<li><strong>lm_head int4 + embed 4bit</strong>：实际省了多少显存、对输出质量有没有可测的影响？如果能把 KV 从 246K 推到 400K，那 2 并发 × 128K 就成立了。</li>
</ol>
<p dir="auto">那个「连续跑久了 decode 减半、重启恢复」的问题我们也遇到过类似现象（不过我们多是短会话，重启后 3–5 分钟冷启动里 <code>http=000</code> 也容易误判成挂掉）——你贴的 TheRock issue 我记下了，下次复现前先确认 uptime。</p>
]]></description><link>https://lcz.me/post/26002</link><guid isPermaLink="true">https://lcz.me/post/26002</guid><dc:creator><![CDATA[Heinlich-SS]]></dc:creator><pubDate>Mon, 19 Oct 2026 14:37:49 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Sun, 18 Oct 2026 13:38:43 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a href="/user/applejuice">@applejuice</a> <a href="/post/25809">说</a>:<br />
<a href="/user/paul-hou">@paul-hou</a> 220k 是不是纯文字？</p>
</blockquote>
<p dir="auto">把vision放在cpu上運算了，沒佔vram。<br />
sly也是一樣放cpu，所以可以有接近500k的上下文可用。</p>
]]></description><link>https://lcz.me/post/25812</link><guid isPermaLink="true">https://lcz.me/post/25812</guid><dc:creator><![CDATA[paul hou]]></dc:creator><pubDate>Sun, 18 Oct 2026 13:38:43 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Sun, 18 Oct 2026 13:30:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/paul-hou" aria-label="Profile: paul-hou">@<bdi>paul-hou</bdi></a>  220k 是不是纯文字？</p>
]]></description><link>https://lcz.me/post/25809</link><guid isPermaLink="true">https://lcz.me/post/25809</guid><dc:creator><![CDATA[applejuice]]></dc:creator><pubDate>Sun, 18 Oct 2026 13:30:54 GMT</pubDate></item><item><title><![CDATA[Reply to R9700 - vllm radiance 分支 on Sun, 18 Oct 2026 13:22:14 GMT]]></title><description><![CDATA[<p dir="auto">我也試了sly的kv4，比paiton的3bit+kv4更容易出現無限思考。<br />
試過這麼多版後，sly的mxfp fp8是速度和品質比較好的版本，上下文還可以有 262144 * 1.6的數量，二併發是沒問題的。<br />
paiton的缺點是上下文短了點，是限在220000而已，自己頂多調整到230400左右。</p>
]]></description><link>https://lcz.me/post/25807</link><guid isPermaLink="true">https://lcz.me/post/25807</guid><dc:creator><![CDATA[paul hou]]></dc:creator><pubDate>Sun, 18 Oct 2026 13:22:14 GMT</pubDate></item></channel></rss>