<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>MoE on Hypho - AI Agent 技术博客</title><link>https://blog.hypho.cn/tags/moe/</link><description>Recent content in MoE on Hypho - AI Agent 技术博客</description><image><title>Hypho - AI Agent 技术博客</title><url>https://blog.hypho.cn/papermod-cover.png</url><link>https://blog.hypho.cn/papermod-cover.png</link></image><generator>Hugo -- 0.148.2</generator><language>zh-cn</language><lastBuildDate>Wed, 10 Jun 2026 10:07:04 +0800</lastBuildDate><atom:link href="https://blog.hypho.cn/tags/moe/index.xml" rel="self" type="application/rss+xml"/><item><title>1T 模型跑出 1000 tok/s：MiMo × TileRT 的模型-系统联合设计到底做了什么</title><link>https://blog.hypho.cn/posts/mimo-tilert-1000tps-trillion-parameter-inference/</link><pubDate>Wed, 10 Jun 2026 10:07:04 +0800</pubDate><guid>https://blog.hypho.cn/posts/mimo-tilert-1000tps-trillion-parameter-inference/</guid><description>小米 MiMo-V2.5-Pro 与 TileRT 合作，在 8 卡 GPU 节点上让 1T 参数 MoE 模型首次突破 1000 tokens/s 生成速度。本文拆解实现这一数字的三层技术栈：FP4 选择性量化、DFlash 块级投机解码、以及 TileRT 的 Tile-Based 持久执行引擎，并分析&amp;#34;模型-系统联合设计&amp;#34;这一新范式对推理基础设施的实际意义。</description><content:encoded><![CDATA[<p>一个万亿参数的模型，在 8 张消费级 GPU 上每秒吐出 1000 个 token——这件事本身并不新鲜，因为类似数字过去只在论文 demo 或特制硬件上见过。但小米 MiMo 团队和 TileRT 推出的 MiMo-V2.5-Pro-UltraSpeed，用的是商品化 GPU、开源推理框架、没有定制芯片。这就有意思了。</p>
<p>更关键的是，实现这个速度的路径不是&quot;把量化做狠一点&quot;或&quot;投机解码多猜几个 token&quot;这么简单。它触及了一个更根本的问题：<strong>当推理系统逼近硬件物理极限时，模型架构和推理引擎必须从设计阶段就开始同步进化，而不是各自优化完再拼到一起。</strong></p>
<p>这篇拆解 MiMo × TileRT 做了什么，以及&quot;Speed Scaling&quot;作为新范式到底意味着什么。</p>
<h2 id="万亿参数推理为什么特别难">万亿参数推理为什么特别难</h2>
<p>先说背景。MoE（Mixture of Experts）架构让万亿参数模型在训练端变得可行——每次前向传播只激活一小部分参数，推理时的计算量远低于密集模型。但推理端有一个不太一样的瓶颈：<strong>显存带宽</strong>。</p>
<p>一个 1T 参数的 MoE 模型，即使只激活几百亿参数，完整的权重还是得住在 GPU 显存里。用 FP16 加载需要 2TB 显存，8 张 80GB H100 只有 640GB，根本装不下。即使用 FP8（1TB），仍然超出单节点容量。</p>
<p>这意味着推理速度的瓶颈不在计算，而在<strong>数据搬运</strong>——每生成一个 token，GPU 都要从显存读取相关权重，读取速度直接决定生成速度。业界称之为&quot;Memory-Bound&quot;场景，token/s 的上限 = 显存带宽 / 每 token 需要读取的字节数。</p>
<p>所以，要让 1T 模型跑快，核心就两件事：<strong>减少每次搬运的数据量</strong>，和<strong>减少搬运次数</strong>。</p>
<h2 id="第一层fp4-选择性量化不是所有参数都值得用低精度">第一层：FP4 选择性量化——不是所有参数都值得用低精度</h2>
<p>减少数据量最直接的方法是量化。MiMo-V2.5-Pro 采用的是 OCP Microscaling (MXFP4) 格式——一种 <a href="https://arxiv.org/abs/2310.10537">Microsoft 主导的 FP4 标准</a>，在极低比特下保持数值稳定性。</p>
<p>但关键不是&quot;全模型 FP4&quot;。如果暴力把所有层都压到 4 bit，模型在复杂推理、代码生成等任务上会出现明显退化。MiMo 的做法是<strong>选择性量化</strong>：</p>
<ul>
<li><strong>MoE Expert 层</strong>：占总参数量的绝大部分，且对量化容忍度最高 → 用 FP4</li>
<li><strong>Router 和 Attention 层</strong>：参数量小但对精度敏感 → 保持 FP8</li>
</ul>
<p>用人话说就是：大部分&quot;搬运工&quot;（Expert）换成了轻装，但&quot;调度员&quot;（Router）和&quot;注意力核心&quot;保留重装。这不是一个拍脑袋的决定，而是 MiMo 团队和 TileRT 在 profiling 阶段反复测量每层的精度敏感度后得出的工程策略。</p>
<p>这种做法和我们之前拆解过的 <a href="https://blog.hypho.cn/posts/kvarn-vllm-kv-cache-quantization-production/">KVarN 用 KV Cache 量化减少推理显存</a> 有异曲同工之处——都是瞄准推理 pipeline 中的带宽瓶颈做定点优化。区别在于，KVarN 压缩的是 KV Cache 的存储，MiMo 压缩的是模型权重本身的搬运。</p>
<h2 id="第二层dflash不只是猜得快而是猜的形态变了">第二层：DFlash——不只是&quot;猜得快&quot;，而是&quot;猜的形态&quot;变了</h2>
<p>量化解决的是&quot;每次搬运多少&quot;的问题，投机解码解决的是&quot;搬运几次&quot;的问题。</p>
<p>传统投机解码（Speculative Decoding）的思路很直觉：用一个小模型快速&quot;猜&quot;若干后续 token，然后大模型一次性验证。如果猜对了，就省了好几轮自回归生成。问题在于，<strong>草稿本身仍然是自回归的</strong>——小模型每猜一个 token 也要一轮前向传播，瓶颈依然存在。</p>
<p>DFlash（来自 <a href="https://github.com/z-lab/dflash">z-lab 的 DFlash 项目</a>，GitHub 近 5000 星）的做法完全不同：它用<strong>块级掩码并行预测</strong>取代了自回归草稿。具体来说：</p>
<ol>
<li>选取一个 token 块（比如 8 个位置），把其中一部分位置 mask 掉</li>
<li>草稿模型<strong>一次性</strong>预测所有被 mask 的位置，不需要逐个生成</li>
<li>大模型验证整个块的正确性</li>
</ol>
<p>这种&quot;块扩散&quot;方式从根本上绕过了草稿阶段的串行约束。我们在 <a href="https://blog.hypho.cn/posts/dflash-ddtree-speculative-decoding-llm-inference/">之前拆解 DFlash + DDTree 的文章</a> 中详细介绍过这个机制——当时是在消费级 RTX 3090 上跑 Qwen3.5-27B，做到了 207 tok/s。</p>
<p>MiMo × TileRT 把同一个思路搬到了万亿参数场景，并做了针对 MoE 架构的定制优化：</p>
<ul>
<li>使用 Muon 二阶优化器和模型自蒸馏来训练草稿头，确保在 FP4 权重下仍有高接受率</li>
<li>块大小限制在 8 个 token，控制单次验证的计算开销</li>
<li>在代码生成场景实测平均接受长度 6.30，最高 7.14——意味着每轮验证大概能&quot;一口气&quot;确认 6-7 个 token</li>
</ul>
<p>这个数字很重要。接受率太低（比如只有 3-4），投机解码的收益就被验证开销吃掉了。6+ 的接受长度意味着大模型每做一次前向传播，实际产出 6-7 个有效 token，等效地把推理速度翻了 5-6 倍。</p>
<h2 id="第三层tilert-的-tile-based-持久执行引擎">第三层：TileRT 的 Tile-Based 持久执行引擎</h2>
<p>如果说量化和投机解码是&quot;减少工作量&quot;，TileRT 做的是&quot;减少工作的间隙&quot;。</p>
<p>传统的推理框架（vLLM、TensorRT-LLM 等）把模型拆成大量独立算子，每个算子有独立的 kernel launch。在常规速度下（几十 tok/s），每次 launch 的开销（host 端调度、硬件同步、全局内存往返）可以被密集计算掩盖。但在 1000 tok/s 的频率下，每个算子的生命周期被压缩到微秒级，这些开销突然变成了主要瓶颈。</p>
<p>TileRT 的解决方案是一个全新执行模型——<strong>Persistent Engine</strong>：</p>
<ul>
<li>不再逐算子 launch，而是把整个计算管线打包成一个持续运行在 GPU 上的持久化引擎</li>
<li>当一个 Tile（数据块）在 Compute Core 上处理时，下一个 Tile 的数据已经通过多级内存层次（Global → Shared → Register）开始预取</li>
<li>引入 <strong>Warp Specialization</strong>：不同的 Warp 组被分配到不同角色（计算、数据搬运、通信），打破传统&quot;所有 Warp 做同一件事&quot;的刚性执行模式</li>
<li><strong>Heterogeneous Workers</strong> 将这种专业化策略扩展到多个 SM，实现跨 GPU 执行域的协调</li>
</ul>
<p>用人话翻译：传统推理引擎像一个流水线上每个工位都独立接单、独立交付的工厂；TileRT 把它变成了一个连续流动的传送带，每个环节的衔接间隙被压到了接近零。</p>
<p>这解释了为什么 TileRT 能从&quot;几百 tok/s&quot;跨越到&quot;1000+ tok/s&quot;——后者不是前者的线性延伸，而是需要一个质变的执行范式。</p>
<p><a href="https://github.com/tile-ai/TileRT">TileRT 本身是开源项目</a>（1277 星），已经在 GLM-5.1-highspeed 等生产环境中上线，不是纸上谈兵。</p>
<h2 id="三层叠加的工程细节">三层叠加的工程细节</h2>
<p>单独看每一层，都不算革命性创新——量化、投机解码、执行优化，业界都在做。MiMo × TileRT 的真正价值在于<strong>三层之间的协同设计</strong>：</p>
<table>
  <thead>
      <tr>
          <th>技术层</th>
          <th>独立效果</th>
          <th>协同设计的额外收益</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>FP4 量化</td>
          <td>减少 50% 显存带宽</td>
          <td>DFlash 草稿模型可以更小（因为目标模型已经是 FP4），验证更快</td>
      </tr>
      <tr>
          <td>DFlash 投机解码</td>
          <td>等效 6-7x 吞吐提升</td>
          <td>TileRT 的 Persistent Engine 消除了验证阶段的算子间歇，验证效率最大化</td>
      </tr>
      <tr>
          <td>TileRT 执行优化</td>
          <td>消除微秒级算子开销</td>
          <td>量化后的权重体积更小，预取管线可以更激进地重叠 I/O 和计算</td>
      </tr>
  </tbody>
