<?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[交作业：单卡RTX 5080 Qwen3.8-27B 在Windows 跑 WSL2 + NInfer v1.5 实测]]></title><description><![CDATA[<blockquote>
<p dir="auto">测试时间：2026 年 9 月 29 日。平台：Windows 11、WSL2 Ubuntu 24.04、RTX 5080 16GB。</p>
</blockquote>
<hr />
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项目</th>
<th>本机结果</th>
</tr>
</thead>
<tbody>
<tr>
<td><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=fe25256ab4a" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:1.4em;width:auto;vertical-align:middle" title="✅" alt="✅" /> 模型文件</td>
<td><code>qwen3_8_27b.ninfer</code>，约 15.33 GiB；SHA-256 与模型仓库公布值一致</td>
</tr>
<tr>
<td><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=fe25256ab4a" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:1.4em;width:auto;vertical-align:middle" title="✅" alt="✅" /> 实际运行</td>
<td>WSL2 Ubuntu 24.04 编译 NInfer v1.5；RTX 5080 可加载权重并生成中文和代码</td>
</tr>
<tr>
<td><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=fe25256ab4a" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:1.4em;width:auto;vertical-align:middle" title="✅" alt="✅" /> 完整功能配置</td>
<td>98,304 上下文/KV、Q4 KV、MTP-3、视觉 2048 token、CUDA Graph、prefill chunk 1792；服务启动并完成短文本请求</td>
</tr>
<tr>
<td><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=fe25256ab4a" class="not-responsive emoji emoji-android emoji--warning" style="height:1.4em;width:auto;vertical-align:middle" title="⚠" alt="⚠" />️ 模型卡推荐的 128K 全功能配置</td>
<td>131,072 上下文/KV + 视觉 + CUDA Graph + chunk 1792，因运行时显存预留不足，未能启动</td>
</tr>
<tr>
<td><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=fe25256ab4a" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:1.4em;width:auto;vertical-align:middle" title="✅" alt="✅" /> 128K 纯文本配置</td>
<td>131,072 上下文/KV、Q4 KV、MTP-3、chunk 512，关闭视觉与 CUDA Graph；启动并完成短回答</td>
</tr>
<tr>
<td><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=fe25256ab4a" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:1.4em;width:auto;vertical-align:middle" title="✅" alt="✅" /> 更接近模型卡的 128K 配置</td>
<td>131,072 上下文/KV、Q4 KV、MTP-3、CUDA Graph 保持开启；关闭视觉、chunk 64；启动并完成短回答</td>
</tr>
<tr>
<td><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4ca.png?v=fe25256ab4a" class="not-responsive emoji emoji-android emoji--bar_chart" style="height:1.4em;width:auto;vertical-align:middle" title="📊" alt="📊" /> 单次短请求</td>
<td>关闭 thinking 后，三类提示词的服务端解码速度为 72.8 / 122.5 / 82.4 token/s；口径见下文</td>
</tr>
<tr>
<td><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4ca.png?v=fe25256ab4a" class="not-responsive emoji emoji-android emoji--bar_chart" style="height:1.4em;width:auto;vertical-align:middle" title="📊" alt="📊" /> 98K 长输入基准</td>
<td>同一官方 fixture 的前 96,000 token + 2,048-token 输出：prefill <strong>1,514.63 token/s</strong>、decode <strong>104.18 token/s</strong>；预热 1 次、正式测量 2 次</td>
</tr>
<tr>
<td><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4cc.png?v=fe25256ab4a" class="not-responsive emoji emoji-android emoji--pushpin" style="height:1.4em;width:auto;vertical-align:middle" title="📌" alt="📌" /> 官方固定基准</td>
<td>模型卡报告 118,001-token 输入 + 2,048-token 输出：prefill 1,374.383 token/s、持续 decode 112.215 token/s；见第七节的口径对照</td>
</tr>
</tbody>
</table>
<blockquote>
<p dir="auto">**容量边界：**98K 档已完成 96,000-token 长输入基准。128K 精简档目前只验证了 131,072-token KV 分配和短回答，尚未发送接近 128K 的实际长提示词。</p>
</blockquote>
<h2>一、测试平台与模型</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项目</th>
<th>配置</th>
</tr>
</thead>
<tbody>
<tr>
<td>CPU / 内存</td>
<td>Intel Core i5-12490F，6 核 12 线程；系统内存约 32 GiB</td>
</tr>
<tr>
<td>显卡</td>
<td>NVIDIA GeForce RTX 5080，<code>nvidia-smi</code> 显示 16,303 MiB 显存</td>
</tr>
<tr>
<td>系统</td>
<td>Windows 11 + WSL2 Ubuntu 24.04；WSL 内核 <code>6.18.33.2-microsoft-standard-WSL2</code></td>
</tr>
<tr>
<td>驱动与工具链</td>
<td>Windows NVIDIA 驱动 617.14；WSL CUDA 13.4；NInfer v1.5 源码 Release 构建，<code>sm_120a</code></td>
</tr>
<tr>
<td>模型</td>
<td><a href="https://huggingface.co/ninfer-5080/Qwen3.8-27B-RTX5080" rel="nofollow ugc">ninfer-5080/Qwen3.8-27B-RTX5080</a>，文件 16,461,267,456 bytes</td>
</tr>
<tr>
<td>校验</td>
<td>SHA-256：<code>c4a7e9ab593a7f42d58208fa0065d67a82d61921107686cc9f6ed1ec6b050e21</code></td>
</tr>
<tr>
<td>NInfer 源码</td>
<td>v1.5 release commit：<code>e4edd6d5c5f9f7996de0f3d9f6c311e883452580</code></td>
</tr>
</tbody>
</table>
<p dir="auto">这个 <code>.ninfer</code> 文件是 NInfer 的模型格式，测试时直接由 <code>ninfer-serve</code> 加载。模型主体采用混合 Q3/Q4/Q5 量化；模型卡写明约 3.953 BPW，并提供 128K、MTP-3、视觉的推荐配置。<a href="https://huggingface.co/ninfer-5080/Qwen3.8-27B-RTX5080" rel="nofollow ugc">模型卡</a></p>
<h2>二、Windows 上怎样搭建</h2>
<p dir="auto">首先启用 CPU 虚拟化，安装 WSL2 和 Ubuntu 24.04。模型文件放在本地；Ubuntu、编译器和 Linux 源码副本在 WSL 的虚拟磁盘内。国内网络环境下，本次把 Ubuntu apt 源切换到清华 TUNA 镜像。CUDA 采用 WSL 中的 NVIDIA 驱动桥接，Linux 内只安装编译所需的 CUDA 13.4 开发包，没有另装 Linux 显卡驱动。</p>
<p dir="auto">在 WSL 内确认 GPU 可见：</p>
<pre><code class="language-bash">nvidia-smi
</code></pre>
<p dir="auto">NInfer v1.5 源码用 Ninja 构建：</p>
<pre><code class="language-bash">cmake -S /root/ninfer-src -B /root/ninfer-src/build -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DNINFER_BUILD_APPS=ON \
  -DNINFER_BUILD_BENCHMARKS=OFF \
  -DCMAKE_CUDA_ARCHITECTURES=120a
cmake --build /root/ninfer-src/build -j --target ninfer ninfer-serve
</code></pre>
<h2>三、短提示词成绩单</h2>
<p dir="auto">表中数据来自 98K 全功能配置。三题均为单请求、单并发、temperature 0.2、<code>reasoning_effort: "none"</code>，每题只测一次；计时和解码速度以 NInfer 服务端 <code>request_done</code> 为准。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>提示词类型</th>
<th style="text-align:right">输入 token</th>
<th style="text-align:right">输出 token</th>
<th style="text-align:right">TTFT</th>
<th style="text-align:right">服务端解码</th>
<th style="text-align:right">服务端总耗时</th>
<th>状态</th>
</tr>
</thead>
<tbody>
<tr>
<td>中文解释推测解码</td>
<td style="text-align:right">44</td>
<td style="text-align:right">336</td>
<td style="text-align:right">243 ms</td>
<td style="text-align:right">72.8 token/s</td>
<td style="text-align:right">4.86 s</td>
<td>完整输出</td>
</tr>
<tr>
<td>Python 按扩展名分组</td>
<td style="text-align:right">45</td>
<td style="text-align:right">706</td>
<td style="text-align:right">149 ms</td>
<td style="text-align:right">122.5 token/s</td>
<td style="text-align:right">5.92 s</td>
<td>完整输出</td>
</tr>
<tr>
<td>20 项检查清单</td>
<td style="text-align:right">53</td>
<td style="text-align:right">164</td>
<td style="text-align:right">185 ms</td>
<td style="text-align:right">82.4 token/s</td>
<td style="text-align:right">2.17 s</td>
<td>完整输出</td>
</tr>
</tbody>
</table>
<p dir="auto"><img src="https://upload.lcz.me/uploads/1d8aff28-916f-4677-bb22-0e4c2292d6c8.png" alt="图1-三类提示词解码速度.png" class="img-markdown  img-fluid" /></p>
<blockquote>
<p dir="auto">**图 1 口径：**解码速度为首 token 之后的生成 token 数除以 decode 时段；不是包含加载、预填充和网络的端到端速度，也不是模型仓库的 118,001-token 固定基准。MTP 接受率和文本可预测性会影响数值，不能把三题当作同一工作负载的重复测量。</p>
</blockquote>
<h2>四、98K 长输入：<code>pp96000+tg2048</code></h2>
<p dir="auto">短问答不足以说明接近容量时能否正常推理，因此我又用项目的 <code>ninfer_bench</code> 测了一次长输入。语料来自官方固定 fixture <code>ninfer_bench_118001.ids</code>，取其前 <strong>96,000 个 token</strong>；请求 <strong>2,049 个生成 token</strong>，其中首 token 归入 prefill，后 <strong>2,048 个</strong>计入 decode。总 token 位置为 98,049，低于 98,304 的上下文/KV 容量，留出 255-token 空间。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>项目</th>
<th style="text-align:right">本机 98K 实测</th>
</tr>
</thead>
<tbody>
<tr>
<td>输入 / decode token</td>
<td style="text-align:right">96,000 / 2,048</td>
</tr>
<tr>
<td>预热 / 正式测量</td>
<td style="text-align:right">1 / 2 次</td>
</tr>
<tr>
<td>上下文 / KV</td>
<td style="text-align:right">98,304 / 98,304，Q4 group64</td>
</tr>
<tr>
<td>Prefill chunk / MTP</td>
<td style="text-align:right">1792 / draft 3</td>
</tr>
<tr>
<td>CUDA Graph / embeddings</td>
<td style="text-align:right">开启 / host-mapped</td>
</tr>
<tr>
<td>Prefill，2 次均值</td>
<td style="text-align:right"><strong>1,514.63 token/s</strong></td>
</tr>
<tr>
<td>Decode，2 次均值</td>
<td style="text-align:right"><strong>104.18 token/s</strong></td>
</tr>
<tr>
<td>每轮总耗时均值</td>
<td style="text-align:right"><strong>83.07 秒</strong></td>
</tr>
<tr>
<td>MTP 草稿接受率</td>
<td style="text-align:right">72.54%；0 次 fallback</td>
</tr>
</tbody>
</table>
<p dir="auto">两次正式测量的 prefill 分别耗时 <strong>63.23 / 63.53 秒</strong>，decode 分别耗时 <strong>19.85 / 19.47 秒</strong>。这个结果证实 98K 档能够完成接近上限的 token 序列处理；fixture 是构造的 token 语料，不能代表长文检索或问答准确率。</p>
<h2>五、一个实际踩坑：thinking 吃掉输出预算</h2>
<p dir="auto">服务默认开启 thinking。最初给代码题和清单题各 768 个输出 token，两次都全部用在 <code>reasoning_content</code>，最终 <code>message.content</code> 为空，并以输出上限结束。改为 <code>reasoning_effort: "none"</code> 后，两题分别完整输出 706 和 164 token。</p>
<p dir="auto"><img src="https://upload.lcz.me/uploads/591ebdb4-3d85-4e58-9085-32b76036dfda.png" alt="图2-thinking占用输出预算.png" class="img-markdown  img-fluid" /></p>
<p dir="auto">这不表示模型不能写代码，而是这组短请求的输出上限不足以容纳默认思考过程。需要展示最终答案或测普通对话速度时，明确设置 thinking 模式；需要研究推理链时，则给足输出预算并单独报告推理 token。</p>
<h2>六、为什么 128K 会卡在显存上</h2>
<p dir="auto">模型卡推荐同时使用 <strong>131,072 上下文、131,072 Q4 KV、MTP-3、视觉 2048、CUDA Graph 和 chunk 1792</strong>。<a href="https://huggingface.co/ninfer-5080/Qwen3.8-27B-RTX5080" rel="nofollow ugc">模型卡推荐配置</a></p>
<p dir="auto">关闭浏览器后按模型卡参数启动，模型权重已完成加载，但引擎还需要预留 <strong>2,938,879,232 bytes</strong>，可用容量只有 <strong>2,757,591,040 bytes</strong>，短缺约 <strong>173 MiB</strong>。将 chunk 降到 256、保留视觉和 CUDA Graph，仍差约 <strong>115 MiB</strong>。可见本机瓶颈是权重加载后的运行时显存预算。</p>
<p dir="auto">98K 全功能配置可以正常启动。关闭视觉、关闭 CUDA Graph、将 chunk 改为 512 后，128K 纯文本配置也已启动，并返回短回答 <code>128K配置已启动</code>。进一步保留 CUDA Graph、把 chunk 降至 64，同样完成 128K KV 分配并返回 <code>我可以回答你提出的问题。</code>，启动日志显示空闲约 <strong>215 MiB</strong>。这个配置仍保留 Q4 KV 与 MTP-3，但 64-token 的 prefill 分块远小于模型卡推荐的 1792，且没有视觉；不能用它的启动成功来替代模型卡完整配置的验证。</p>
<h2>七、官方固定基准与本机结果怎么对照</h2>
<p dir="auto"><a href="https://huggingface.co/ninfer-5080/Qwen3.8-27B-RTX5080" rel="nofollow ugc">模型仓库的 v1.5 基准记录</a>给出了固定 fixture <code>pp118001+tg2048</code>：118,001-token 输入、2,048-token 生成，预热 1 次、测量重复 2 次。基准采用 <strong>131,072 上下文/KV、Q4 KV、chunk 1792、MTP-3、CUDA Graph、host-mapped embeddings</strong>；报告 prefill <strong>1,374.383 token/s</strong>，持续 decode <strong>112.215 token/s</strong>。模型卡另有视觉 2048-token 的服务配置；这两个 <code>ninfer_bench</code> 结果测量的都是文本路径。</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>对照项</th>
<th>项目官方 v1.5 基准</th>
<th>本机 WSL2 测试</th>
</tr>
</thead>
<tbody>
<tr>
<td>GPU / 模型文件</td>
<td>单卡 RTX 5080 16GB；同一 <code>.ninfer</code> 文件</td>
<td>单卡 RTX 5080 16GB；SHA-256 与官方文件一致</td>
</tr>
<tr>
<td>实际基准配置</td>
<td>128K 上下文/KV；chunk 1792；Q4、MTP-3、CUDA Graph、host-mapped embeddings</td>
<td>98K 上下文/KV；chunk 1792；其余同左</td>
</tr>
<tr>
<td>工作负载</td>
<td>固定 118,001-token 输入 + 2,048-token 输出</td>
<td>同一 fixture 前 96,000 token + 2,048-token 输出</td>
</tr>
<tr>
<td>工具 / 重复次数</td>
<td><code>ninfer_bench</code>；预热 1 次、测量 2 次</td>
<td>相同工具与次数</td>
</tr>
<tr>
<td>Prefill</td>
<td><strong>1,374.383 token/s</strong></td>
<td><strong>1,514.63 token/s</strong>，2 次均值</td>
</tr>
<tr>
<td>Decode</td>
<td><strong>112.215 token/s</strong></td>
<td><strong>104.18 token/s</strong>，2 次均值</td>
</tr>
</tbody>
</table>
<p dir="auto"><img src="https://upload.lcz.me/uploads/3cee62fa-8b5d-42b3-b817-f08d499eb805.png" alt="图3-官方与本机长输入基准.png" class="img-markdown  img-fluid" /></p>
<p dir="auto">这次对照使用同一基准工具、同一语料的前缀、相同输出长度和重复次数，比短问答更接近官方口径。输入长度仍不同：官方是 118,001，本机是 96,000；128K 与 98K 的 KV 配置、GPU 空闲显存和驱动环境也不完全相同。因此，图 3 只能展示各自配置下的报告值，<strong>不能据此计算 WSL2 的性能损失</strong>。若要严格同条件对照，需在本机以相同 118,001-token 输入运行完整 128K 配置；目前的显存预算尚不允许那套配置启动。</p>
<h2>八、结论与复现边界</h2>
<p dir="auto">这台 Windows 主机通过 WSL2 成功运行了 Qwen3.8-27B 的 .ninfer 文件。<strong>98K 档完成了 96,000-token 输入 + 2,048-token 输出的长序列性能测试，已具备个人日常写作、代码辅助和资料整理的生产力使用价值</strong>，重要输出仍需人工复核。<strong>128K KV 分配在纯文本、较小分块配置下可启动并完成短回答</strong>。后续应在原生 Ubuntu 系统下，尽量按照模型卡推荐配置，实测 128K 长上下文的速度与稳定性。当前长序列基准证明了本机 98K 档的容量和速度，尚不能说明长文问答准确率，也不能据此估算 WSL2 相对原生 Ubuntu 的性能损失。</p>
<hr />
<p dir="auto"><strong>参考资料：</strong><a href="https://huggingface.co/ninfer-5080/Qwen3.8-27B-RTX5080" rel="nofollow ugc">模型文件与推荐配置</a> · <a href="https://github.com/toddballinger/ninfer-5080" rel="nofollow ugc">NInfer 源码</a> · <a href="https://learn.microsoft.com/windows/wsl/" rel="nofollow ugc">微软 WSL 文档</a></p>
]]></description><link>https://lcz.me/topic/1996</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 15:39:09 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/1996.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Sep 2026 15:59:25 GMT</pubDate><ttl>60</ttl></channel></rss>