<?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[Strata Qwen3.8-Flash-Next双小显存卡4070 + 3080实测：IQ3_XXS在128K上下文 2337 tok/s / 解码 ~75 tok/s]]></title><description><![CDATA[<h2>(0) 前言</h2>
<p dir="auto">最近本地AI的流行，让小弟我在这几个月也成为论坛潜水中的一员。看到大家使用各种大VRAM显卡跑得风生水起，很是羡慕<br />
刚好最近Strata架构让小VRAM GPU也能重获新生, 我手边也有额外的游戏显卡能玩玩LLM<br />
顺便浮出水面一下，让有类似硬件的坛友能参考这个配置下能跑出甚么速度<br />
文章中的 Tuning 流程是我和 codex 讨论了很久后设计的，大部分操作也是由 codex gpt 6.1 sol 通过 SSH 连接 Linux 自动执行的<br />
但这是我第一次调优LLM，我也不算懂行，所以如果想让 Agent 按照文中的 Tuning 流程设置，请先判断是否适合自己的机器</p>
<p dir="auto">本文目标放在IQ_S量化版本，128K上下文，除了在优化这个配置外，也额外延伸了几个探讨议题</p>
<p dir="auto"><em><strong>(1) 3080副卡有用吗？对prefill或decode速度加成多少？<br />
(2) 可以把功耗限制设到多低，并得到跟原本差不多的速度？<br />
(3) 不同量化版本，上下文，VRAM和RAM的使用量是多少？</strong></em></p>
<p dir="auto">每个人的情况可能不同，以我的情况来说，可以直接跳到第 (8) 节看看我的总结</p>
<p dir="auto">另外特别感谢前人发过的30, 40系列跑Strata的文章，因为有你们我才有勇气来搞这个项目跟添置一些硬件零件<br />
另外，我原先是使用繁体，考虑到论坛里的大陆坛友比较多，请AI帮忙把文章转成了简体，并调整为大陆常用的表达。如果还有不太自然的地方，还请见谅。</p>
<h2>(1) 环境介绍</h2>
<p dir="auto">硬件配置大多是由我现有游戏机零件组成，补了32gb的DDR4, 以及从我老婆那儿“抢”来了她的4070当主推理引擎：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>硬件</th>
<th>型号／规格</th>
</tr>
</thead>
<tbody>
<tr>
<td>CPU</td>
<td>Intel Core i7-13700K</td>
</tr>
<tr>
<td>主板</td>
<td>MSI MAG Z690 TOMAHAWK WIFI DDR4</td>
</tr>
<tr>
<td>内存</td>
<td>DDR4 16GB*4=64GB 3200MHz</td>
</tr>
<tr>
<td>显卡1</td>
<td>ASUS TUF RTX 4070，12GB显存</td>
</tr>
<tr>
<td>显卡2</td>
<td>EVGA RTX 3080 XC3，10GB显存</td>
</tr>
<tr>
<td>电源</td>
<td>1200W</td>
</tr>
</tbody>
</table>
<p dir="auto">4070位于CPU直连的PCIe 5.0 x16插槽 (实际只有4.0)，3080使用PCIe 3.0 x4连接。 后续调优以这个硬件固定为前提。<br />
这台主机的CPU、内存、显存与存储资源都专用于LLM后端。计划通过局域网内的其他设备使用 Web Chat 或 agent，让64GB内存和两张显卡的资源尽量留给模型<br />
本文的调优决策与命令发送也在另一台电脑使用codex ssh完成。</p>
<p dir="auto">软件环境如下：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项目</th>
<th>版本／配置</th>
</tr>
</thead>
<tbody>
<tr>
<td>操作系统</td>
<td>Ubuntu 24.04 LTS，原生Linux</td>
</tr>
<tr>
<td>NVIDIA驱动</td>
<td>595.91.07</td>
</tr>
<tr>
<td>Strata推理引擎</td>
<td>0.1.41</td>
</tr>
</tbody>
</table>
<p dir="auto">调优过程都沿用固定的Strata版本，测试期间不更新框架，以免版本变动影响比较。<br />
Strata近几版有针对Multi GPU提速，有跑多卡的坛友们记得赶快去更新一下</p>
<h2>(2) 目标模型和上下文窗口</h2>
<p dir="auto">实测前的主要目标如下：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>目标模型</th>
<th>上下文窗口</th>
<th>Vision</th>
</tr>
</thead>
<tbody>
<tr>
<td>Qwen3.8-Flash-Next IQ3_S</td>
<td>128K</td>
<td>ON</td>
</tr>
</tbody>
</table>
<p dir="auto">先以这个组合作为起点，完成单卡、双卡与参数调优，确认速度和64GB内存是否足以支撑使用需求。</p>
<p dir="auto">后续测试方向依速度与内存余量调整：</p>
<ul>
<li>若IQ3_S速度太慢，或内存余量不足，就往IQ3_XXS测试，确认换量化后能否改善速度与内存占用。</li>
<li>若速度与内存仍有余量，就往256K上下文窗口测试，确认更长文本输入是否能稳定完成，以及Prefill、Decode和功耗的变化。</li>
</ul>
<p dir="auto">结果先剧透了，IQ3_S能顺利开启256K上下文 + Vision，而且速度还不错</p>
<hr />
<blockquote>
<p dir="auto"><strong>AI线：以下文章内容的测试流程与结果整理由AI产生。不太习惯AI文风的坛友，可以先跳到 <a href="#8-%E6%88%91%E7%9A%84%E5%B0%8F%E6%80%BB%E7%BB%93">(8) 结论</a>。</strong></p>
</blockquote>
<hr />
<h2>(3) Benchmark方法</h2>
<p dir="auto">速度测试都是统一使用 <strong>Strata repository 收录的 community benchmark harness</strong>（<code>bench/results/2026-09-30-community-rtx-5090/benchmark.py</code>），由另一台电脑通过 SSH 发送命令，在 Linux 主机上调用本机 Strata API。整个测试串行执行，一次一个请求。</p>
<p dir="auto">输入使用 harness 的合成 Python 程序文本，固定模型、量化与输入内容，设置 <code>temperature=0</code>、<code>reasoning_effort=none</code>、流式输出，并固定生成 256 tokens。每轮记录 prefill、decode、TTFT 与总耗时，同时保存设置、原始 request／response、引擎 log，以及 GPU 和主机资源记录。</p>
<p dir="auto">以下表格的Prefill、Decode单位均为tok/s，TTFT单位为秒。</p>
<p dir="auto">研究流程分成几个阶段：</p>
<ol>
<li><strong>建立单卡、双卡基准</strong>：各测 4096、32768、128000 个输入 tokens，每个长度跑三次取中位数。先留下未校准起点，再比较加卡后的变化。</li>
<li><strong>搜索设置与功耗区间</strong>：后续每个候选跑一次相同的 128000-token 测试，逐阶段比较分层、trim、prefill、校准与 power limit。官方 calibration 有自己的内部测试流程，完成后再用这份长文本输入验证。</li>
<li><strong>验证最终配置</strong>：选定 K38 calibrated、双卡各150W后，再测32768、65536、128000个输入 tokens，各一次，确认不同长度下的速度与能耗。</li>
<li><strong>测试其他配置</strong>：沿用同一套测法和特殊config，另列模型与上下文矩阵, 测试其他配置下的速度和功耗<br />
每个测试配置先确认模型 ready，再预热；预热不列入成绩。正式请求核对实际输入与输出 token 数，并确认 <code>reused=0</code>。功耗扫描与最终验证每个条件都使用新启动的 backend，避免前一轮的 prompt cache 影响比较。</li>
</ol>
<h2>(4) 单卡 v.s. 双卡，加入3080是否必要</h2>
<p dir="auto">先留下未校准的单 4070 起点，再加入 3080，重新让 setup 配置双卡。初始比较维持两卡各自 80% 的功耗上限：4070 为 160W，双卡时另加 3080 的 272W。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>输入长度</th>
<th style="text-align:right">单4070 Prefill</th>
<th style="text-align:right">双卡 Prefill</th>
<th style="text-align:right">单4070 Decode</th>
<th style="text-align:right">双卡 Decode</th>
</tr>
</thead>
<tbody>
<tr>
<td>4096</td>
<td style="text-align:right">900</td>
<td style="text-align:right">848</td>
<td style="text-align:right">27.75</td>
<td style="text-align:right">35.17</td>
</tr>
<tr>
<td>32768</td>
<td style="text-align:right">1187</td>
<td style="text-align:right">1511</td>
<td style="text-align:right">28.10</td>
<td style="text-align:right">35.98</td>
</tr>
<tr>
<td>128000</td>
<td style="text-align:right">1205</td>
<td style="text-align:right">1691</td>
<td style="text-align:right">27.36</td>
<td style="text-align:right">35.63</td>
</tr>
</tbody>
</table>
<p dir="auto">在 128K，加入 3080 后，读取约快四成，生成约快三成；TTFT从 <strong>106.3 秒降到 75.8 秒</strong>。但 4K 的读取反而略慢。</p>
<p dir="auto">实测结论是：<strong>单 4070 可以跑；如果已经有 3080，又常读取长文档或希望答案生成快一点，值得一起用。</strong></p>
<h2>(5) Fine tune出最佳性能</h2>
<p dir="auto">这里的 Fine tune 是<strong>推理设置调优，没有重新训练模型权重</strong>。调优流程是先找分工，再调显存使用方式，最后校准；每一步都拿同一份长文本输入验证。</p>
<p dir="auto">每次进入下一阶段，都先保存上一阶段的设置，让新候选有明确对照，也能退回已验证的起点。没有改善的实验仍留下记录，避免下次又重走一次。这次最有用的经验，是先把「这轮要回答什么」缩小：分层时比较分工，校准时验证整组参数，降功耗时固定模型设置。这样结果才能累积成一套日常可用的配置。</p>
<h3>先分层，再把显存空间用好</h3>
<p dir="auto">K 是两卡的分层位置。模型有48层，K38代表4070跑前38层、3080跑后10层。不是把模型裁成38层，也不是K越大越快；分法会影响计算负担、缓存与读取缓冲空间。</p>
<p dir="auto">接着开启 <code>STRATA_STAGE_TRIM=1</code>：每张卡只载入自己负责层的 dense weights，省下显存给 expert cache，完整模型仍由两张卡执行。trim on 下共测了九个K，当时K38读取较快、K36生成较快，先保留两个候选。</p>
<p dir="auto">固定K36后，再测读取分块大小。<code>prefill auto</code> 实际选到8192，约1985 tok/s；改成1024、2048、4096，约剩371、697、1234 tok/s，生成却仍在45左右。因此保留auto。pipeline虽确实启用，这轮没有收益；split-own auto没有真正启用，也不把它当成有效加速结果。</p>
<h3>校准之后，再回到长文本输入验证</h3>
<p dir="auto">对K36、K38各自跑官方 calibration，找CPU／GPU expert分流、MTP草稿门槛与缓存更新设置，再各跑一次128K。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>候选</th>
<th style="text-align:right">校准前 Prefill</th>
<th style="text-align:right">校准后 Prefill</th>
<th style="text-align:right">校准前 Decode</th>
<th style="text-align:right">校准后 Decode</th>
</tr>
</thead>
<tbody>
<tr>
<td>K36＋trim on</td>
<td style="text-align:right">1985</td>
<td style="text-align:right">1985</td>
<td style="text-align:right">45.11</td>
<td style="text-align:right">57.63</td>
</tr>
<tr>
<td>K38＋trim on</td>
<td style="text-align:right">2280</td>
<td style="text-align:right">2275</td>
<td style="text-align:right">42.24</td>
<td style="text-align:right">58.86</td>
</tr>
</tbody>
</table>
<p dir="auto">K38的生成约快39%，读取几乎不变。校准后K38读取比K36快约15%，生成只领先约2%；两组都只验证一次，最后选K38作为本轮基准，不宣称它一定稳定胜出。</p>
<p dir="auto">这一步也改变了原先的候选排序。未校准时，K36比较适合重视生成速度的方向；校准后，K38在这次长文本输入验证两项都领先。因此，不把某一步的第一名当成永久答案：先留下候选，等后续设置完成，再用同样的工作负载回查。校准同时改了多个参数，这轮也没有把它们逐项拆开测，不能指定是哪一个参数带来全部提升。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>本轮采用设置</th>
<th>值与用途</th>
</tr>
</thead>
<tbody>
<tr>
<td>GPU顺序／<code>layer_split</code></td>
<td>4070 → 3080／<code>38</code></td>
</tr>
<tr>
<td><code>STRATA_STAGE_TRIM</code>／<code>--expert-cache</code></td>
<td><code>1</code>／<code>auto</code>，保留空间给专家缓存</td>
</tr>
<tr>
<td><code>--prefill</code></td>
<td><code>auto</code>，本轮实际8192</td>
</tr>
<tr>
<td>CPU workers</td>
<td>预设15，校准后保留</td>
</tr>
<tr>
<td><code>--pcie-frac</code></td>
<td><code>0.2</code>，未缓存experts送GPU的分流比例</td>
</tr>
<tr>
<td><code>--spec</code>／<code>--spec-min-p</code></td>
<td><code>4</code>／<code>0.7</code>，MTP草稿深度与门槛</td>
</tr>
<tr>
<td><code>--adapt-every</code>／<code>--adapt-swaps</code>／<code>--adapt-decay</code></td>
<td><code>1</code>／<code>160</code>／<code>0.97</code>，自适应缓存更新设置</td>
</tr>
<tr>
<td><code>--kv</code>／<code>--max-context</code></td>
<td><code>int8</code>／<code>131072</code></td>
</tr>
<tr>
<td>Vision</td>
<td>开启，放4070</td>
</tr>
</tbody>
</table>
<p dir="auto">从单卡约27到调好双卡约59 tok/s，是<strong>加卡、分层、trim与校准的合并成果</strong>。单4070起点没有校准，不能把整个倍增都算在3080身上。</p>
<h2>(6) 一半的瓦数，99%的性能</h2>
<p dir="auto">先说清楚：这里「一半的瓦数」指<strong>功耗上限</strong>，不是实际耗电或电费减半；「性能」指这份工作负载的推理速度。</p>
<p dir="auto">速度调好后，先恢复4070／3080上限为200／340W，再只降低3080，找速度开始掉落的位置。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>3080上限（4070固定200W）</th>
<th style="text-align:right">Prefill</th>
<th style="text-align:right">Decode</th>
<th style="text-align:right">两GPU每次请求能耗</th>
</tr>
</thead>
<tbody>
<tr>
<td>340W</td>
<td style="text-align:right">2335</td>
<td style="text-align:right">58.94</td>
<td style="text-align:right">5.399Wh</td>
</tr>
<tr>
<td>170W</td>
<td style="text-align:right">2322</td>
<td style="text-align:right">58.94</td>
<td style="text-align:right">5.063Wh</td>
</tr>
<tr>
<td>136W</td>
<td style="text-align:right">2305</td>
<td style="text-align:right">58.60</td>
<td style="text-align:right">4.901Wh</td>
</tr>
<tr>
<td>100W</td>
<td style="text-align:right">1744</td>
<td style="text-align:right">54.51</td>
<td style="text-align:right">5.187Wh</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>3080上限340→170W，读取保留99.44%、生成约99.99%。</strong> 这就是章名最直接的例子。不过3080实测平均功耗是159.7→137.7W，两GPU请求能耗只少约6.2%；原本就没有一直吃到340W。</p>
<p dir="auto">降到100W时，读取明显拖慢，整笔请求跑更久，能耗反而比136W高。接着固定3080为150W，测4070的200→100W：100W仍保留约99.6%生成速度，但读取只剩约66.8%，请求能耗反而增加约6.2%。<strong>只看生成tok/s，会漏掉读取长文档的成本。</strong></p>
<p dir="auto">4070粗测的均衡候选落在160W附近，最后选两卡各150W，再验证不同输入长度：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>输入tokens</th>
<th style="text-align:right">Prefill</th>
<th style="text-align:right">Decode</th>
<th style="text-align:right">TTFT</th>
<th style="text-align:right">两GPU每次请求能耗</th>
</tr>
</thead>
<tbody>
<tr>
<td>32768</td>
<td style="text-align:right">1797</td>
<td style="text-align:right">58.95</td>
<td style="text-align:right">18.3秒</td>
<td style="text-align:right">1.458Wh</td>
</tr>
<tr>
<td>65536</td>
<td style="text-align:right">2138</td>
<td style="text-align:right">58.61</td>
<td style="text-align:right">30.7秒</td>
<td style="text-align:right">2.468Wh</td>
</tr>
<tr>
<td>128000</td>
<td style="text-align:right">2259</td>
<td style="text-align:right">58.76</td>
<td style="text-align:right">56.7秒</td>
<td style="text-align:right">4.514Wh</td>
</tr>
</tbody>
</table>
<p dir="auto">最终上限合计300W，是原本540W的约56%，接近一半。相对同一轮K38校准、双卡额定上限基准，128K <strong>生成保留约99.7%、读取约96.7%，GPU请求能耗少约16.4%</strong>。这不是最低能耗记录，是本轮选定并验证的折中。</p>
<p dir="auto">换成等待时间看，这份128K的TTFT约从54.9秒变成56.7秒，生成速度几乎维持。这份配置用少量额外读取时间，交换较低的GPU能耗。不过若工作每天都在重新读大文件，或回答特别长，取舍可能不同；应先比较整笔请求的耗时与能耗，再决定是否继续降瓦数。</p>
<p dir="auto">功耗每200ms取样，但来源是约1秒平均的GPU板卡读值，再积分估算请求能耗；不含CPU、电源损耗、载入与待机。各条件只测一次，小差距可能含量测与热状态影响，读成「速度接近、能耗有下降」比较合适。</p>
<h2>(7) 不同量化模型、上下文的比较</h2>
<p dir="auto">固定 <strong>K38、trim on、prefill auto、KV int8、Vision与MTP开启，双卡各150W</strong>，版本也保持不变。这次不重新搜索K或功耗，而是比较原版IQ3_S、IQ3_XXS在64K／128K／256K的表现，另外加入一组Abliterated IQ3_S／128K，共七组配置。</p>
<p dir="auto">以下一次列出七组正式配置的21笔请求结果。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>配置</th>
<th style="text-align:right">Prompt</th>
<th style="text-align:right">Prefill tok/s</th>
<th style="text-align:right">Decode tok/s</th>
<th style="text-align:right">TTFT s</th>
<th style="text-align:right">总GPU平均 W</th>
<th style="text-align:right">总GPU峰值</th>
</tr>
</thead>
<tbody>
<tr>
<td>Org-IQ3_S-128k</td>
<td style="text-align:right">4096</td>
<td style="text-align:right">716.77</td>
<td style="text-align:right">56.33</td>
<td style="text-align:right">5.74</td>
<td style="text-align:right">201.17</td>
<td style="text-align:right">236.30</td>
</tr>
<tr>
<td>Org-IQ3_S-128k</td>
<td style="text-align:right">32768</td>
<td style="text-align:right">1801.73</td>
<td style="text-align:right">62.00</td>
<td style="text-align:right">18.23</td>
<td style="text-align:right">240.33</td>
<td style="text-align:right">289.25</td>
</tr>
<tr>
<td>Org-IQ3_S-128k</td>
<td style="text-align:right">128000</td>
<td style="text-align:right">2247.54</td>
<td style="text-align:right">60.49</td>
<td style="text-align:right">57.04</td>
<td style="text-align:right">267.66</td>
<td style="text-align:right">291.93</td>
</tr>
<tr>
<td>Org-IQ3_S-256k</td>
<td style="text-align:right">4096</td>
<td style="text-align:right">684.19</td>
<td style="text-align:right">55.13</td>
<td style="text-align:right">6.01</td>
<td style="text-align:right">194.67</td>
<td style="text-align:right">230.58</td>
</tr>
<tr>
<td>Org-IQ3_S-256k</td>
<td style="text-align:right">32768</td>
<td style="text-align:right">1597.74</td>
<td style="text-align:right">59.17</td>
<td style="text-align:right">20.55</td>
<td style="text-align:right">240.48</td>
<td style="text-align:right">282.44</td>
</tr>
<tr>
<td>Org-IQ3_S-256k</td>
<td style="text-align:right">256000</td>
<td style="text-align:right">1939.30</td>
<td style="text-align:right">56.43</td>
<td style="text-align:right">132.13</td>
<td style="text-align:right">271.46</td>
<td style="text-align:right">289.93</td>
</tr>
<tr>
<td>Org-IQ3_S-64k</td>
<td style="text-align:right">4096</td>
<td style="text-align:right">733.80</td>
<td style="text-align:right">58.48</td>
<td style="text-align:right">5.61</td>
<td style="text-align:right">201.99</td>
<td style="text-align:right">243.13</td>
</tr>
<tr>
<td>Org-IQ3_S-64k</td>
<td style="text-align:right">32768</td>
<td style="text-align:right">1843.84</td>
<td style="text-align:right">67.85</td>
<td style="text-align:right">17.81</td>
<td style="text-align:right">241.82</td>
<td style="text-align:right">290.54</td>
</tr>
<tr>
<td>Org-IQ3_S-64k</td>
<td style="text-align:right">64000</td>
<td style="text-align:right">2117.42</td>
<td style="text-align:right">70.34</td>
<td style="text-align:right">30.28</td>
<td style="text-align:right">257.54</td>
<td style="text-align:right">290.72</td>
</tr>
<tr>
<td>Org-IQ3_XXS-128k</td>
<td style="text-align:right">4096</td>
<td style="text-align:right">836.29</td>
<td style="text-align:right">65.25</td>
<td style="text-align:right">4.92</td>
<td style="text-align:right">205.41</td>
<td style="text-align:right">246.62</td>
</tr>
<tr>
<td>Org-IQ3_XXS-128k</td>
<td style="text-align:right">32768</td>
<td style="text-align:right">1994.47</td>
<td style="text-align:right">78.96</td>
<td style="text-align:right">16.47</td>
<td style="text-align:right">248.76</td>
<td style="text-align:right">294.68</td>
</tr>
<tr>
<td>Org-IQ3_XXS-128k</td>
<td style="text-align:right">128000</td>
<td style="text-align:right">2337.60</td>
<td style="text-align:right">75.21</td>
<td style="text-align:right">54.83</td>
<td style="text-align:right">269.86</td>
<td style="text-align:right">297.26</td>
</tr>
<tr>
<td>Org-IQ3_XXS-256k</td>
<td style="text-align:right">4096</td>
<td style="text-align:right">796.61</td>
<td style="text-align:right">62.88</td>
<td style="text-align:right">5.17</td>
<td style="text-align:right">203.53</td>
<td style="text-align:right">236.79</td>
</tr>
<tr>
<td>Org-IQ3_XXS-256k</td>
<td style="text-align:right">32768</td>
<td style="text-align:right">1827.40</td>
<td style="text-align:right">68.88</td>
<td style="text-align:right">17.97</td>
<td style="text-align:right">246.08</td>
<td style="text-align:right">292.90</td>
</tr>
<tr>
<td>Org-IQ3_XXS-256k</td>
<td style="text-align:right">256000</td>
<td style="text-align:right">2222.27</td>
<td style="text-align:right">57.58</td>
<td style="text-align:right">115.35</td>
<td style="text-align:right">276.36</td>
<td style="text-align:right">296.49</td>
</tr>
<tr>
<td>Org-IQ3_XXS-64k</td>
<td style="text-align:right">4096</td>
<td style="text-align:right">854.72</td>
<td style="text-align:right">74.01</td>
<td style="text-align:right">4.81</td>
<td style="text-align:right">207.90</td>
<td style="text-align:right">262.84</td>
</tr>
<tr>
<td>Org-IQ3_XXS-64k</td>
<td style="text-align:right">32768</td>
<td style="text-align:right">2018.33</td>
<td style="text-align:right">80.11</td>
<td style="text-align:right">16.27</td>
<td style="text-align:right">249.84</td>
<td style="text-align:right">294.12</td>
</tr>
<tr>
<td>Org-IQ3_XXS-64k</td>
<td style="text-align:right">64000</td>
<td style="text-align:right">2259.45</td>
<td style="text-align:right">79.14</td>
<td style="text-align:right">28.39</td>
<td style="text-align:right">262.34</td>
<td style="text-align:right">296.18</td>
</tr>
<tr>
<td>Abliterated-IQ3_S-128k</td>
<td style="text-align:right">4096</td>
<td style="text-align:right">715.66</td>
<td style="text-align:right">58.98</td>
<td style="text-align:right">5.75</td>
<td style="text-align:right">199.52</td>
<td style="text-align:right">238.20</td>
</tr>
<tr>
<td>Abliterated-IQ3_S-128k</td>
<td style="text-align:right">32768</td>
<td style="text-align:right">1796.52</td>
<td style="text-align:right">59.18</td>
<td style="text-align:right">18.29</td>
<td style="text-align:right">240.19</td>
<td style="text-align:right">293.60</td>
</tr>
<tr>
<td>Abliterated-IQ3_S-128k</td>
<td style="text-align:right">128000</td>
<td style="text-align:right">2205.69</td>
<td style="text-align:right">61.72</td>
<td style="text-align:right">58.11</td>
<td style="text-align:right">267.63</td>
<td style="text-align:right">293.37</td>
</tr>
</tbody>
</table>
<p dir="auto">(Abliterated是我个人额外加测，因为之后可能有无审查模型的需求)</p>
<p dir="auto">IQ3_S沿用Part 1最终设置；IQ3_XXS切换对应模型资产后，先测继承设置，再跑官方calibration与长文本输入验证，最后让三种上下文共用这份校准基准，不逐窗口重新调优。</p>
<p dir="auto">IQ3_XXS正式比较采用验证后的设置：<code>pcie-frac 0.2</code>、<code>spec 4</code>、<code>spec-min-p 0.7</code>、adaptive <code>1／160／0.97</code>；CPU workers由引擎自动配置。跨量化比较的是各自的已验证配置，不把结果归因于单一参数。</p>
<p dir="auto">每组都测共同的4096、32768个输入tokens，再依窗口测64000、128000或256000。总context上限分别是 <code>65536</code>、<code>131072</code>、<code>262144</code>，保留模板与256-token输出的空间。每个长度一次，预热排除，正式请求均确认 <code>reused=0</code>；七组共21笔正式请求全部完成。</p>
<h3>长文本输入：128K收益明显，256K主要改善读取</h3>
<p dir="auto">下面每个窗口使用不同的长文本输入，应比较相同窗口与输入长度的两种量化；不能把64K与256K的等待时间当成相同工作量的速度对照。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>模型</th>
<th>Context／实际输入</th>
<th style="text-align:right">Prefill</th>
<th style="text-align:right">Decode</th>
<th style="text-align:right">TTFT</th>
<th style="text-align:right">总GPU平均 W</th>
<th style="text-align:right">总GPU峰值 W</th>
</tr>
</thead>
<tbody>
<tr>
<td>IQ3_S</td>
<td>64K／64000</td>
<td style="text-align:right">2117</td>
<td style="text-align:right">70.34</td>
<td style="text-align:right">30.3秒</td>
<td style="text-align:right">257.5</td>
<td style="text-align:right">290.7</td>
</tr>
<tr>
<td>IQ3_XXS</td>
<td>64K／64000</td>
<td style="text-align:right">2259</td>
<td style="text-align:right">79.14</td>
<td style="text-align:right">28.4秒</td>
<td style="text-align:right">262.3</td>
<td style="text-align:right">296.2</td>
</tr>
<tr>
<td>IQ3_S</td>
<td>128K／128000</td>
<td style="text-align:right">2248</td>
<td style="text-align:right">60.49</td>
<td style="text-align:right">57.0秒</td>
<td style="text-align:right">267.7</td>
<td style="text-align:right">291.9</td>
</tr>
<tr>
<td>IQ3_XXS</td>
<td>128K／128000</td>
<td style="text-align:right">2338</td>
<td style="text-align:right">75.21</td>
<td style="text-align:right">54.8秒</td>
<td style="text-align:right">269.9</td>
<td style="text-align:right">297.3</td>
</tr>
<tr>
<td>IQ3_S</td>
<td>256K／256000</td>
<td style="text-align:right">1939</td>
<td style="text-align:right">56.43</td>
<td style="text-align:right">132.1秒</td>
<td style="text-align:right">271.5</td>
<td style="text-align:right">289.9</td>
</tr>
<tr>
<td>IQ3_XXS</td>
<td>256K／256000</td>
<td style="text-align:right">2222</td>
<td style="text-align:right">57.58</td>
<td style="text-align:right">115.3秒</td>
<td style="text-align:right">276.4</td>
<td style="text-align:right">296.5</td>
</tr>
<tr>
<td>Abliterated IQ3_S</td>
<td>128K／128000</td>
<td style="text-align:right">2206</td>
<td style="text-align:right">61.72</td>
<td style="text-align:right">58.1秒</td>
<td style="text-align:right">267.6</td>
<td style="text-align:right">293.4</td>
</tr>
</tbody>
</table>
<p dir="auto">128K长文本输入下，IQ3_XXS生成约快24%，读取约快4%；到了256K，生成差距只剩约2%，较有感的是TTFT少约17秒。<strong>换量化的收益会随负载改变，不能把某一组的提升比例套用到所有情境。</strong></p>
<p dir="auto">资源记录也显示，128K配置的最低可用系统内存，IQ3_S约7.5GiB、IQ3_XXS约14.5GiB。对这台64GB主机，XXS留下较多内存余量。不过这轮没有做回答品质评测，速度与可用内存的优势，不等于已证明两种量化的回答品质相同。</p>
<h3>Abliterated版本：速度接近原版</h3>
<p dir="auto">Abliterated组沿用相同IQ3_S权重与pack，只加入projection vector：strength <code>1.0</code>、layer range <code>4–44</code>、mode <code>project</code>、direction <code>per-layer</code>，每笔正式请求都核对projection已启用。</p>
<p dir="auto">128K长文本输入下，原版／Abliterated的读取为2248／2206 tok/s，生成60.49／61.72 tok/s，TTFT57.0／58.1秒。共同32K输入的生成则为62.00／59.18 tok/s，没有一致的速度胜出方向；这轮可说速度接近，未测拒答行为或回答品质。</p>
<p dir="auto">双卡功耗也没有因换成XXS而大幅下降：128K请求平均合计约268W／270W，256K约271W／276W（IQ3_S／XXS）。XXS的收益主要表现在完成速度；这些是GPU板卡功耗，并非整机用电。</p>
<p dir="auto">本轮选择方向是：<strong>速度优先可考虑IQ3_XXS；窗口依实际需求选，32K输入测试以64K配置较快，需要更长内容再开128K或256K。</strong> IQ3_S与Abliterated则按模型需求选择。所有配置各长度只有一次结果，小幅差异仍需重测确认；这次已建立可用的速度与资源对照，品质比较留待另行评测。</p>
<hr />
<blockquote>
<p dir="auto"><strong>AI结束线：以下内容开始是人类写的了</strong></p>
</blockquote>
<hr />
<h2>(8) 我的小总结</h2>
<p dir="auto">(1) 这套4070＋3080、64GB内存的配置，可以达成IQ3_S/128K的目标，速度Prefill: 2248 tok/s, Decode: 60.49 tok/s。</p>
<p dir="auto">(2) IQ3_XXS 128K上下文的速度下，Prompt为128k，速度也还可以 Prefill: 2338 tok/s, Decode: 75.21 tok/s</p>
<p dir="auto">(3) 虽说单4070能跑，但有副卡值得试试。初始128K Decode约从27提升到36 tok/s，但我没有测过单卡直接调优。</p>
<p dir="auto">(4) 功耗限制可以调得很低也保留同样速度 (4070 200-&gt;150W, 3080 340W-&gt;150W)，噪音低了不少</p>
<p dir="auto">(5) 跟codex讨论，根据Log目前的bottleneck在哪里。主要还是在副卡的显存其实有点可惜，如果当初是买12GB版本的3080可能会提升不少。还有PCIE 3.0 x4的问题吧，<br />
不过如果3080能加到20GB，反而PCIE 3.0 x4的影响就会变小了，因为主要运算就都会搬去显存。<br />
可惜台湾这边比较少店家在帮忙改卡，大多有的也都是直接卖了，不然我也是很想改一下</p>
<p dir="auto">希望能帮助到有类似配置的朋友，两张小显存卡能跑到256k上下文，128k能有75 decode速度，已经谢天谢地了<br />
我也算是刚入门本地LLM的一员了，有什么使用技巧，还请大家多多指教。接下来还有好多工作要做呢，还得先接入Codex。</p>
<p dir="auto">（随手用一些Dummy文本试了一下web chat）<br />
<img src="https://upload.lcz.me/uploads/ea3c58c2-3d13-466f-b9c4-71a280273880.png" alt="dashboard.png" class="img-markdown  img-fluid" /></p>
]]></description><link>https://lcz.me/topic/2229</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 12:24:29 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/2229.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Oct 2026 17:03:07 GMT</pubDate><ttl>60</ttl></channel></rss>