当前位置:首页 > 软件工具 > 正文

Kimi K3.1 Pro 的 1.56TB:8 卡机装不下,下载 48 小时

约 4249 字 · 预计阅读 11 分钟
一句话总结:Kimi K3.1 Pro 总参数 2.78 万亿、激活 1040 亿,权重文件 1.56TB,折合 4.49 bit/参数;单机 8 卡 H200 共 1128GB,缺口 432GB,要 12 张卡才装得下权重。

朋友在做投研 agent,看到 K3.1 Pro 开源,问能不能在他们那台 8 卡机上自托管。

我算了一下:装不下。不是"紧一紧能塞进去"的装不下,是差 432GB 的装不下。

这个数值得写清楚,因为开源模型的宣传里很少提权重文件的绝对体积。

Kimi K3.1 Pro 的 1.56TB 是怎么来的

模型页给的参数量是 2780.11B,权重总量 1.56TB。

两个数一除,就是量化位宽:1.56e12 字节 × 8 / 2.78e12 参数 = 4.49 bit/参数。

这个数对得上官方标注的 MXFP4。MXFP4 是 4 位尾数、每 32 个一组共享一个指数,理论开销 4.25 bit/参数。实测 4.49,多出来的 0.24 bit 说明有一部分参数没用 4 位存。

按 8 位和 4.25 位两组解方程:0.24 / (8 − 4.25) ≈ 6.4%。也就是说大约 6% 的参数还在 8 位精度上——通常是注意力层、归一化层和嵌入层,这些层对精度敏感,压到 4 位会明显掉点。

顺带说一个容易踩的坑:TB 的进制。如果 1.56TB 是十进制,权重是 1.418 TiB;如果厂商按二进制写的,那实际是 1.715TB。两种读法差 10%,后面的账会全错。我按十进制算,因为这个数更保守。

Kimi K3.1 Pro 的规格表:2.8T 参数怎么切

维度 数值
总参数 / 激活参数2780.11B / 104B
稀疏度26.7 倍
层数93(69 层 KDA + 24 层 Gated DSA)
专家数896,每 token 选 16,另有 2 个共享专家
隐层维度7168
注意力头数96
词表160K
上下文1,048,576 token
视觉编码器MoonViT-V2,401M
量化MXFP4 权重 / MXFP8 激活
权重体积1.56TB

93 层里只有 24 层是带稀疏索引的全注意力,其余 69 层换成了 Kimi 线性注意力。这个结构对 KV 的影响比权重更大,单独写了一篇算这笔账。

896 个专家、每 token 只激活 16 个,是 26.7 倍稀疏度的来源。这个设计省算力,但不省显存——所有专家都得常驻,只有计算的时候才挑 16 个。

下载:1.56TB 要多久

按不同带宽算:

下行带宽 实际速度 耗时
100 Mbps9 MB/s48.1 小时
300 Mbps30 MB/s14.4 小时
1 Gbps100 MB/s4.3 小时
1 Gbps 满载125 MB/s3.5 小时

我这边实测过 9 MB/s 这个档位——单线程走 Ollama blob 的 307 跳转时就是这个速度,后来改用分块 range 并行才上去。1.56TB 按 9 MB/s 要连续下两天,中途断一次就得靠续传。

分片是个现实问题。Hugging Face 的惯例是每个分片 5GB 左右,1.56TB 就是 312 个文件。312 个文件里丢一个,加载器会告诉你"缺 shard 207",但不会告诉你缺哪个张量。

磁盘也要算。下载时的临时文件和最终权重各占一份,峰值至少 3.2TB。要是还想留一份原始 FP8 备份,翻倍。

显存:8 卡 H200 装不下

Kimi K3.1 Pro 的 1.56TB:8 卡机装不下,下载 48 小时

图 1:上条为权重体积,下条为 8×H200 的显存总量,缺口 432GB 高亮。数据来源:模型页参数与 H200 单卡 141GB 显存计算

H200 单卡 141GB,8 卡是 1128GB。

1.56TB = 1560GB。1560 − 1128 = 432GB 缺口。

