Files
llm-atlas/research/K3_RESEARCH.md
T
2026-07-29 12:08:33 +08:00

328 lines
20 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Kimi K3 第二轮深读:正式研究与实现台账
> 锚点:Kimi Team, **Kimi K3: Open Frontier Intelligence**, Technical Report,
> 2026-07,47 页。正式引用以仓库保存的官方 PDF
> `research/sources/kimi-k3/k3_tech_report.pdf` 为准;文本抽取文件只用于检索。
>
> 证据等级:`R` = K3 官方报告直接陈述;`P` = 被报告引用的论文/官方实现;
> `D` = 由公开公式作出的确定性推导;`T` = 本站教学模型,不是实测。
## 0. 阅读目标
K3 页面第二轮不再做“组件摘要”,而要回答四层问题:
1. **对象是什么**:参数、状态、激活、通信、轨迹、环境或评测协议;
2. **为什么需要它**:先说明失败模式,再引入机制;
3. **怎样工作的**:公式、数据流、训练流、系统状态流;
4. **证据能走多远**:作者报告、独立论文、确定性计算与 toy model 分标签。
验收目标:
- 32 张问题账全部有答案与边界;
- Figure 1–16、Table 1–5 全部有课程对应物;
- 至少 8 个可操作实验,不将 toy output 冒充 checkpoint / 集群实测;
- 100 个经过标题、年份、URL 和作用核对的阅读节点;
- 明确纠正原生多模态、2.5×、1M、MoE、MOPD、评测等常见误读;
- K3、DeepSeek 与全站专题互相链接,而不是形成孤岛。
## 1. 32 张问题账
| ID | 对象 | 正式答案 | 证据 | 页面验收 |
|---|---|---|---|---|
| Q01 | total / active | Table 1 给出 2.78T total、104.2B active。total 是总容量;active 是一条 Token 路径经过的参数规模,仍不等于端到端 FLOPs。 | R §2.6 Table 1 | 精确规格表;hero 可四舍五入 |
| Q02 | 2.5× | 这是团队在调 batch、LR、TPP、shape、架构和 recipe 后,相对 K2 得到的**整体 scaling efficiency**,不是推理速度,也不是 KDA 单项收益。 | R Abstract, §3.2, Fig. 7 | 三种错误解释并排 |
| Q03 | 3:1 hybrid | 93 层中 69 KDA + 24 Gated MLA,模式为 3 KDA 后 1 MLA,最后一层为 MLA;另有 1 dense layer。 | R §2.1, §2.6 Table 1 | 可展开 93 层条带 |
| Q04 | KDA state | KDA 维护固定形状 recurrent state,用 channel-wise decay 与 delta-rule 写入;不保存所有 token pair。 | R §2.1 Eq. 1 | 状态读写动画 |
| Q05 | delta rule | 新 value 写入前减掉 state 对当前 key 的已有预测,减少相同 key 的重复累加;不等于无损键值数据库。 | R §2.1; P Kimi Linear / Gated DeltaNet | 累加 vs 纠错实验 |
| Q06 | bounded decay | K3 将 log-decay 下界设为 `g_min=-5`,限制 chunk 内累计衰减倒数,令对角 tile 也可用 BF16 Tensor Core 稠密矩阵乘。 | R §2.1.1, Fig. 3 | BF16 风险实验 |
| Q07 | chunkwise KDA | chunk 之间递归传状态,chunk 内转换成并行矩阵计算;训练与 prefill 并行、decode 保持 O(1) state update。 | R §2.1.1; P FlashKDA | chunk 数据流图 |
| Q08 | output gates | KDA 和 MLA 都使用输入相关、全秩输出门;其作用是动态控制读出通道,不是 router。 | R §2.1–2.1.2 | 与 MoE gate 对照 |
| Q09 | NoPE | MLA 无显式位置编码;KDA 的递归门控/衰减隐式携带顺序信息。NoPE 不等于没有位置或顺序信号。 | R §2.1.2, §3.4 | 位置来源图 |
| Q10 | FP32 attention output | 报告称 attention output 保持 FP32 以纠正 FlashAttention 有偏舍入误差,并重新安排 kernel tile buffer。 | R §2.1.2; P ref. 99 | 数值合同卡 |
| Q11 | AttnRes | Full AttnRes 让每层以可学习 pseudo-query 聚合 embedding 与所有早层输出;Block 版先在块内累加、跨块注意,以降低保存和跨 stage 通信。 | R §2.2 Eq. 8–9 | 深度路由实验 |
| Q12 | block size | 报告经验称约 8 个 block 保留大部分收益;K3 每 12 层一 block,加 embedding 共 9 个来源组。芯片 nano case 的 block size=2 不是主模型。 | R §2.2, §7.3 | 主模型/个案红线 |
| Q13 | LatentMoE | shared experts 走 full width,routed experts 在 3584 latent width 中执行,之后上投影回 7168;降低多专家激活的 token payload 与权重读取。 | R §2.3, Table 1 | 通信账实验 |
| Q14 | experts | K3 每层 896 routed、激活 16,另有 2 shared;“稀疏”不表示消费级硬件轻松运行。 | R Table 1 | 896→16→2 规格图 |
| Q15 | SiTU-GLU | 为 routed path 的连续矩阵乘限制大正输入,使用有界 tanh 分支近似 SwiGLU 原点附近行为。页面必须展示报告参数而非随意拟合。 | R §2.3.2, Fig. 4 | 函数曲线实验 |
| Q16 | QB | 以每个 expert 的 Top-(k+1) score cutoff 分位量更新 bias;bias 影响选择,训练结束后冻结用于 inference。 | R §2.3.3, Fig. 5 | router 分位实验 |
| Q17 | QB 通信 | 用 score histogram 的 all-reduce 近似全局 quantile,精度受 bin width 限制;这与 MoonEP 的执行平衡是两个层级。 | R §2.3.3 | 模型侧/系统侧分层 |
| Q18 | native vision | MoonViT-V2 从头训练,语言和视觉从训练开始就在同一 NTP objective 联合优化;不是把视觉塔后接到预训练 LLM。 | R §2.4, §3.3 | 删除冻结/解冻错误;双路线图 |
| Q19 | vision encoder | 约 401M、27 层、patch 14、12 heads;图像/视频共享参数,空间/时间 factorized attention、temporal pooling、2×2 pixel shuffle,最高 3584² 输入。 | R §2.4, Table 1 | 视觉 token 流 |
| Q20 | Per-Head Muon | Q/K/V 等多头投影按 head 分组应用 Muon;训练同时用 K2 weight clipping、QB、cosine、1% warmup、WD=0.1。 | R §2.5, §3.3 | 优化器角色卡 |
| Q21 | data | 四类文本为 Web Text、Code、Mathematics、Knowledge,加视觉语料;规则、质量分类与去重后,借小模型消融调 domain sampling。未公开完整配比。 | R §3.1 | 数据管线与“不披露” |
| Q22 | context curriculum | pretrain 8K→64K,cooldown 256K→1M;长数据清洗、上采样,并合成需要跨全局证据的多模态任务。 | R §3.3–3.4 | 四阶段长度图 |
| Q23 | SFT | 前代 Kimi 专家合成长 agent trajectory,经多阶段验证与 HITL 标注,以 XTML 序列化;SFT 起即进入 QAT。 | R §4.1.1 | 轨迹来源与协议 |
| Q24 | nine experts | general tasks、general agents、coding agents × low/high/max effort = 9 个专家策略;不是 inference ensemble。 | R §4.1.2 | 3×3 矩阵 |
| Q25 | effort budget | 每题由 cold-start 估计 `b0(x)`,超过 `τ·b0(x)` 的轨迹 reward 改为 −1;agent task 统计思考与 tool-call argument 等累计输出,τ 按 domain 由人工指导退火。 | R §4.1.2 | budget 实验 |
| Q26 | partial rollout | N×K 轨迹中 λ 比例完成即暂停生成并更新;未完轨迹下一轮优先恢复,per-token regularization 处理极端 stale/off-policy。 | R §4.1.2 | λ/straggler 实验 |
| Q27 | MOPD | 学生 on-policy 生成前缀;相应 domain/effort teacher 给下一 token 的 clipped log-ratio dense reward。九个老师只用于训练指导。 | R §4.1.3 Eq. 15 | reward 公式与流程 |
| Q28 | deployment-aware PT | experts 权重 MXFP4、激活 MXFP8;非 expert 高精度。SFT 与 RL 都 QAT,rollout/training 同配方。MTP 层再调为 EAGLE-3 draft,优化 LK acceptance loss。 | R §4.1.4 Eq. 16 | 精度角色和 draft 生命周期 |
| Q29 | agent environment | harness 被拆成 tool、prompt、context、skills、memory、subagent 等模块,训练时动态组合;AET 由目标状态和 verifier 给奖励。 | R §4.2 | harness 组合器图 |
| Q30 | system state | pretrain 管参数/optimizer/KDA state;RL 还管 KV 与 sandbox;serving 联合管 KDA state、MLA KV 与 fleet budget。 | R §5 | 三类状态寿命图 |
| Q31 | hybrid prefix cache | MLA KV 随 token 增长,KDA state 固定但 checkpoint 大;统一页池,512-token hash boundary 可落在 6144-token physical block 内,命中必须两类 state 同时存在。 | R §5.4.1 Fig. 12 | 可交互命中边界 |
| Q32 | evaluation | 分数必须带 effort、tool、harness、fallback/guard、date;报告结论是总体领先其比较的开放/部分闭源模型,但仍落后 Claude Fable 5 与 GPT-5.6 Sol。 | R Abstract, §6, Tables 2–5 | 协议审计器 |
## 2. 关键规格台账
K2 → K3(Table 1;小数与单位保持报告口径):
| 项 | Kimi K2 | Kimi K3 |
|---|---:|---:|
| Transformer layers | 61 | 93 |
| Total parameters | 1.04T | 2.78T |
| Activated parameters | 32.6B | 104.2B |
| Hidden dimension | 7168 | 7168 |
| Routed latent dimension | – | 3584 |
| MoE expert hidden | 2048 | 3072 |
| Routed experts | 384 | 896 |
| Activated routed experts | 8 | 16 |
| Shared experts | 1 | 2 |
| Attention heads | 64 | 96 |
| Dense layers | 1 | 1 |
| Vocabulary | 160K | 160K |
| Context | 128K | 1M |
| Attention | MLA | Hybrid KDA–MLA |
| Activation | SwiGLU | SiTU-GLU |
| Attention composition | 61 MLA | 69 KDA + 24 MLA |
| MTP layers | 1 | 1 |
| Vision encoder | – | 401M / 27 layers / patch 14 / 12 heads |
## 3. Figure 1–16 视觉契约
| 图 | 报告主张 | 课程视觉 | 不允许的扩张 |
|---|---|---|---|
| 1 | 主评测总体位置 | 四能力轴 + 协议脚注 | 不以单榜替代总体结论 |
| 2 | K3 architecture overview | 视觉 token→hybrid stack→LatentMoE→head;深度路由单画 | 不把 93 层画成一层 |
| 3 | bounded decay 的稳定/内核动机 | log-decay、累计倒数、BF16 风险三联图 | 不写成精度绝对保证 |
| 4 | GLU/SwiGLU/SiTU 形状 | 同坐标曲线 + 大输入放大镜 | 不凭曲线声称所有模型更好 |
| 5 | Quantile Balancing | score cutoff→quantile→bias→下一 step | 不与 auxiliary loss-free 等同 |
| 6 | from-scratch MoonViT-V2 消融 | gradient norm/spike + baseline eval 边界 | 只限作者配置,不普遍否定初始化 |
| 7 | K3 相对 K2 的 scaling | loss/compute 概念曲线 + 2.5× 口径 | 不画成 inference 2.5× |
| 8 | RL FLOPs、steps、能力同升 | 三轴小 multiples | 相关性不自动证明通用因果 |
| 9 | KG-guided synthesis | concept→material→task type→verification | 不假装公开完整图谱 |
| 10 | AET curriculum | initial state→actions→verifier→harder task | reward 来自结果,不是模型自评 |
| 11 | pretraining pipeline/offload | 参数/activation/encoder 在设备间的时间线 | 不补写未公开集群规模 |
| 12 | hybrid prefix cache | 6144 physical / 512 hash / sparse checkpoint | 数字是报告示例,不是唯一配置 |
| 13 | score vs output token/cost | 二维/三维比较并列 protocol | 不把价格点当架构结论 |
| 14 | kernel agent case | 283.6→114.4ms 等逐项轨迹 | 24h/task 个案,不推广 |
| 15 | MiniTriton L20 roofline | 实测点相对 roofline | 只限报告硬件与任务 |
| 16 | XTML | global / one-shot / input options + channels | 不把 template 等同能力 |
## 4. Table 2–5 协议台账
页面不追求把 PDF 表格逐格搬运,而采用“结果 + 协议 + 风险”三层:
- Table 2:Reasoning & Knowledge / Coding;
- Table 3:Agentic;
- Table 4:Vision;
- Table 5:第三方评测与 cost / output token 关系;
- 所有分数要说明日期、reasoning effort、工具、harness、fallback 与 guard;
- 对 BrowseComp 同时保留 300K context management 的 91.2 与完整 1M 无管理的 90.4,
用于说明“窗口容量 ≠ 上下文策略”;
- 报告对 research reasoning、cyber 等弱项的陈述必须与强项同页。
## 5. 八个实验合同
### Lab A — Delta Rule 工作记忆
- 输入:key 重复率、写入强度 β、旧状态预测、目标 value;
- 输出:additive update 与 delta update 的 state/value;
- 精确部分:给定 toy 向量后的矩阵运算;
- 边界:不代表真实 head 维度或模型回忆率。
### Lab B — Bounded decay / BF16
- 输入:log-decay 下界、chunk length、累计 decay;
- 输出:倒数幅度与风险等级;
- 精确部分:数学值;
- 边界:风险标签不替代 FlashKDA kernel 实测。
### Lab C — Block AttnRes
- 输入:层数、block size;
- 输出:来源组数、Full/Block 缓存单位、深度路径;
- 精确部分:计数;
- 边界:吞吐仅方向展示。
### Lab D — LatentMoE 通信
- 输入:full width、latent width、top-k、token 数、dtype;
- 输出:routed payload 的确定性元素/字节比例;
- 边界:不包含 all-to-all 拓扑、权重流与 kernel utilization。
### Lab E — SiTU-GLU
- 输入:x 与报告参数;
- 输出:GLU/SwiGLU/SiTU 曲线;
- 精确部分:函数值;
- 边界:不从曲线推导训练 loss。
### Lab F — Quantile Balancing
- 输入:expert score samples、top-k、quantile target、bias step;
- 输出:Top-(k+1) cutoff、近似 quantile、下一 step bias;
- 边界:toy histogram,不代表 K3 router trace。
### Lab G — MOPD / partial rollout
- 输入:domain、effort、τ、λ、teacher/student token probability;
- 输出:budget pass/fail、暂停轨迹数、clipped dense reward;
- 精确部分:报告公式的标量例子;
- 边界:不模拟完整 policy optimization。
### Lab H — Prefix cache / context management
- 输入:matched prefix、physical block、hash block、checkpoint boundary;
- 输出:可命中最长边界、需重算 token;
- 精确部分:边界算术;
- 边界:不代表线上 cache hit rate。
## 6. §3 数据、Scaling 与训练配方
### 6.1 数据
- 文本四域:Web Text、Code、Mathematics、Knowledge;
- 视觉包含 captions、interleaved documents、OCR、perception、video、visual coding;
- 坐标同时使用绝对坐标与 `[0,1]` 归一坐标;
- programmatic visual data 包括 SVG、3D、Webpage、Game、CAD;
- K2 参与知识与数学 rephrasing:多样风格/视角、chunk-wise AR generation、fidelity verification;
- 不能披露/推断:完整来源清单、精确配比、总 token、版权构成。
### 6.2 Scaling
- 小模型实验重调 batch size、learning rate、tokens per parameter、model shape;
- 使用 held-out OOD data;
- cosine 与 WSD 各自搜索最优超参,作者设置中 cosine 最终 loss 更低;
- 约 2.5× 是架构、recipe 与数据共同结果。
### 6.3 长上下文
- NoPE 省去 RoPE rescale / interpolation,但不解决全部训练与利用问题;
- long document/video 用 exact+fuzzy dedup、frame perceptual hash、heuristic/classifier filter、
structural validation;
- 稀缺长数据被上采样;
- synthetic concatenation/permutation 要求答案依赖跨整段分散证据;
- curriculum:8K→64K(pretrain),256K→1M(cooldown)。
## 7. §4 后训练链
```text
verified/HITL trajectory synthesis
↓
SFT cold start + XTML + MXFP4/8 QAT
↓
3 domains × 3 effort = 9 RL experts
↓ ↘
partial rollout + stale tolerance agentic GRM / verifier
↓
MOPD: student on-policy prefix + matched teacher dense reward
↓
one unified model with selectable effort
↓
MTP → EAGLE-3 draft + LK acceptance loss
```
关键边界:
- “九专家”是训练中的策略老师,不是服务时并发 9 模型;
- effort budget 每题、每域变化,不是固定全局长度;
- agentic task 的 token 账包含 tool-call arguments 等输出;
- partial rollout 缓解长尾,但引入 stale/off-policy;
- on-policy distillation 用学生访问的 prefix,仍依赖教师质量与领域映射;
- non-verifiable reward 的 rubric/judge 仍可能有偏,报告用强制协议和 verbosity budget 缓解。
## 8. §5 系统状态图
| 层 | 主要状态 | 生命周期 | 主要机制 |
|---|---|---|---|
| pretraining | weights、optimizer、activation、KDA state、vision tokens | step / run | FlashKDA、KCP、MoonEP、pipeline/offload |
| agentic RL | policy/ref、KV、trajectory、sandbox、files/apps | 多 iteration | partial rollout、adaptive throttle、AgentENV pause/resume/fork/snapshot |
| serving engine | KDA recurrent state、MLA KV、prefix hash | request/session | unified page pool、sparse checkpoints、COW |
| device | KDA replay input、AttnRes blocks、latent/routed weights | token / batch | fused decode、SP、side stream、WarpDecode-like token-centric kernel |
| fleet | prefix affinity、request class budget | session / traffic | primary+secondary consistent hash、budget admission |
正式数字:
- AgentENV:报告称训练/评测期间创建 51,219,741 sandboxes,涉及 1,505,678 images;
- pause 时 sandbox 不消耗 CPU/内存;报告称等待 inference 可达其生命周期 98%;
- incremental checkpoint/resume 最低延迟分别 133 ms / 49 ms;
- real workload memory overcommit 最高 6.5×;
- serving 示例:typical coding input 400K prefix、4K increment;请求成本跨约三数量级;
- 这些均是作者系统报告数字,尚非本站复跑。
## 9. §7 案例与附录
### 9.1 Kernel optimization
- AttnRes 个案 283.6 ms → 114.4 ms;
- DSA / KDA reductions 为 55.1% / 73.6%;
- MLA 达到报告所称超过一半 peak;
- budget 为 24h / task;
- 只能表述为作者案例,不能推广为平均收益。
### 9.2 MiniTriton
- 模型构建 compiler、tensor library、autograd、distributed stack;
- 报告结果基于 L20 与其任务/roofline;
- 展示“Agent 可改整个栈”,不证明自动编译普遍优于人工系统。
### 9.3 Chip
- nano model 与主架构同型,但 Block AttnRes block size=2;
- 48h agent run;nano-kpu;4mm²、100MHz、RTL simulation >8700 tok/s 等均为报告个案;
- 不得把 nano 参数写回 K3 主模型规格。
### 9.4 XTML
- message markers:`[open]`、`[sep]`、`[close]`、`[end_of_msg]`;
- global options 在 history 前;one-shot options 在 history 后以保留 KV cache;
- input options 可在会话中动态追加工具;
- channels:think / response / tools;
- thinking / instruct 由 prefix 选择。
## 10. 100 节点阅读链的选择规则
正式页面的 100 个节点按 `src/data/k3.ts` 维护,遵守:
1. 优先 K3 报告的 151 条参考文献与作者官方仓库;
2. 论文链接到 arXiv、PMLR、OpenReview、NeurIPS/USENIX 等原始页面;
3. 软件链接到作者/组织官方仓库;
4. benchmark 链接到论文或官方站;
5. 2026 年厂商比较只作为评测上下文,不进入基础技术因果链;
6. 每个节点只写一个“为什么此处要读它”,不伪造继承关系;
7. DeepSeekMoE、V2/MLA、V3、V4 与 R1 单列交叉入口,满足重点讲解偏好;
8. K3 报告未引用但为历史必需的节点,必须标成课程补充,不伪装成报告引用。
## 11. 不可越过的红线
- `2.8T` 是四舍五入 hero 数;精确表用 `2.78T / 104.2B`;
- `2.5×` 不写成推理加速、吞吐或 KDA 单项收益;
- KDA 是压缩状态,不承诺逐 token 无损 recall;
- NoPE 没有**显式** positional embedding,不是无顺序;
- QB、MoonEP、fleet scheduling 分属模型、执行、服务三个层次;
- MoonViT-V2 从头训练,视觉/文本从开始联合 NTP;
- 1M 是窗口与训练 curriculum,不保证所有任务能有效利用完整窗口;
- MOPD 是训练整合,不是 inference ensemble;
- benchmark 是 model × effort × tool × harness × protocol;
- case study 数字始终带硬件、时间、任务或仿真边界;
- 不补写总训练 token、完整数据配比、总 GPU 数、训练成本;
- 2026 新组件必须明确第三方复现仍有限。
## 12. 实现检查表
- [x] 保存本地官方 PDF 与可检索文本;
- [x] Grok 候选线索与正式证据隔离;
- [x] 32 张问题账完成正式核验;
- [x] Figure 1–16、Table 1–5 建立视觉契约;
- [x] 八个实验建立输入/输出/边界合同;
- [x] 实现 `src/data/k3.ts` 的 100 节点、问题账与图表数据;
- [x] 实现 `K3ReportLab.astro`;
- [x] 重写 K3 页面并修正原生多模态错误;
- [x] 同步 papers、roadmap、progress、首页发布记录;
- [x] 添加 K3 专属 browser regression;
- [x] 本地 K3 browser regression、Astro check 与 build 通过;
- [x] 生产全量验收与不可变发布记录:源提交 `b669615`,不可变镜像
`20260729T040336Z-b669615`,OCI digest
`sha256:498b7e437207e36bcb8ba08524c283860472474e00fc238f57e41c15631cdb3c`;
NAS / VPS / NPM / DNS / HTTPS / 证书 / 门户与十六套生产 Chrome 回归全部通过。