<?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[DGX Spark + TensorFold/SparkFold 跑 Qwen3.8-Flash-Next 完整实战：EXL3 4.05bpw 由 18 个补丁到中文 draft 词表，decode 64.7 tok/s（附全套 benchmark）]]></title><description><![CDATA[<h1>DGX Spark + TensorFold/SparkFold 跑 Qwen3.8-Flash-Next 完整实战：EXL3 4.05bpw 由 18 个补丁到中文 draft 词表，decode 64.7 tok/s（附全套 benchmark）</h1>
<p dir="auto">沿着 <code>dgx-spark-llm-serving-main</code> 仓库 <code>lanes/exl3-sparkfold</code> 这条路线，我在 DGX Spark 上从零跑了一遍完整 setup（2026-10-29 部署完成，服务在跑），顺便做了全套 benchmark 和中文 draft 词表的 A/B 实测。有几个发现（尤其中文词表那 part）想还回来给社群。</p>
<h2>一、硬件</h2>
<ul>
<li>DGX Spark：<strong>GB10（sm_121a）、128 GB 统一内存、aarch64</strong>，Docker 带 NVIDIA runtime</li>
<li>根分区 3.7 T，这条 lane 共占 173 G：</li>
</ul>
<pre><code>~/models/qwen3.8-flash-next-exl3-4.05bpw    101 G   权重
~/.cache/tensorfold-sparkfold               967 M   扩展缓存 + 视觉权重
~/tensorfold-src                             25 M   打补丁的源码树
~/src                                       ~70 M   上游配方 + TensorFold tarball
/var/lib/docker                             ~70 G   镜像
</code></pre>
<ul>
<li>前置条件（<code>01-healthcheck.sh</code> 只读体检，<strong>不要跳过</strong>）：可用统一内存 ≥ 121 GiB、磁盘可用 ≥ 200 GiB（权重 100 + 缓存 + spill 最多 48）、<code>docker info</code> 能看到 NVIDIA runtime。</li>
</ul>
<h2>二、软件栈和安装</h2>
<ul>
<li>引擎：TensorFold 0.6.5 + SparkFold <code>806b345</code> + 仓库 <strong>18 个补丁</strong>。<strong>这条 lane 的全部价值来自那 18 个补丁</strong>——仓库记录过未打补丁时英文 decode 42.6 tok/s vs 打完 62.9，不要用未经补丁的 SparkFold 跑。</li>
<li>镜像：<code>tensorfold-qwen38:v0.3.6.3</code>（MiaAI-Lab 封装）再叠一层 <code>xgrammar</code>（<code>response_format</code> / 结构化输出）→ <code>tensorfold-qwen38:v0.3.6.3-xgrammar</code>（36.9 GB，<code>tf.patches=c1f5d72f8d16</code>）。</li>
<li>部署脚本全部做成幂等，失败重跑即可；都支持 <code>DRY_RUN=1</code> 打印将执行的命令。</li>
</ul>
<pre><code class="language-bash">cd ~/dgx-spark-deploy &amp;&amp; chmod +x *.sh

bash 01-healthcheck.sh        # 只读体检，先做
bash 02-build-tree.sh         # SparkFold 806b345 + 18 补丁 → ~/tensorfold-src
bash 03-build-image.sh        # 两层镜像（v0.3.6.3 → v0.3.6.3-xgrammar）
bash 04-download-pack.sh      # 权重 99.94 GiB：钉 commit sha + 逐文件 size + SHA-256 校验
bash 05-vision.sh             # 视觉权重转换（可选，VISION=0 就跳过）
bash 05b-draft-vocab-zh.sh    # 构造中文 draft 词表（中文场景建议做，见第七节）
bash 06-start.sh              # 启动（封装仓库的 start.sh，不重新实现启动逻辑）
bash 07-smoke.sh              # 冒烟 + 中英文基准（RUN_BENCH=1 附带仓库的 bench_en.py）
</code></pre>
<blockquote>
<p dir="auto"><strong>全新机器</strong>先跑 <code>bash 00-bootstrap.sh</code>：检查并补齐 Docker / NVIDIA Container Toolkit / <code>hf</code> CLI，已装的一律跳过，最后一步跑 GPU 容器冒烟，确认容器里真能看到 GB10。<br />
<code>02-build-tree.sh</code> 末尾应显示 <code>spill.py 在位（补丁 0005）</code>。<br />
MiaAI-Lab 的 <code>prepare.sh</code> 第 3、4 步会下载该封装自己的 MLX checkpoint，<strong>本 lane 用不到</strong>；照跑是为了与上游保持一致。</p>
</blockquote>
<h2>三、两个必改的关键配置（今次分享重点之一）</h2>
<h3>3.1 内存地板 6 GiB —— 不是随便定的</h3>
<p dir="auto">TensorFold 0.6.5 的 stream cache 规则：只有当宿主机 <code>MemAvailable</code> 高于 <code>max(4 GiB, RAM/10)</code>（本机 = 12.2 GiB）再加 2 GiB 时才允许增长，否则直接丢掉一条空闲对话的整个状态。而 Spark 服务这个模型时<strong>空载只有约 15 GiB 可用</strong>——于是一条长对话会把另一条挤掉，每一轮都变成冷 prefill。</p>
<p dir="auto">仓库的对照实验（三条对话轮流，16 token 回复）：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>内存地板</th>
<th>后面几轮从零重新 prefill 的次数</th>
</tr>
</thead>
<tbody>
<tr>
<td>12.2 GiB（引擎默认）</td>
<td>8 轮里 7 轮（丢了 409 s 的 prefill）</td>
</tr>
<tr>
<td>6 GiB（<code>TENSORFOLD_MEMORY_RESERVE_GIB=6</code>）</td>
<td>9 轮里 0 轮</td>
</tr>
</tbody>
</table>
<p dir="auto">代价：到 earlyoom SIGTERM 线（RAM 的 3% = 3.6 GiB）的余量从约 11 GiB 降到约 5 GiB。所以<strong>不要把 n-gram 表全锁住</strong>——仓库记录过 <code>TENSORFOLD_PIN_EXTRA_GIB=12</code>（锁 36 GiB）会让 earlyoom 直接 SIGKILL 掉服务。当前配置 <code>PIN_EXTRA_GIB=-6.2</code>，让锁页量维持在 20-25 GiB。</p>
<h3>3.2 NVMe spill —— 救 evicted 的对话，不是加速</h3>
<p dir="auto"><code>TF_SPILL_DIR=/cache/spill</code>，只写 ≥ 16384 token 的状态，目录上限 48 GiB，LRU 淘汰。仓库实测：100k token 的状态约 1.5-1.8 GiB，写 0.30-0.40 s，读 0.26-0.45 s。</p>
<p dir="auto">它<strong>只在对话被挤掉时救命</strong>。内存够时它什么都不做，也不带来加速。仓库明确写：只在受控重放里验证过，<strong>没有在真实流量上验证过</strong>——当成便宜的保险，不要当成实测收益。</p>
<h2>四、模型</h2>
<p dir="auto"><code>turboderp/Qwen3.8-Flash-Next-exl3</code>，分支 <code>4.05bpw_h6_ng6</code>，EXL3 4.05 bpw，<strong>125B 总参 / 6B 激活</strong>，99.94 GiB。</p>
<p dir="auto">本机校验结果：26 个文件的 size + SHA-256 与 Hub <strong>逐个一致</strong>，实下 100.08 GiB（trunk 62.9 GiB / n-gram 表 36.36 GiB / 视觉 0.52 GiB，与仓库记录逐项吻合）。</p>
<p dir="auto"><strong>为什么必须逐文件校验</strong>：仓库的 vLLM lane 明确记录过——大小对但内容截断的 shard 能正常加载、报告出合理的 shape、产出量级正确的激活值，然后生成<strong>通顺但完全错误</strong>的输出。不崩溃，不报错，只是不对。有人为这个丢了一天。</p>
<p dir="auto">另两个硬坑（与网络无关，但必须钉住版本）：</p>
<ol>
<li>上游封装仓库（MiaAI-Lab）的 <code>main</code> 已换成 <strong>Zig 原生引擎</strong>，与本 lane 的 Python 引擎不兼容。必须用 commit <code>38da375e5f4a0be0ed4c065d1014f61088e0a9e4</code>（2026-09-29，最后一个 Python 引擎 + TensorFold v0.3.6.3 版本）。<strong>这个 commit 是对的，有硬证据</strong>：它的补丁集 hash 是 <code>c1f5d72f8d16</code>，与仓库 README 记录的镜像标签 <code>tf.patches=c1f5d72f8d16</code> 一字不差。</li>
<li><code>04-download-pack.sh</code> 会先把分支名解析成 commit sha 再下载，钉住版本、可复现，并逐文件比对 size + SHA-256——照做就行。</li>
</ol>
<h2>五、生产启动配置（全套）</h2>
<p dir="auto"><code>06-start.sh</code> 透传给仓库 <code>start.sh</code>：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>变量</th>
<th>默认</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>PROFILE</code></td>
<td><code>spark</code></td>
<td><code>safe</code> = 旧解码策略（A/B 对照用）；<code>bare</code> = 引擎默认值</td>
</tr>
<tr>
<td><code>SPILL</code></td>
<td><code>1</code></td>
<td>NVMe spill。<code>SPILL=0</code> 关掉</td>
</tr>
<tr>
<td><code>VISION</code></td>
<td><code>1</code></td>
<td>多模态。<code>VISION=0</code> 关掉</td>
</tr>
<tr>
<td><code>PARALLEL</code></td>
<td><code>5</code></td>
<td>并发流数</td>
</tr>
<tr>
<td><code>CONTEXT</code></td>
<td><code>262144</code></td>
<td>上下文长度</td>
</tr>
<tr>
<td><code>KV_DTYPE</code></td>
<td><code>int8</code></td>
<td>KV 精度</td>
</tr>
<tr>
<td><code>PORT</code></td>
<td><code>8888</code></td>
<td>端口</td>
</tr>
<tr>
<td><code>BIND</code></td>
<td><code>127.0.0.1</code></td>
<td>监听地址。<code>BIND=</code>（空）= 所有网卡</td>
</tr>
<tr>
<td><code>KNOBS</code></td>
<td>—</td>
<td>追加任意 <code>TF_*</code>，如 <code>KNOBS="TF_KEEP=32"</code></td>
</tr>
</tbody>
</table>
<pre><code class="language-bash">KNOBS="TF_DRAFT_VOCAB=draft_vocab_zh.txt" bash 06-start.sh   # 中文词表（推荐）
PROFILE=safe bash 06-start.sh            # 对照组
VISION=0 SPILL=0 bash 06-start.sh        # 纯文本、不落 NVMe
BIND= bash 06-start.sh                   # 对外提供服务（服务没有 API key，不要暴露到不可信网络）
</code></pre>
<p dir="auto">启动日志里应该看到这四行：</p>
<pre><code>lone-stream graph slot: 65536 rows
spill: N stored states adopted
... GiB of pages locked            &lt;- 本机实测 "22.0 GiB of it locked"（仓库记录 20-25 GiB）
serving qwen3.8-flash-next ... loaded in ~90s
</code></pre>
<p dir="auto">首次启动要编译 CUDA/Triton 扩展（本机 260 s），之后重启 <strong>73.8 s</strong>。脚本会等到 <code>/health</code> 有响应（最多 15 分钟）。服务在 <code>127.0.0.1:8888</code>。</p>
<p dir="auto">常用操作：</p>
<pre><code class="language-bash">bash 07-smoke.sh                              # 冒烟 + 中英文基准
docker logs -f llm                            # 看日志
docker exec llm env | grep TF_DRAFT_VOCAB     # 确认实际生效的词表
</code></pre>
<p dir="auto">日志目录 <code>~/.cache/tensorfold-sparkfold/logs/</code>。仓库的 <code>start.sh</code> 会 <code>docker rm -f</code> 旧容器、日志随之消失，所以 <code>06-start.sh</code> 现在重启前会先把旧日志备份进去。</p>
<h2>六、Benchmark（本机 2026-10-29 vs 仓库基线 2026-10-21）</h2>
<p dir="auto"><strong>Decode 单流：</strong> 英文 <strong>64.7 tok/s</strong>（69.12 / 68.72 / 55.50 / 65.54 四条提示均值）vs 仓库 62.9——同一套构建，吻合。中文装词表 <strong>53.4</strong>、不装 38.9（见第七节）；仓库韩文基线 54.1。</p>
<p dir="auto"><strong>并发：</strong> 仓库 sgbench 端到端 1 / 2 / 4 流 = 66.9 / 92.1 / 131.1 tok/s；llama-benchy decode（深度 0）1 / 2 / 4 流 = 61.7 / 89.5 / 112.2 tok/s。<strong>本机只测了单流，多流并发没有测。</strong></p>
<p dir="auto"><strong>Prefill（冷启动）：</strong> 1.9k-49k token 真实文本 1,830-2,067 tok/s（仓库）。</p>
<p dir="auto"><strong>Spill 还原：</strong> 100k 对话被挤掉后，冷启 40-50 s vs 从 NVMe 还原 0.8-2.3 s（仓库）。</p>
<p dir="auto"><strong>工具调用：</strong> tool-eval-bench 90/100（装 xgrammar 后，仓库）。</p>
<p dir="auto"><strong>关键校验（本机）：</strong></p>
<ul>
<li>权重：26 个文件 size + SHA-256 逐个一致，100.08 GiB</li>
<li>源码树：18 个补丁提交全在，<code>draft_vocab_ko.txt</code> 86,232 行（与仓库记录一字不差）</li>
<li>镜像：<code>tf.patches=c1f5d72f8d16</code>（与仓库 README 记录一致）</li>
<li>引擎启动：22.0 GiB locked、84 个图、spill 目录 48 GiB、视觉塔 0.84 GiB</li>
</ul>
<p dir="auto"><strong>没测的（诚实清单）：</strong> 中文质量没有基线（仓库对韩文质量和长工具上下文质量也明确没测过，速度追平 ≠ 质量追平，需要自己评估）；多流并发；视觉输入（权重转换好了、引擎起来了，但没实际发过图片）。</p>
<h2>七、中文 draft 词表 A/B 实测（新发现）</h2>
<p dir="auto">背景：MTP 投机解码的 drafter 只能从一张<strong>候选 token 列表</strong>里挑下一个 token。引擎自带的那张列表来自 CPython 标准库和 id &lt; 65,536：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>覆盖</th>
<th>比例</th>
</tr>
</thead>
<tbody>
<tr>
<td>代码 / Markdown token</td>
<td>99.3-99.5%</td>
</tr>
<tr>
<td>英文散文 token</td>
<td>93.9%</td>
</tr>
<tr>
<td>韩文 token</td>
<td>47.5%</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>中文比韩文更糟。</strong> 这张表基本全是 ASCII，而 Qwen 分词器里绝大多数汉字 token 的 id 都 ≥ 65,536——它们根本不在候选表里。drafter 看不见中文 token，中文的投机接受率会很低，而 decode 速率基本就是"不投机"的速度。</p>
<p dir="auto">上游其实已经做了中文版（MiaAI-Lab 的语言补丁带 <code>draft_vocab_zh.txt</code>，22,088 个纯汉字 token id），但那是<strong>替换</strong>语义——上游 README 明写 "English and code get a little slower with it"。本 lane 的 <code>TF_DRAFT_VOCAB</code> 是<strong>并集</strong>语义（仓库补丁 0009 的韩文表就是这么做的，补齐后英文贪心回复逐字节不变）。所以 <code>05b-draft-vocab-zh.sh</code> 取的是 <strong>并集</strong>：引擎默认表 ∪ 上游汉字 id = <strong>101,679 个 id</strong>（默认 79,591 + 汉字 22,088）。中文拿到全部候选，英文和代码不受影响。</p>
<p dir="auto">A/B（同一套构建、同一批中文提示、同一份 server 配置，只换 <code>TF_DRAFT_VOCAB</code>）：</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>词表</th>
<th>ZH-HIST</th>
<th>ZH-SCI</th>
<th>ZH-ADV</th>
<th>均值</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>draft_vocab_ko.txt</code>（仓库默认，<strong>不含汉字</strong>）</td>
<td>34.38</td>
<td>42.80</td>
<td>39.52</td>
<td><strong>38.90</strong></td>
</tr>
<tr>
<td><code>draft_vocab_zh.txt</code>（默认表 ∪ 汉字）</td>
<td>50.40</td>
<td>55.96</td>
<td>53.68</td>
<td><strong>53.35</strong></td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>+37.1%。</strong> 仓库测韩文时是 42 → 49（+17%），中文的增幅更大——因为默认表里汉字的覆盖率比谚文还低。旁证：每 chunk 的 token 数从 1.20-1.59 升到 1.88-2.11，也就是 MTP 接受率上去了，这正是 draft 词表该起的作用。对照仓库韩文基线 54.1：<strong>中文词表装上之后，中文追平韩文。</strong></p>
<p dir="auto">基准方法（<code>tools/bench_zh.py</code>，与仓库 <code>bench_ko.py</code> 同构）：走 <code>/v1/chat/completions</code>，<strong>不覆盖采样参数</strong>（用服务端默认），thinking 打开，三条中文长句提示（历史散文 / 科学解释 / 现实建议），600 token 是测量窗口不是服务上限，流式测量、用首末 chunk 之间的时间把 decode 从 prefill 里分出来。</p>
<p dir="auto">复现：</p>
<pre><code class="language-bash">cd ~/dgx-spark-deploy
# A：仓库默认（不含汉字）
KNOBS="TF_DRAFT_VOCAB=draft_vocab_ko.txt" bash 06-start.sh
BENCH_MODEL=qwen3.8-flash-next BENCH_URL=http://127.0.0.1:8888/v1/chat/completions \
  python3 tools/bench_zh.py
# B：中文并集表
KNOBS="TF_DRAFT_VOCAB=draft_vocab_zh.txt" bash 06-start.sh
BENCH_MODEL=qwen3.8-flash-next BENCH_URL=http://127.0.0.1:8888/v1/chat/completions \
  python3 tools/bench_zh.py
</code></pre>
<p dir="auto">要注意的取舍：</p>
<ul>
<li><strong>只影响速度，不影响质量。</strong> draft 出来的 token 要经过验证才被采纳，换词表不会改变回复内容（仓库对韩文验证过"英文贪心回复逐字节相同"）。</li>
<li><strong>一次只认一个词表。</strong> <code>TF_DRAFT_VOCAB</code> 是一个文件名，韩文表和中文表不要同时用；中文表取的是并集，换过去不会丢掉英文/代码的覆盖。</li>
<li><code>06-start.sh</code> 会把仓库默认的韩文表和 KNOBS 一起传给 docker，同名变量以最后一个为准；用 <code>docker exec llm env | grep TF_DRAFT_VOCAB</code> 确认实际生效值。</li>
</ul>
<h2>八、陷阱清单</h2>
<ul>
<li><strong>未打补丁的 SparkFold 千万别跑</strong>：英文 decode 42.6 vs 打完补丁 62.9，差一半。</li>
<li><strong>权重必须逐文件 SHA-256 校验</strong>：截断的 shard 不崩溃、不报错，只是生成"通顺但完全错误"的输出。</li>
<li><strong>n-gram 表千万别全锁</strong>：<code>TENSORFOLD_PIN_EXTRA_GIB=12</code>（锁 36 GiB）→ earlyoom 直接 SIGKILL 服务。</li>
<li><strong><code>set -e</code> + <code>pipefail</code> 会让脚本静默死掉</strong>：<code>grep</code> 没匹配 → 退出 1 → 管道非 0 → 脚本被杀，<strong>什么错误信息都没有</strong>。<code>07-smoke.sh</code> 就这么死过一次（引擎的锁页日志是 "22.0 GiB of it locked"，不是仓库旧版的 "pages locked"）。凡是 <code>grep ... | ...</code> 形式的输出行，后面都要 <code>|| true</code>。</li>
<li><strong>上游封装仓库的 <code>main</code> 已换成 Zig 引擎</strong>：必须钉 commit <code>38da375e…</code>（补丁集 hash <code>c1f5d72f8d16</code> 对得上镜像标签，是硬证据）。</li>
<li><strong>仓库 <code>start.sh</code> 会 <code>docker rm -f</code> 旧容器</strong>，日志随之消失——<code>06-start.sh</code> 已改成先把日志备份到 <code>$CACHE/logs/</code> 再重启。</li>
<li><strong>第一条回复特别慢是正常的</strong>：另一个 graph 槽位首次解码要多花 0.6-1.6 s，第二次就正常。</li>
<li><strong>本 lane 不主打 prefix caching</strong>：重复前缀不保证命中，与 vLLM lane 不同。</li>
<li><strong>服务没有 API key</strong>：<code>BIND=</code> 对外监听只可以在可信局域网里用。</li>
<li><strong>对话每轮都重新 prefill</strong> 多半是内存地板问题：看日志里 <code>memory gate evicted ...</code>，确认 <code>TENSORFOLD_MEMORY_RESERVE_GIB=6</code>。</li>
</ul>
<h2>致谢</h2>
<p dir="auto"><code>dgx-spark-llm-serving</code> 仓库（<code>lanes/exl3-sparkfold</code>）的前辈记录、turboderp 的 EXL3 权重、MiaAI-Lab 的封装与上游语言补丁、TensorFold / SparkFold。中文质量评估如果有人焗到更深，欢迎交流。</p>
]]></description><link>https://lcz.me/topic/2718</link><generator>RSS for Node</generator><lastBuildDate>Mon, 09 Nov 2026 07:37:03 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/2718.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Oct 2026 13:18:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DGX Spark + TensorFold/SparkFold 跑 Qwen3.8-Flash-Next 完整实战：EXL3 4.05bpw 由 18 个补丁到中文 draft 词表，decode 64.7 tok/s（附全套 benchmark） on Mon, 02 Nov 2026 14:24:33 GMT]]></title><description><![CDATA[<p dir="auto">那你可以直接把网页放上来。</p>
]]></description><link>https://lcz.me/post/30588</link><guid isPermaLink="true">https://lcz.me/post/30588</guid><dc:creator><![CDATA[terry]]></dc:creator><pubDate>Mon, 02 Nov 2026 14:24:33 GMT</pubDate></item><item><title><![CDATA[Reply to DGX Spark + TensorFold/SparkFold 跑 Qwen3.8-Flash-Next 完整实战：EXL3 4.05bpw 由 18 个补丁到中文 draft 词表，decode 64.7 tok/s（附全套 benchmark） on Mon, 02 Nov 2026 08:37:08 GMT]]></title><description><![CDATA[<p dir="auto"><img src="https://upload.lcz.me/uploads/70f62fab-b09d-4ece-8541-4c51681cefb6.png" alt="微信图片_2026-11-02_163349_639.png" class="img-markdown  img-fluid" /><br />
为了方便在内网查看设备的实时是使用情况，让DSH写了一个网页。效果还不错。</p>
]]></description><link>https://lcz.me/post/30518</link><guid isPermaLink="true">https://lcz.me/post/30518</guid><dc:creator><![CDATA[juntucoo]]></dc:creator><pubDate>Mon, 02 Nov 2026 08:37:08 GMT</pubDate></item><item><title><![CDATA[Reply to DGX Spark + TensorFold/SparkFold 跑 Qwen3.8-Flash-Next 完整实战：EXL3 4.05bpw 由 18 个补丁到中文 draft 词表，decode 64.7 tok/s（附全套 benchmark） on Mon, 02 Nov 2026 08:34:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/terry" aria-label="Profile: terry">@<bdi>terry</bdi></a> 收到，下次注意。</p>
]]></description><link>https://lcz.me/post/30517</link><guid isPermaLink="true">https://lcz.me/post/30517</guid><dc:creator><![CDATA[juntucoo]]></dc:creator><pubDate>Mon, 02 Nov 2026 08:34:39 GMT</pubDate></item><item><title><![CDATA[Reply to DGX Spark + TensorFold/SparkFold 跑 Qwen3.8-Flash-Next 完整实战：EXL3 4.05bpw 由 18 个补丁到中文 draft 词表，decode 64.7 tok/s（附全套 benchmark） on Sat, 31 Oct 2026 08:32:09 GMT]]></title><description><![CDATA[<p dir="auto">发帖配点图啊，别光大段的文章，容易被当AI Slop。</p>
]]></description><link>https://lcz.me/post/29778</link><guid isPermaLink="true">https://lcz.me/post/29778</guid><dc:creator><![CDATA[terry]]></dc:creator><pubDate>Sat, 31 Oct 2026 08:32:09 GMT</pubDate></item></channel></rss>