</table>
<p>这种&quot;模型-系统联合设计&quot;（Model-System Codesign）是文章中最值得记住的概念。传统流程是：模型团队训好模型 → 系统团队想办法部署 → 各自优化 → 拼到一起。MiMo × TileRT 的做法是：<strong>在模型设计阶段就引入推理系统团队的约束</strong>，让模型架构天然适合超低延迟执行。</p>
<h2 id="1000-toks-到底能做什么">1000 tok/s 到底能做什么</h2>
<p>速度数字本身不是目的。MiMo 的博客列了三个场景，我认为其中两个真正有工程价值：</p>
<p><strong>1. Best-of-N / Tree Search 推理</strong></p>
<p>在相同的时间预算内，1000 tok/s 让模型可以并行跑几十条推理路径，自动选出最优解。这比&quot;等一个答案，祈祷它正确&quot;要可靠得多。对于代码生成、数学证明等需要探索的任务，这意味着质量的实质性提升，而不只是更快的打字机。</p>
<p><strong>2. Coding Agent 的实时交互</strong></p>
<p>开发者用 AI 写代码时，最大的体验杀手是&quot;等&quot;。1000 tok/s 意味着大段代码生成可以在几秒内完成，Agent 可以在同一个交互回合中完成&quot;写代码 → 测试 → 修复&quot;的完整循环，而不是让开发者盯着 loading 动画发呆。</p>
<p>第三个场景是&quot;毫秒级实时决策&quot;（量化交易、反欺诈），坦白说我持保留态度——这些场景对模型输出质量的要求和对延迟的要求往往互相矛盾，1000 tok/s 解决了延迟但没解决可靠性问题。</p>
<h2 id="对工程选型的实际意义">对工程选型的实际意义</h2>
<p>如果你在做 AI 基础设施选型，这个发布有几个值得注意的点：</p>
<p><strong>TileRT 是一个实际可用的开源推理引擎</strong>，不是实验室 demo。它已经部署在 GLM-5.1 的生产环境中。如果你的场景对延迟极度敏感（实时 Agent、交互式编码），值得评估。相比 <a href="https://blog.hypho.cn/posts/local-llm-ollama-llama-cpp/">本地推理引擎 Ollama/llama.cpp</a> 的定位是消费级硬件上的便捷部署，TileRT 的定位是数据中心级的极致延迟。</p>
<p><strong>DFlash 的块级预测方式</strong>正在成为推理加速的主流路径。4999 星不是没有原因的——它比传统投机解码更适合大模型、长序列场景。如果你用 vLLM 或 TensorRT-LLM，关注这两个框架对 DFlash 的集成进度。</p>
<p><strong>FP4 量化正在从&quot;勉强可用&quot;变成&quot;生产级&quot;</strong>。MXFP4 标准（<a href="https://github.com/microsoft/microxcaling">Microsoft 主导的 Microscaling 格式</a>）在极低比特下的数值稳定性已经被多个团队验证。但注意，MiMo 的成功依赖于 MoE 架构的特殊性——Expert 层天然对量化友好。如果你的模型是密集架构，全模型 FP4 的效果可能不如预期。</p>
<h2 id="一句话总结">一句话总结</h2>
<p>1000 tok/s 不是一个&quot;量化做得更狠&quot;的结果，而是模型架构和推理系统从设计阶段就深度耦合的产物。当推理速度开始像训练算力一样成为决定模型能力边界的变量时，&ldquo;Speed Scaling&quot;这个概念值得每个做 AI 基础设施的人认真对待。</p>
<hr>
<p><strong>信源</strong>：</p>
<ul>
<li><a href="https://mimo.xiaomi.com/blog/mimo-tilert-1000tps">MiMo × TileRT 官方博客</a></li>
<li><a href="https://www.tilert.ai/blog/breaking-1000-tps.html">TileRT 技术博客：Breaking 1000 TPS</a></li>
<li><a href="https://github.com/tile-ai/TileRT">TileRT GitHub（1277 星）</a></li>
<li><a href="https://github.com/z-lab/dflash">DFlash GitHub（4999 星）</a></li>
<li><a href="https://platform.xiaomimimo.com/docs/en-US/model-intro/mimo-v2.5-pro-ultraspeed">MiMo-V2.5-Pro-UltraSpeed 模型文档</a></li>
<li><a href="https://arxiv.org/abs/2310.10537">MXFP4 Microscaling Formats 规格</a></li>
</ul>
]]></content:encoded></item></channel></rss>