Kimi K3:架构、训练与推理系统研究
沿一次 Kimi K3 前向过程,系统解释 Hybrid KDA–MLA、AttnRes、Stable LatentMoE、长上下文训练和在线推理系统
Kimi K3 的看点是同时扩大三条信息通路:KDA 沿 token 序列压缩并更新历史,AttnRes 跨深度选择前层表示,Stable LatentMoE 在宽度方向调用大量专家。理解 K3 最直接的路径,是跟随一个 token 走完一次前向。
- 一句话:K3 用 69 层固定状态 KDA 承担大部分长序列混合,用 24 层 Gated MLA 周期性恢复全局逐 token 访问,再用 AttnRes 和 Stable LatentMoE 扩展深度与宽度信息流。
- 三个判断:KDA state 是固定大小的递推矩阵,与 KV Cache 属于两类对象;层序为
KDA×3 → MLA×1重复 23 次、末尾再补一层 MLA;MXFP4 的作用范围限于 routed expert 权重。 - 核心模型:2.78T total / 104.2B activated,93 层,hidden size 7168,96 heads,896 routed experts、top-16、2 shared experts,最大上下文 1,048,576。
- 边界:本文基于 2026-07-27 技术报告、官方配置和参考实现;生产集群的 TP/PP/EP 规模、实际 kernel 时延与完整容量数据仍属内部信息。
1. 先冻结真实配置
以下参数同时得到 K3 技术报告 Table 1 与发布版 config.json 支持。报告中的圆整说法是 2.8T / 104B,精确表格口径是 2.78T / 104.2B。
| 维度 | Kimi K3 | 解释 |
|---|---|---|
| 总参数 | 2.78T | 大部分位于 routed experts |
| 每 token 激活参数 | 104.2B | 每 token 只走这条计算路径 |
| Transformer 层数 | 93 | 69 KDA + 24 Gated MLA |
| Hidden size | 7168 | 与 Kimi K2 相同 |
| Attention heads | 96 | KDA head dim 为 128 |
| Routed experts | 896 | 每层专家池 |
| Active routed experts | 16/token | 稀疏度为 896/16 = 56 |
| Shared experts | 2 | 每 token 都执行 |
| LatentMoE width | 3584 | full width 的 0.5× |
| Expert intermediate | 3072 | routed expert 的 GLU 中间维度 |
| Dense FFN layers | 1 | 仅第 1 层为 dense,其余层走 MoE |
| Vocabulary | 163,840 | 配置中的 vocab_size |
| 最大上下文 | 1,048,576 | 即 1M token |
| ViT | 401M / 27 层 | patch size 14,12 heads |
| AttnRes block size | 12 层 | 8 个 layer blocks,另含 embedding source |
1.1 真实层序
发布配置明确列出全局注意力层:
4, 8, 12, ..., 88, 92, 93
因此前 92 层是 23 个四层混合组:
Layer 1 KDA
Layer 2 KDA
Layer 3 KDA
Layer 4 Gated MLA
...
Layer 89 KDA
Layer 90 KDA
Layer 91 KDA
Layer 92 Gated MLA
Layer 93 Gated MLA # 额外的最终全局层
这恰好得到 23 × 3 = 69 个 KDA 和 23 + 1 = 24 个 MLA。最后再放一个 MLA,是为了保证 backbone 的最终层一定执行全局注意力。
KDA/MLA 的“四层混合组”描述 token mixing 的排列;AttnRes 的“12 层 block”描述 depth mixing 的缓存和聚合边界。前者作用于 token 维,后者作用于深度维。
2. 沿一次前向过程看 K3
输入首先变成共享 hidden states,然后依次通过 93 个 attention + FFN/MoE 层:
文本 token ───────────────┐
├─> shared embeddings
图像/视频 -> MoonViT-V2 -> MLP projector ┘
-> AttnRes 选择本层输入
-> RMSNorm
-> KDA 或 Gated MLA
-> 更新当前 AttnRes block 的 prefix sum
-> AttnRes 再选择 MoE 输入
-> RMSNorm
-> Dense FFN(仅首层)或 Stable LatentMoE
-> 更新 block prefix sum
-> 下一层
-> final AttnRes -> RMSNorm -> LM Head
标准 PreNorm Transformer 只有单一 residual stream;K3 的 hidden_states 更像当前 12 层 block 内的部分和,同时保存此前 block 的表示。每个 attention 和 MoE 子层开始前,AttnRes 都会重新决定“从哪些深度取信息”。
3. KDA:把历史写进固定状态
3.1 状态更新公式
对单个 head,令 ,,状态 。KDA 的一步更新为:
可以把它拆成三个动作:
Diag(α_t):每个 key channel 独立遗忘旧状态;I - β_t k_t k_tᵀ:先擦除旧状态在当前 key 方向上的内容;β_t k_t v_tᵀ:再把当前 value 写到该 key 方向。
等价的直觉形式是:
括号里的量是“希望写入的 value”和“当前状态已经读出的 value”之间的误差。这就是 delta rule:按误差量修正一份有限状态。
3.2 q、k、v、α、β 从哪里来
官方参考实现的主路径是:
x
├─ Wq -> ShortConv(k=4) -> Swish -> L2Norm -> q
├─ Wk -> ShortConv(k=4) -> Swish -> L2Norm -> k
├─ Wv -> ShortConv(k=4) -> Swish -> v
├─ low-rank decay projection -> α
└─ Wβ -> Sigmoid -> β
ShortConv 给 KDA 一个很短的局部时序感受野;递推状态负责压缩更长历史。 控制当前 token 的写强度, 则是细到每个 key channel 的保留率。
K3 把 log-decay 改为有下界的参数化:
于是每步 retention 都满足 。这项下界同时带来 kernel 收益:16-token tile 的累计 log-decay 被限制在 ,倒数缩放落在 BF16 动态范围内,对角 tile 因此可以直接用 Tensor Core dense matmul 一次算完。
3.3 K3 相比 Kimi Linear 的另一项变化
KDA 输出先做 head-wise RMSNorm,再乘输入相关的 full-rank gate:
Kimi Linear 使用低秩输出门;K3 改成 full-rank,让每个 token 独立调制读出的各个 channel。
3.4 KDA state 与 KV Cache 的本质区别
| 对象 | 规模随上下文 | 表示什么 | Decode 动作 |
|---|---|---|---|
| Full/MLA KV Cache | 线性增长 | 每个历史 token 的可检索表示 | 当前 query 读取历史 entries |
| KDA recurrent state | 恒定 | 全部历史压缩后的矩阵状态 | 原地更新一个固定矩阵 |
| ShortConv state | 恒定 | 最近几个投影 token | 更新长度 4 的局部窗口 |
K3 配置为 96 heads、。单个 KDA 层、单个请求的主 recurrent state 逻辑元素数为:
若只按 BF16 payload 粗算约为 3 MiB/层;69 层约 207 MiB/请求,此外还有 ShortConv state、对齐、分片、checkpoint 和运行时副本。这是根据公开 shape 的逻辑量推导,生产 resident memory 需以实测为准。
4. 为什么仍然需要 Gated MLA
KDA 的优势与代价同源:状态大小恒定,代价是任意长历史都被压缩进一个有限矩阵,历史 token 因此失去 softmax attention 那种独立寻址入口。
K3 于是保留 24 层 Gated MLA,让它周期性承担全局内容检索:
| KDA | Gated MLA |
|---|---|
| 固定 recurrent state | 随 token 增长的 latent KV |
| 强于顺序、局部与 recency mixing | 强于跨长距离的全局内容寻址 |
| Decode 成本与历史长度解耦 | 读取全局历史,缓存表示已压缩 |
| NoPE 下隐式携带位置线索 | K3 中同样使用 NoPE,位置敏感性由 KDA 层提供 |
MLA 先把 hidden state 压缩为 latent:
再上投影为各 attention heads 的 content key/value。K3 的 MLA 走 NoPE,在每 3 个 KDA 层之后读取一次全局内容。扩展到 1M context 时因此省去 RoPE base 调整与 YaRN。
MLA 输出也使用 full-rank channel gate:
所以“Gated MLA”的 gate 作用在 attention 输出的 channel 维度上,由当前输入决定开合。
4.1 与 Full Attention、MLA、DSA 的对照
| 机制 | 历史表示 | 每步访问 | 长上下文主要代价 |
|---|---|---|---|
| Full Attention | 完整逐 token K/V | 全历史 | KV 容量与 dense attention |
| MLA | 逐 token latent KV | 全历史 | cache 变小,访问长度仍为 |
| DSA | 逐 token latent KV + indexer | 选出的 top-k 历史 | 索引扫描、稀疏 gather 与 cache |
| KDA | 固定 recurrent state | 当前 state | 状态更新串行依赖与大 state 流量 |
| K3 Hybrid | 69 层 KDA + 24 层 MLA | 多数层读 state,周期性读全历史 | 两类 cache、两套 kernel 与一致性管理 |
表中 DSA 指 DeepSeek Sparse Attention,此处仅作“稀疏选择历史”的对照,属于 K3 之外的方案。DSA 削减主 attention 参与计算的 token 数,代价留在 indexer 与逐 token cache;KDA 则直接改变历史的表示形式。
5. AttnRes:沿网络深度做 Attention
普通 residual connection 把所有前层信息累加进一个 hidden state。层数增加后,早期表示容易被连续归一化和残差累加稀释。AttnRes 把深度看成另一条可检索序列。
5.1 Full AttnRes
第 层使用一个可学习 pseudo-query ,对 embedding 与所有前层输出计算 softmax 权重:
它的 depth arithmetic 只有 , 时开销很小;真正的瓶颈是保存所有层输出带来的 activation 和 pipeline communication。
5.2 Block AttnRes
K3 每 12 层形成一个 block,将 block 内输出累加为一个 prefix_sum,跨 block 只保存 block representation。对每个 attention/MoE 子层:
历史 block representations + 当前 block prefix_sum
-> RMSNorm keys
-> 本层 pseudo-query 打分
-> softmax over depth
-> 加权合成为本子层输入
93 层形成 8 个 layer blocks,其中最后一个为 9 层;再把 embedding 作为第 0 个 source,共得到 9 个 block-level sources。内存与通信从 降为 。
6. Stable LatentMoE:沿宽度扩展专家空间
6.1 一次 routed path
对每个 token :
x
├─ two shared experts at full width ----------------------┐
└─ router: Sigmoid(Wr x) │
-> bias-corrected top-16 of 896 │
-> W_down: 7168 -> 3584 │
-> dispatch to 16 latent experts │
-> weighted combine -> RMSNorm -> W_up: 3584 -> 7168 │
├─> add
shared path ----------------------------------------------┘
LatentMoE 的关键是:router 仍看 full-width hidden state,routed expert 则只处理 3584 维 latent。EP payload 与每个专家的权重流量都按 latent 宽度计费,active expert 数因此可以放到 16。
6.2 三个“Stable”控制点
- Normalized LatentMoE:16 个 routed expert 聚合后先 RMSNorm,再做
W_up,压住各种路由组合造成的尺度漂移。 - SiTU-GLU:对 gate branch 和 up branch 分别 soft-cap,K3 使用 、,把 SwiGLU 两个无界分量的乘积约束在有限范围。
- Quantile Balancing:用专家 bias 调整下一批 token 的 top-k 选择,使每个专家接近目标负载;bias 只影响选择,mixture weight 仍取原始 router 分数,推理时冻结。
SiTU-GLU 为:
Quantile Balancing 用直方图近似全局 quantile:每个 expert 维护一份 histogram,各 rank 的 bin counts 做一次 all-reduce 即可,省去收集全部 margin。
7. 原生视觉路径
K3 从预训练第一步就联合优化文本 backbone 与 MoonViT-V2,视觉编码器与语言模型同期成长。
- MoonViT-V2:27 层、约 401M 参数、12 heads、patch size 14;
- 从随机初始化开始直接用 next-token prediction 训练;
- 图像和视频共享参数,attention 分为空间与时间两部分;
- 投影前做
2×2 pixel shuffle,视觉 token 数减少 4 倍; - 支持最高 3584×3584 输入;
- 轻量 MLP projector 将视觉特征映射到 LLM embedding space。
报告的消融显示,从头训练的 MoonViT-V2 相比 SigLIP 初始化的 MoonViT-3D 具有更低、更少尖峰的 gradient norm,同时视觉评测相当。该结论的适用范围限于 K3 的训练方案。
8. 架构是怎样确定的
公开证据可以支持三层结论:
- 前身实验:Kimi Linear 在相同训练 recipe 下比较 KDA–MLA hybrid 与 full MLA,报告 hybrid 在短上下文、长上下文和 RL scaling 中都有质量优势,并在 1M context 展示更低 KV 占用和更高 decode throughput。
- K3 scaling law:团队为新架构重新搜索 batch size、learning rate、tokens-per-parameter 和 model shape;cosine 与 WSD 各自寻优后再比较。
- 最终联合收益:K3 技术报告披露的口径是“架构、数据与训练 recipe 合计约 2.5× scaling efficiency”,模块级归因留给后续消融。
所以合理的表述是:K3 建立在小模型与缩放实验之上,2.5× 属于整体收益。
9. 训练系统
9.1 预训练 recipe
- 文本、图像和视频从训练开始就在同一 next-token objective 下联合优化;
- matrix parameters 使用 Per-Head Muon,attention 的 Q/K/V momentum 按 head 分块正交化;
- cosine learning-rate decay,1% linear warmup,weight decay 0.1;
- 预训练先使用 8K context,随后扩到 64K;
- long-context cooldown 再按 256K → 1M 扩展。
K3 全 backbone 使用 NoPE,位置信息由 KDA 的卷积、递推门控和 decay 隐式提供,扩到 1M 时因此省去位置编码的重新标定。训练数据侧通过长文档/视频清洗、去重、感知哈希、质量过滤和合成长程依赖任务,把长程依赖压进训练信号。
9.2 3T MoE 并行与 MoonEP
报告公开的训练并行组合包括:
PP + virtual pipeline stages
+ EP
+ ZeRO-1 data parallelism
+ Pipeline ZeRO-2 gradient sharding
+ Context Parallelism
具体并行度属于内部配置。MoE 侧使用 MoonEP:根据当前 micro-batch 路由结果动态复制少量热点 experts,使每个 EP rank 精确接收相同的 sequence × top-k token 数。平衡后每层 shape 静态已知,host 逐层读取 expert token count 的同步随之省去。
MoonEP 还将 token 直接送到远端 expert-grouped buffer,路径上省去中间 copy;routed expert GEMM 使用 workload-aware 调度,共享 expert 放到独立 stream 与其他工作重叠。
9.3 KDA Context Parallelism
普通 linear attention 的 additive state 可以直接对 rank 局部结果求前缀和;KDA 的 token-dependent transition 会改变传入 state,各 rank 从零算出的状态因此需要先乘上累计 transition 再组合。
KDA Context Parallelism(KCP)让每个 rank 独立计算两项:
- 本段 token 对输入 state 的累计 transition;
- 从零状态出发生成的本地 state。
这些 rank-level updates 可结合,因而通过一次固定大小的 all-gather 和有序 prefix scan,精确恢复各 rank 的输入 state。KCP 同步的是固定大小 transition/state fragments;softmax CP 传输的 KV blocks 则随序列增长。
9.4 MXFP4 QAT 的准确边界
MXFP4 的生效区间是 post-training:从 SFT 开始贯穿全程,预训练仍走高精度。
| 模块 | 部署/后训练精度 |
|---|---|
| Routed expert weights | MXFP4,group size 32 |
| Routed expert input activations | MXFP8 |
| Attention projections | 更高精度 |
| LatentMoE down/up projections | 更高精度 |
| Shared experts | 更高精度 |
| Router、LM Head、Vision | 更高精度 |
RL rollout 与训练共用同一量化方案,让 train 与 inference 的数值路径保持一致。发布配置的 ignore 规则同样把 attention、shared experts、非 routed-expert MLP、LM Head、vision tower 和 projector 留在高精度。
10. Agentic RL
K3 先用 SFT 建立 agent cold start,再按三个领域与三个 reasoning effort 训练九个专家策略:
general tasks × {low, high, max}
general agents × {low, high, max}
coding agents × {low, high, max}
随后用 Multi-Teacher On-Policy Distillation 合并回一个模型。长任务使用 partial rollout:一部分轨迹完成后先进入更新,其余轨迹暂停并在后续 iteration 恢复,更新节奏因此与长尾任务解耦。
1M agentic trajectory 的系统重点落在跨 iteration 的状态保存:
- active decode blocks 留在 GPU;
- GPU 驱逐的可复用 prefix 以 write-back 方式进入 CPU DRAM;
- KDA states 与对应 MLA KV blocks 一起 offload/prefetch;
- scheduler 根据 active/queued requests 和 KV utilization 动态限流;
- AgentENV 用 microVM 保存工具环境,支持 pause/resume、fork 和增量 snapshot。
11. 推理系统:Prefill 与 Decode 分别做什么
11.1 Prefill
Prefill 处理本轮未命中的 prompt/视觉 tokens:
- MoonViT-V2 编码图像/视频并投影到共享 embedding;
- KDA 层生成 q/k/v、ShortConv state、decay 和 write gate;
- FlashKDA 在 chunk 内并行,在 chunk 间传播 recurrent state;
- MLA 层对完整可见 prefix 执行 global attention 并写入 MLA cache;
- 每层执行 AttnRes 与 Dense/Stable LatentMoE;
- 保存最终 KDA states、ShortConv states 和 MLA KV 供 decode 使用。
KDA kernel 的 chunk 是算子内部的并行单位,与 serving scheduler 的 chunked prefill 分属两个层面。超长 prefill 时纯 TP 只切 heads,递推链长度保持原样;K3 因此叠加 device 内与跨设备 context parallelism 来切 sequence。
11.2 Decode
Decode 每步只推进新 token:
- KDA 读取并原地更新固定 recurrent state;
- MLA 把新 latent KV 追加进 cache,并读取历史做 global attention;
- AttnRes 从缓存的 block representations 与当前 block partial sum 选择输入;
- Stable LatentMoE 为 token 选择 16 个 routed experts,加上 2 个 shared experts;
- LM Head 产生 logits,采样后进入下一步。
所以 K3 的 cache 是混合形态:69 个 KDA 层持有固定 state,24 个 MLA 层持有随上下文增长的 KV。
11.3 MTP / EAGLE-3 与 KDA 回滚
报告称 K3 预训练了一个与 backbone block 同结构的 MTP layer,post-training 时将它微调为 EAGLE-3-style draft model,训练时展开 7 steps。
投机验证给 KDA 带来一条额外约束:state 随每个 draft token 原地推进,reject 后需要重建,而 KV Cache 只需截断。生产方案只缓存体积更小的 projected inputs;验证结束后在片上 replay 被接受的 token,重建正确 state,再写回 verified/bonus token 状态。
发布的目标模型 config.json 中 num_nextn_predict_layers=0,即公开 target checkpoint 把 next-N layer 留在配置之外;报告中的 draft serving 路径应视为独立的 draft artifact 与系统能力,实际开启状态需另行确认。
12. 混合 Cache 与 Prefix Reuse
K3 prefix 只有在同一 token 边界同时具备 MLA KV 和全部 KDA state checkpoint 时才可复用。
12.1 统一 paged pool
生产系统把两种数据放进同一 paged block pool:
- MLA pages:逐 token 增长;
- KDA pages:每请求固定 state,heads 连续存放;
- allocation、reference count、eviction 使用同一实现;
- P/D 两端 TP 规模有差异时,在 transfer path 做 re-layout。
“统一 pool”统一的是生命周期与分配器,两种 payload 各自保留自己的形态。
12.2 hash 粒度与物理页解耦
KDA checkpoint 体积很大,保存粒度因此比 token block 粗。报告把物理页扩大到 1024–6144 tokens,把 prefix hash endpoint 保持在更细粒度,例如 512 tokens:
6144-token physical page
└─ 12 × 512-token hash endpoints
└─ 只在部分 endpoint 保存 KDA checkpoint
查找先匹配 MLA hash,再要求每个 KDA cache group 在同一边界都有 checkpoint;最终命中二者共同满足的最长边界。conversation-turn boundaries 是保留 KDA checkpoint 的自然位置。
并发下还必须保证:命中块先统一 pin;正在分配或复制中的块推迟到完成后才参与匹配;任一 KDA group 驱逐 checkpoint 时,其 sibling checkpoints 一起失效。
13. FlashKDA 与专用 Kernel
13.1 Training / Prefill kernel
公开的 FlashKDA 是 CUTLASS chunkwise kernel,面向 SM90+、CUDA 12.9+。K3 版本使用 16-token chunk:
- 16-token 累计 decay 可安全落在 BF16 范围;
- inverse 可以用较便宜的 Neumann-series;
- token-parallel K1 与 head-parallel recurrent K2 拆成两个 kernel,各自匹配自己的并行维度;
- state 在片上以 BF16 保存,state update 使用 FP32 FMA;
- K2 用寄存器内 transpose,减少 shared-memory round trip。
FlashKDA 仓库暴露的 state shape 是 [B, H, V, K],当前要求 K=V=128,与 K3 发布配置一致。
13.2 Decode kernel
生产 decode kernel 把 ShortConv、输入归一化、gate、KDA recurrence 和输出归一化放进一个 recurrent loop;投机解码还把 replay、bonus token 与下一 draft window 合并。优化目标是压低大 state 的 HBM 往返次数,token 维并行度维持原样。
13.3 AttnRes 与 MoE kernel
- AttnRes Prefill:TP all-reduce 拆成 reduce-scatter + all-gather,在中间对 sequence-sharded hidden states 执行 intra-block kernel,让每个 TP rank 只持有自己分片的 block representations;
- AttnRes Decode:inter-block pass 放 side stream,与主流独立工作重叠;intra-block merge、partial sum 和 RMSNorm 融进 TP all-reduce;
- LatentMoE:down-projection 与 router 合成一个 GEMM;latent weights 跨 rank 切分,all-gather 融入 GEMM epilogue;小 batch expert decode 使用 token-centric weight streaming。
14. 官方参考实现与生产实现的边界
发布在 Hugging Face 的 modeling_kimi_linear.py 很适合核对控制流:
q_len > 1调chunk_kda,cached single-token decode 调fused_recurrent_kda;KimiDynamicCache同时维护 KDA recurrent/conv states 与 attention cache;- layer 依据配置在
KimiDeltaAttention和KimiMLAAttention间切换; - AttnRes 确实在 attention 前、MoE 前和最终输出处执行。
这份 Transformers 代码的定位是可读参考路径,与技术报告中的生产 serving engine 分属两条实现:参考 MLA path 先展开 head-specific K/V 再交给通用 cache,生产路径缓存 latent 表示并统一管理 KDA/MLA pages。显存与性能数字应以生产路径为准。
15. 目前能下的结论
- K3 的核心是
KDA state + 周期性 global MLA + depth attention + latent experts的组合,单个 KDA 算子只是其中一环。 - KDA 把大多数层的历史从逐 token cache 变为固定状态,而每请求状态本身很大,系统优化重点也从“扫描长 KV”转向“少搬大 state”。
- Gated MLA 承担有限状态之外的全局内容检索,属于架构必需项。
- Stable LatentMoE 用 0.5× latent width 支撑 top-16/896 极稀疏路由;RMSNorm、SiTU-GLU、QB 分别控制尺度、激活和负载。
- K3 的 1M context 能力由 NoPE/KDA、渐进长上下文训练、KCP、混合 prefix cache 和 fleet scheduling 共同支撑,attention 公式只是其中一层。
- 公开资料足以建立结构和成本模型;生产 TP/EP 配置、端到端 TTFT/TPOT 以及各模块对 2.5× scaling efficiency 的独立贡献,需要进一步实测。
后续验证问题
- 发布权重是否另有官方 EAGLE-3 draft artifact,其接受率和实际 speculative window 是多少?
- 生产 MLA page 的真实 bytes/token、KDA checkpoint dtype 与每请求 resident state 是多少?
- KDA/MLA cache group 如何映射到 TP、P/D 节点和跨节点 transfer heads?
- FlashKDA、production recurrent decode kernel 与开源 vLLM/SGLang 路径之间有哪些功能和性能差距?
- 在相同质量、硬件和并行配置下,K3 hybrid 相对 full MLA / DSA 的 FLOPs、HBM 和端到端收益各是多少?
这些问题适合进入下一阶段仿真与 Trace 验证;本文先冻结架构和执行语义。
相关页面
- Attention 架构演化 — KV 共享、压缩、稀疏与递推状态的统一坐标。
- DeepSeek MLA — latent KV、矩阵吸收与 serving layout。
- GDN 与 Chunked Prefill — 递推 attention 和两类 chunk 的区别。
- MoE 推理 — EP dispatch-compute-combine 数据流。
- 推理并行 — TP/PP/EP/CP 的作用域。
- FP4/FP8 量化 — MXFP4/MXFP8 的格式与运行时边界。
- Kernel / Runtime 优化 — fusion、HBM 流量和并行度判断。
- 投机解码 — draft/verify/accept 的通用原理。
主要来源
修改历史2 次提交
- docs: refresh Kimi token flow and cmux guidancexiaocheng··
8a0f13e - docs(inference): add Kimi K3 and Hyperloom studiesxiaocheng··
de2d164