<?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[# 64G 内存刀尖上的 IQ3_S：「少想一会」的 Swift 1.5 双档重测，245K 还有 170 t/s]]></title><description><![CDATA[<h1>64G 内存刀尖上的 IQ3_S：「少想一会」的 Swift 1.5 双档重测，245K 还有 170 t/s</h1>
<p dir="auto">前几天那篇 IQ3_S 的帖子之后，我把它删了。原因在 512K 那篇里也写过：内存贴着上限，跑 agent 长任务心里没底，留 IQ2_XS 一档反而踏实。</p>
<p dir="auto">这两天翻 Strata 的模型文档，看到一个 Swift 1.5——UkisAI 的微调版，跟原版同一个架构、同样的速度和内存，卖点是「思考的 token 更少、质量差不多」，作者自己推荐 IQ2_XS。我拿本地模型主要是跑 agent，一轮对话里思考占掉的时间不少，看到「少想」这两个字就有点兴趣。</p>
<p dir="auto">于是把两档都重新下了一遍，IQ2_XS 68G、IQ3_S 84G，做成互斥双档，一条命令切换。顺手把 IQ3_S 重新量了一次：上次那组数是十月下旬的，模型和引擎都换过代了，再拿来当基线不合适。</p>
<p dir="auto">先说结果：七档跑下来 154 到 179 t/s，245K 深度还有 170，全程没崩，口令召回七档全中，质量题四次采样全对。数字全附测法，欢迎拿你的卡来复现打脸。</p>
<h2>环境</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项</th>
<th>值</th>
</tr>
</thead>
<tbody>
<tr>
<td>GPU</td>
<td>NVIDIA RTX PRO 4500 Blackwell 32 GB（驱动 595.99.02，PCIe 4.0 x16）</td>
</tr>
<tr>
<td>CPU</td>
<td>AMD Ryzen 7 3700X，8 核 16 线程</td>
</tr>
<tr>
<td>主板</td>
<td>Gigabyte X570 GAMING X</td>
</tr>
<tr>
<td>内存</td>
<td>64 GB 物理（MemTotal 60.7 GiB，面板取整显示 61 GB）</td>
</tr>
<tr>
<td>磁盘</td>
<td>模型放 Samsung 970 PRO 1TB NVMe</td>
</tr>
<tr>
<td>系统</td>
<td>Ubuntu 26.04.1</td>
</tr>
<tr>
<td>引擎</td>
<td>Strata 0.2.6 / engine 0.1.55</td>
</tr>
<tr>
<td>模型</td>
<td>Swift 1.5 Qwen3.8-Flash-Next IQ3_S（125B MoE）</td>
</tr>
<tr>
<td>上下文</td>
<td>262,144</td>
</tr>
<tr>
<td>专家缓存</td>
<td>10,612 个 / 20.1 GiB（整卡 32 GB）</td>
</tr>
</tbody>
</table>
<p dir="auto"><img src="https://upload.lcz.me/uploads/4e35a436-4824-4713-9037-09a55b1a3b0e.png" alt="01-about.png" class="img-markdown  img-fluid" /></p>
<p dir="auto">专家槽比上次估计的 IQ3_S 数字少了一千多个。不是我记错，是包换了：Swift 版专家包最大的一个 2.66MB，同样 20 GB 显存装得下的槽数自然少些。槽少不等于命中率差，下面各档命中去到 99% 往上。</p>
<h2>配置</h2>
<p dir="auto">IQ3_S 这档按原生的 262K 开，没上 yarn。内存本来就不宽裕，先把稳的跑住。</p>
<pre><code class="language-bash">--max-context 262144
--kv int8
--vram-reserve-mib 700     # 上次日志里报过 VRAM 只剩 510 MiB，这次留出余量
--spec 4 --spec-min-p 0.5
--mtp ~/.models/strata-data/mtp/rt
</code></pre>
<p dir="auto">两档共用 8080，互斥启动：1 是 IQ2_XS（512K 加 yarn、68G 模型、冷启三十来秒），2 是 IQ3_S（256K、84G、四十来秒）。切换脚本一敲，停一个起一个，agent 那边换个模型名就行。</p>
<p dir="auto">IQ3_S 的内存账：模型两个文件一共 83.7G，其中专家那块 46.84G 是启动时整个读进内存的（日志里写的是 read through the file cache），查表那部分按需从硬盘走，不进内存。显存这边，专家缓存 10,612 个槽吃掉 20.1 GiB，KV 是 int8 全在显存，最后只剩 649 MiB 的余量。</p>
<h2>实测</h2>
<p dir="auto">每档一个请求：先在九成深度埋一条口令，让它原样复述，再列 200 个城市名。一次 prefill 同时测召回和吐字，速度只认引擎自己的 timings，不数客户端的分片。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th style="text-align:right">深度（prompt）</th>
<th style="text-align:right">prefill t/s</th>
<th style="text-align:right">decode t/s</th>
<th style="text-align:center">召回</th>
<th style="text-align:right">草稿接受</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right">4,134</td>
<td style="text-align:right">2,838</td>
<td style="text-align:right">153.9</td>
<td style="text-align:center">✓</td>
<td style="text-align:right">85.7%</td>
</tr>
<tr>
<td style="text-align:right">8,155</td>
<td style="text-align:right">3,565</td>
<td style="text-align:right">162.6</td>
<td style="text-align:center">✓</td>
<td style="text-align:right">79.8%</td>
</tr>
<tr>
<td style="text-align:right">32,342</td>
<td style="text-align:right">3,921</td>
<td style="text-align:right">173.0</td>
<td style="text-align:center">✓</td>
<td style="text-align:right">82.1%</td>
</tr>
<tr>
<td style="text-align:right">64,573</td>
<td style="text-align:right">3,865</td>
<td style="text-align:right"><strong>178.8</strong></td>
<td style="text-align:center">✓</td>
<td style="text-align:right">83.6%</td>
</tr>
<tr>
<td style="text-align:right">129,095</td>
<td style="text-align:right">3,757</td>
<td style="text-align:right">161.3</td>
<td style="text-align:center">✓</td>
<td style="text-align:right">84.9%</td>
</tr>
<tr>
<td style="text-align:right">201,655</td>
<td style="text-align:right">3,689</td>
<td style="text-align:right">173.0</td>
<td style="text-align:center">✓</td>
<td style="text-align:right">83.1%</td>
</tr>
<tr>
<td style="text-align:right">247,014</td>
<td style="text-align:right">3,559</td>
<td style="text-align:right">170.3</td>
<td style="text-align:center">✓</td>
<td style="text-align:right">83.3%</td>
</tr>
</tbody>
</table>
<p dir="auto"><img src="https://upload.lcz.me/uploads/3c9ba9fa-b75b-4bcb-bf1b-d96996b455c8.png" alt="02-monitor-requests.png" class="img-markdown  img-fluid" /></p>
<p dir="auto">截图里上面七行是速度档，下面四行是质量对照——思考开着、生成长一点，decode 反而只有 130 到 150，正常的。</p>
<p dir="auto">4K 那档 153.9 偏低，是冷启动后第一次解码，专家还在预热。往后从 8K 到 245K 基本平着走，最高 178.8 在 64K，245K 还有 170.3。中间不是单调的：128K 的 161.3 反而比 64K 低，这类波动主要是草稿接受率在抖（80% 和 85% 就差出来了），不是越深越慢。prefill 在 32K 到 64K 之间到顶，约 3.9K t/s，245K 时还有 3.5K。</p>
<p dir="auto">截图上那行汇总挺省事：从服务起来到这一刻的 26 个请求，读了 160 万 token，平均 prefill 3,587 t/s，写了 1.6 万 token，平均 143 t/s。</p>
<p dir="auto">同一个 245K 深度，上次我读到的是 155.4，这次 170.3，差 10%，但不是引擎变快了——上次那发只生成了 356 个 token，这次 827 个。生成窗口短，decode 会被逐 token 的固定开销和投机预热压下去，这个差别多半从这里来。两代数字我按不可比处理。</p>
<h2>质量对照</h2>
<p dir="auto">同一道四步算术题（一周出货多少箱 → 折成件数 → 分段打折 → 算总金额），分别塞进 12.9 万和 24.7 万 token 的文档里，各问两次：</p>
<ul>
<li>12.9 万：2/2 正确</li>
<li>24.7 万：2/2 正确</li>
<li>中间量和终值都对得上：700 箱 / 25,900 件 / 166,800 元</li>
</ul>
<p dir="auto">245K 还在模型原生的 256K 窗里，这一档不算外推。IQ2_XS 那边上 yarn 跑到 47 万的外推测试这次没做，两档的上下文上限本来就不一样。</p>
<h2>几个要注意的</h2>
<ul>
<li><strong>短生成会把 decode 读低</strong>：同一个引擎同一个模型，356 token 读 155.4，827 token 读 170.3。测速度得让模型多写点，至少三五百 token，不然测的是预热。</li>
<li><strong>测的时候 agent 别跑在同一个引擎上</strong>：serving 只有一路，我的对话一轮插进去，压测请求就得排队，wall 变长，专家缓存也被自己的会话搅一遍。这次先把自己切到云端模型再开测，面板从头到尾都是 idle。</li>
<li><strong>短提示的 prefill 不是上限</strong>：4K 那档只有 2,838，32K 才到 3,921。小 prompt 还吃着固定开销，拿它当引擎能力会低估一截。</li>
<li><strong>内存余量是真紧</strong>：系统面板 58.1/61 GB，MemAvailable 最低 3.3 GiB，swap 已经用了 3G。同时开 ComfyUI 或者一堆浏览器标签，这档就顶不住。多轮缓存也只有 1.5 GB（IQ2_XS 那边是 2.8 GB），聊几轮之后前面的上下文会被 park，下一轮得重新读。</li>
<li><strong>上次崩过的问题这次没复现，但不算解决</strong>：这次是纯压测，26 个请求零崩溃、服务没重启；跑几个小时的 agent 长任务，我还没试。</li>
<li><strong>内存紧这题论坛有现成方案我还没试</strong>：2189 那篇参数篇里的 <code>--resident-experts</code> 低内存模式，让显存和内存分工加载不同专家、不再重复占一份，据说能省几十 G 内存，代价是显存没命中时多一次回写。我这台 64G 跑 IQ3_S 正卡在这条线上，回头实测了来回帖。</li>
</ul>
<h2>日常使用</h2>
<p dir="auto">两档都留着，切换一句话的事。平时 IQ2_XS：512K 上下文、内存余量 9G 上下、多轮缓存宽裕；要动脑子写东西，或者一次把整份文档塞进去问清楚，就换 IQ3_S。质量档高四分（基准 93.26 对 89.16），代价是慢一点、上下文少一半。短上下文 IQ2_XS 快一截，到深上下文两边就接近了——不过两档我没在同一套流程下同时跑，速度对比只当参考。</p>
<p dir="auto">Swift 1.5 这个微调版，官方说思考更短、质量基本不变，我这次只跑了两轮问答（面板上 Thought 都是两秒出头），没做同题对照，不好下结论，先用着看。</p>
<p dir="auto">引擎版本提前交代一句：本帖全部数字是 Strata 0.2.6 / engine 0.1.55 跑的。论坛 2634 说 0.2.7.1 对 N 卡提升明显（路由器更倾向显存里已有的专家、少分页，12G 的 5070 跑 IQ3_S 平均都破 110 了），但 2496 楼里也有人报了新版死循环、掉速回滚的。我按老规矩先留基线再逐档升，升完实测了在评论区补数字。</p>
<h2>复现附录</h2>
<p dir="auto">IQ3_S 这档的完整启动参数（Strata Control 的 run config，路径是我自己的，抄的时候改成你的）：</p>
<pre><code class="language-text">--pack            ~/.models/strata-data/packs/swift-iq3_s
--native          ~/.models/strata-data/models/swift-IQ3_S/Swift-Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf
--ple-gguf        同上（PLE 查表用的就是首分片这个文件）
--expert-profile  /opt/Strata/data/expert-profile.bin
--expert-cache    auto
--prefill         auto
--spec            4
--spec-min-p      0.5
--mtp             ~/.models/strata-data/mtp/rt
--max-context     262144
--kv              int8
--vram-reserve-mib 700
</code></pre>
<p dir="auto">IQ2_XS 那档同一套，三处不同：pack 和模型换成 IQ2_XS 的，<code>--max-context 524288</code> 加 <code>--rope-scaling yarn --rope-scale 2</code>，再多一条 <code>--kv-resident 32768</code>——512K 的 KV 太大，只让最近 32K 常驻显存，其余流到内存。</p>
<p dir="auto">互斥双档是两把 systemd 用户服务（<code>strata-swift-iq2xs</code> / <code>strata-swift-iq3s</code>），共用 8080，谁起谁占。切档靠一个全局命令 <code>llm-switch</code>，核心就三步：停掉目标以外的全部服务 → 起目标 → 轮询 <code>/health</code> 等到 <code>"loaded": true</code> 才算就绪（上限 600 秒，冷启 30 到 57 秒属正常）。我的目标表里除了两档 Strata 还挂了 ComfyUI 和 TTS——32G 的卡同一时刻只让一家占满，所以它们全在一个互斥池里，加新服务就是往表里添一行。</p>
<pre><code class="language-bash">llm-switch          # 交互菜单，按数字选
llm-switch iq3_s    # 直接切
llm-switch stop     # 停掉所有推理服务
</code></pre>
<p dir="auto">脚本本体一百多行，一堆我自己的历史注释，不方便直接贴；评论区有人要的话我收拾个干净版发出来。</p>
<h2>本帖相关的好帖</h2>
<p dir="auto">写这篇时把论坛相关帖翻了一遍，直接相关的列在这，省得各位考古：</p>
<ul>
<li>2189《strata极致优化指南（参数篇）》——<code>--conversation-cache-mib</code> 缓存历史会话免重 prefill、<code>--expert-cache</code> 手动档位、<code>--resident-experts</code> 低内存模式，全套参数可直接抄</li>
<li>2578《strata优化个人总结》——4080S 32G + 128G 内存跑同款 Swift IQ3_S 的调优清单</li>
<li>2174《R9700 32G 两种量化对比》——4700+ 次调用实测 IQ3_S 对 UD-IQ4_XS，推理/代码/长上下文 3-bit 反而更强还更快，支持了我选 IQ3_S</li>
<li>2179《Strata计算器》——输入配置能估专家槽位，选量化档前丢进去算一遍</li>
</ul>
]]></description><link>https://lcz.me/topic/2767</link><generator>RSS for Node</generator><lastBuildDate>Tue, 10 Nov 2026 01:11:37 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/2767.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Nov 2026 07:57:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to # 64G 内存刀尖上的 IQ3_S：「少想一会」的 Swift 1.5 双档重测，245K 还有 170 t/s on Sun, 01 Nov 2026 10:20:47 GMT]]></title><description><![CDATA[<p dir="auto">有了KV stream，--kv-resident 32768， 这个可以省下来很多VRAM给专家槽，KV copy的速度对总体速度好像影响很小，我16G显存都能放心开256K上下文了.</p>
]]></description><link>https://lcz.me/post/30252</link><guid isPermaLink="true">https://lcz.me/post/30252</guid><dc:creator><![CDATA[Xiaoyong S]]></dc:creator><pubDate>Sun, 01 Nov 2026 10:20:47 GMT</pubDate></item></channel></rss>