[控场AI]
· 5 分钟阅读· 2,838 字

12GB显卡跑125B MoE?Strata三级协同引擎解析

12GB显卡跑125B MoE?Strata三级协同引擎解析

Strata 用三级存储分层让 12-16GB 家用显卡跑 125B 稀疏 MoE,达 40-95 Token/s。

开源 C++ 推理引擎 Strata 提出了一条在家用显卡上运行 125B 参数 MoE 模型的新路径:不靠堆显存,而是把显存、系统内存和 NVMe 固态组织成三级流水线,让 12GB-16GB 显存的家用卡跑出 40-95 Token/s 的生成速度。其前提是模型必须是极度稀疏的 MoE——125B 主干每个 Token 仅激活约 6B 参数,稠密模型如 27B 无法套用。存储上,高频专家与注意力层驻显存,24,576 个专家池放系统内存,约 51B 参数的 Ngram 表映射到固态按需读取。配合投机解码与分块预填充摊薄访存成本,再按建议配置 48-64GB 内存与 70-80GB 固态空间,即可用启动脚本自动匹配量化档位并本地起服务。

家用显卡跑大模型的现实困境

想在台式机上本地跑 125B 参数的 MoE 模型,过去基本等同于「多卡服务器」的代名词。显存不够就得频繁换页,速度掉到不可用的程度。开源 C++ 推理引擎 Strata 提供了一个新思路:不靠堆显存,而是把显存、系统内存、NVMe 固态硬盘这三层存储组织成一条流水线,让一张 12GB 到 16GB 显存的家用卡也能跑出 40 到 95 Token/s 的生成速度。

这个数字能否落地,取决于三件事——模型选对、内存备足、分层看懂。下面按这个顺序拆解。

前提条件:模型架构必须匹配

Strata 的设计目标是极度稀疏的 MoE 模型。以 Kunon 3.8 FlashNext 为例,主干 125B 参数,总共 24,576 个专家,每层 512 个路由专家中每个 Token 只激活 10 个,单次实际参与计算的参数量约 6B。也就是说,125B 是「仓库容量」,6B 是「每次搬运量」,这才是小显存能跑起来的根本原因。

共24,576个专家

反过来,QN3.8 27B 这类稠密模型每个 Token 都要完整读完 27B 的全部权重,无法套用 Strata 的稀疏调度策略。选错模型,后面的硬件优化都是空谈。

MoE(混合专家)架构是理解本文的关键前提。与稠密模型每个 Token 都要过一遍全部参数不同,MoE 在每一层设置了多个并行的「专家」子网络,并通过一个路由网络(Router)为每个 Token 只挑选少数几个专家参与计算。因此模型的总参数量(仓库容量)和单次实际计算量(激活参数)是两回事。本文中的 125B 主干之所以能被小显存驱动,正是因为它虽然存了 24,576 个专家,但每个 Token 只激活 10 个、约 6B 参数。

量化档位(如 IQ2、IQ3) 指的是对模型权重做低比特压缩的精度等级。IQ 系列属于带重要性加权的量化方法,数字越小压缩越狠、占用空间越小,但精度损失也越大。IQ2 约等于每权重 2 比特出头,IQ3 约 3 比特。这也是为什么 125B 模型能被塞进 48-64GB 内存与几十 GB 固态的关键——如果不做量化,光权重本身就要数百 GB。

三级硬件分工:显存、内存、固态各司其职

模型除了 125B 主干,还带有一张约 51B 参数的 Ngram 表。Strata 对这份额外权重的处理方式是映射到 NVMe 固态硬盘上按需读取,而不是常驻内存。

约51B参数的Ngram表

余下的部分按访问频率分层:全部 24,576 个专家池放进系统内存,注意力层和几千个高频热点专家留在显存。日常运行建议使用 IQ2 或 IQ3 量化档,系统内存准备 48GB 到 64GB,NVMe 固态硬盘留出 70GB 到 80GB。

这种分层的逻辑并不复杂:显存放最热的数据,内存放次热的专家池,固态兜底冷数据。真正的难点在于,如果每次只蹦一个词就去等内存,速度会被访存延迟完全拖垮。

Ngram 表可以理解成一张「短语查表」:它记录了文本中常见的连续词片段及其后续可能的延续,推理时用来快速给出候选词,配合投机解码提升命中率。本文中这张表约 51B 参数,体量已经接近主干单次激活量,因此不适合常驻显存或内存,而是放到 NVMe 上按需读取。这也解释了为什么固态的随机读性能(而非顺序带宽或容量)会直接影响首 Token 延迟——查表是典型的小块随机访问,IOPS 和延迟比大文件拷贝速度更重要。

不卡的两个关键:投机解码与分块预填充

Strata 用了两项手段来摊薄访存成本。

第一是投机解码。模型自带 MTP 多词预测层,可以一次草拟多个后续 Token,再批量验证,把原本多次串行的访存合并成一次批量操作。

一次草拟多个后续Token并批量验证

第二是分块预填充。对长输入场景,把预填充拆成块逐步推进,官方给出的预填充速度在填点卡上可达 1000 到 2600 Token/s。这两项叠加,才让 40 到 95 Token/s 的生成速度在家用硬件上成为可能。

投机解码(Speculative Decoding) 是一种用「小步快跑 + 批量校验」换取速度的技术。常规自回归生成每产出一个 Token 都要完整跑一次前向、访问一次权重;投机解码则先用一个轻量的草稿模型(本文中是模型自带的 MTP 多词预测层)一次性猜出多个候选 Token,再让主模型在一次前向中并行验证这些候选,接受其中正确的部分。由于访存是批量完成的,单位 Token 的显存/内存访问开销被显著摊薄,这正是小显存能跑出高 Token/s 的核心机制之一。

MTP(Multi-Token Prediction,多词预测) 是训练时让模型同时预测未来多个位置 Token 的辅助目标,它天然产出一个能快速草拟后续 Token 的预测头,因此在推理阶段可以直接充当投机解码的草稿来源,而无需额外单独训练一个小模型。

照着配硬件和启动

硬件门槛可以归纳为三条:显卡 12GB 到 16GB 显存,系统内存 48GB 到 64GB,NVMe 固态硬盘预留 70GB 到 80GB。

启动流程对普通用户比较友好。Windows 直接运行 starthere.bit,Linux 运行 setup.10 脚本,脚本会自动检测硬件并匹配 IQ2XS 或 IQ3IXS 等量化档位,随后在本地 8080 端口启动兼容 OpenAI 与 Anthropic 的接口。

Windows直接运行starthere.bit

选型边界

  • 有 48GB 以上内存、12GB 以上显存,想在本地体验 125B 级 MoE 并接入代码助手:Strata 是合适的选择。
  • 只有 6GB 或 8GB 显存、跑 35B 级 MoE:可以看 FreeToken。
  • 跑 27B 稠密模型:需要专门的稠密推理引擎,Strata 的稀疏调度帮不上忙。

实践建议

这套方案的核心不是「小显存跑大模型」的营销话术,而是把稀疏 MoE 的激活特性用到了极致。实际部署时,系统内存容量比显存更值得优先保证——48GB 是底线,64GB 更稳妥。另外,Ngram 表放在 NVMe 上意味着固态的随机读性能会直接影响首 Token 延迟,选一块随机读性能扎实的盘比单纯追求容量更有意义。欢迎在评论区分享你的配置和实测速度。

#Strata#125B MoE#本地部署大模型#小显存跑大模型#三级协同#投机解码#稀疏MoE推理
分享:

相关推荐