这意味着三种做法:

  • 12 卡:1692GB,权重占 92%,留给 KV 和激活值的空间只剩 132GB,跑 1M 上下文不够
  • 16 卡:2256GB,权重占 69%,这个比例才合理
  • 8 卡 B300:288GB × 8 = 2304GB,权重占 68%,单机方案

顺带说,上一篇算 Kimi K2.7 的时候,640GB 权重放在 8 卡机上占 56.7%,还有富余。K3.1 把体积干到了 2.4 倍,直接跨过了单机可行的边界。

这个升级很典型:参数量从千亿级走到万亿级,硬件需求不是线性增长,是"从一台机器变成一个机柜"。

Kimi K3.1 Pro 每 token 要读 58GB 权重

顺手算一下推理的带宽压力。

每 token 激活 104B 参数,按 4.49 bit 存,需要读进 104e9 × 4.49 / 8 = 58.4GB 的权重。

H200 的单卡带宽 4.8TB/s。8 卡张量并行时,每张卡只读自己那一片,58.4 / 8 = 7.3GB,除以 4.8TB/s 是 1.52 毫秒,理论上限约 658 token/s。

这个数是天花板,实际到不了。原因有两个:专家路由要全卡通信,896 个专家分到 8 张卡上,每次路由都是一次 all-to-all;每 token 激活的 16 个专家分布在不同卡上,通信量压不下来。

所以真实吞吐大概率在百 token/s 量级。我没实测,这个数标存疑。

和 K2.7 比,翻了 2.4 倍

项 K2.7 K3.1 Pro
权重体积640GB1.56TB
量化约 5.1 bit/参数4.49 bit/参数
8×H200 占用56.7%138%
结论单机可行单机不可行

有意思的地方在这里:K3.1 的量化更狠(4.49 对 5.12),但参数量涨得更快,所以总量还是翻了一倍多。

量化救不了参数量。4 位已经是可用精度的下限,再往下压就是 2 位、1.58 位那些方案,质量会崩。

关于 Kimi K3.1 Pro 自托管的五个问题

普通公司有必要自托管吗? 大部分没有。16 卡的机器成本加运维,摊到 API 调用上要跑很久才回本。自托管的价值在数据不出域和可微调。

能不能只加载部分专家? 不能。MoE 的专家是按 token 动态路由的,少加载一个专家,碰到它负责的输入就出错。有些实现支持专家卸载到 CPU,但速度掉到不可用。

1M 上下文在自托管里能用吗? 权重占 69% 之后剩 700GB 左右,1M 上下文的 KV 要 123GiB(含索引器),够放。但那是单请求的量,并发一上来就不够了。

开源的权重能商用吗? 模型页写的是 kimi-k3.1-pro 协议,不是 Apache 或 MIT。用之前把协议读完,尤其是用户量和署名条款。

下载有更快的办法吗? 分块并行能到 30-40MB/s,比单线程快三倍以上。国内走镜像站通常比直连快,但要注意镜像的同步延迟。

结语

1.56TB 这个数字的意义不在"大",在它把自托管的门槛从"一台 8 卡机"推到了"两台"。

开源模型这两年一直在做同一件事:把能力往前推,同时把硬件门槛往前推。K3.1 Pro 站在了"单机放不下"这条线的另一侧。

如果你的场景真的需要它,先算三个数:权重体积能不能装下、每 token 要读多少权重、剩下的显存够不够放 KV。三个都过了,再谈部署。

模型卡上写的参数量是给评测看的,权重文件的大小才是给运维看的。

参考资料

目录导航
  • Kimi K3.1 Pro 的 1.56TB 是怎么来的
  • Kimi K3.1 Pro 的规格表:2.8T 参数怎么切
  • 下载:1.56TB 要多久
  • 显存:8 卡 H200 装不下
  • Kimi K3.1 Pro 每 token 要读 58GB 权重
  • 和 K2.7 比,翻了 2.4 倍
  • 关于 Kimi K3.1 Pro 自托管的五个问题
  • 结语
    • 参考资料
  • 相关文章:

  • Kimi K2.7 Code 自托管:640GB 权重,消费卡差 27 倍
  • 发表评论

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。