kimi-k3-research / k3_open_source_inventory.md
Oratis's picture
Kimi K3 research notes: architecture, training/infra, open-source inventory, evaluation
e293aec verified
|
Raw
History Blame Contribute Delete
11 kB
# Kimi K3 β€” Open-Source Capability Inventory
> Every open-sourced component of the Kimi K3 release, **independently verified against its live
> HuggingFace or GitHub page** (2026-07-29) rather than transcribed from the technical report.
> Where the report and the repository disagree or the repository adds detail, the repository wins.
The headline is that **the weights are the smallest part of the release**. Six engineering
repositories ship under MIT or Apache-2.0, covering the attention kernels, the expert-parallelism
library, and the sandbox platform that powered agentic RL β€” all usable without the weights, at
scales far below 2.8T.
---
## 1. The inventory
| # | Artifact | Location | License | What it is | Maps to |
|---|---|---|---|---|---|
| 1 | **Kimi K3 weights** | [`moonshotai/Kimi-K3`](https://huggingface.co/moonshotai/Kimi-K3) | **Kimi K3 License** (not MIT β€” Β§2) | Safetensors, F32/BF16/U8. **MXFP4 weights / MXFP8 activations (quantization-aware training)**. Community has produced 1 adapter, 9 finetunes, **16 quantizations**, 7 Spaces. | The model |
| 2 | **Kimi-K3 (GitHub)** | [`MoonshotAI/Kimi-K3`](https://github.com/MoonshotAI/Kimi-K3) | Kimi K3 License | Architecture table, evaluation tables, deployment guidance (**vLLM / SGLang / TokenSpeed**), the XTML chat template and tool-calling format. API is OpenAI- and Anthropic-compatible. | Deployment entry point |
| 3 | **FlashKDA** | [`MoonshotAI/FlashKDA`](https://github.com/MoonshotAI/FlashKDA) | **MIT** | CUTLASS-based high-performance CUDA kernels for Kimi Delta Attention. **Requires SM90+, CUDA 12.9+, PyTorch 2.4+.** Ships H20 and GB200 benchmark docs. | Report Β§5.1.1 (chunkwise kernel) |
| 4 | **MoonEP** | [`MoonshotAI/MoonEP`](https://github.com/MoonshotAI/MoonEP) | **MIT** | Perfectly-balanced expert parallelism via dynamic redundant experts. API: `dispatch` / `combine` / `prefetch_weight` / `reduce_grad`; zero-copy and traditional modes. Needs multi-GPU with NVLink; tests need 8+ GPUs. | Report Β§5.2.1 |
| 5 | **AgentENV** | [`kvcache-ai/AgentENV`](https://github.com/kvcache-ai/AgentENV) | **MIT** | Firecracker microVM sandbox platform with OverlayBD on-demand image loading. **Boot/resume < 50 ms, pause < 100 ms, incremental snapshot < 100 ms** even under heavy disk modification. Supports fork; ballooning reclaims guest memory to sustain high overcommit. Ubuntu 24.04 script or Docker; CLI on Linux/macOS Γ— x86_64/arm64. | Report Β§5.3.2 |
| 6 | **Kimi-Linear** | [`MoonshotAI/Kimi-Linear`](https://github.com/MoonshotAI/Kimi-Linear) | **MIT** | The original KDA work. Two checkpoints β€” **Kimi-Linear-48B-A3B-Base / -Instruct**, 5.7T training tokens, 1M context. 3:1 KDA-to-MLA ratio, **up to 75% KV-cache reduction**; claims up to **6.3Γ— throughput vs MLA at 1M tokens**; RULER@128k = 84.3. | KDA's predecessor |
| 7 | **MiniTriton** | [`MoonshotAI/minitriton`](https://github.com/MoonshotAI/minitriton) | **Apache-2.0** | Python-embedded DSL β†’ MLIR β†’ PTX tile compiler, plus an eager tensor library sharing one DSL compiler and runtime. Reverse-mode autograd, NN modules, **distributed primitives over NCCL**, sparse and visualization primitives. `examples/vecadd.py` for end-to-end compile; `examples/train_gpt.py` trains a ~50M GPT on the repo's own source as corpus. | Report Β§7 (case study) |
| 8 | **nano-kpu** | [`MoonshotAI/nano-kpu`](https://github.com/MoonshotAI/nano-kpu) | **Apache-2.0** | Verilog RTL for a nano-scale hybrid inference chip: KDA linear attention, NoPE-MLA, sigmoid-routed MoE, attention-residual mixing, int4 group-128 weights. Toolchain: Verilator 5.x + yosys β‰₯0.64 + Nangate45. `python3 harness/evaluate.py --quick` for functional sim. | Report Β§7 (case study) |
| 9 | **KDA context parallelism (upstream)** | [`fla-org/flash-linear-attention` PR #691](https://github.com/fla-org/flash-linear-attention/pull/691) | FLA's license | Context-parallel support for GatedDeltaNet and KDA: `FLACPContext`, communication primitives, `fla/ops/cp/`, CP-aware Triton kernels, `CausalConv1dFunctionCP` / `GatedDeltaNetWithCP` / `KimiDeltaAttentionWithCP`, plus distributed tests and a benchmark harness. **Merged 2026-01-20.** | Report Β§5.1.2 (KCP) |
### Notes that only the repositories tell you
- **FlashKDA auto-dispatches.** It registers itself as the backend for `chunk_kda` in
`flash-linear-attention >= 0.5.0`. If you install FLA at that version on SM90+ hardware you get
FlashKDA whether or not you asked; opt out with `FLA_FLASH_KDA=0`. **[verified]**
- **The upstream CP numbers are large.** PR #691 reports, against all-to-all context parallelism:
GDN forward **+60%** (vs 29%), GDN forward+backward **+68%** (vs 37%), KDA forward+backward
**+86%** (vs 55%). **[verified]**
- **MoonEP's advantage is flatness, not peak.** Its communication latency is below DeepEP v2 at every
imbalance level, but the load-bearing claim is that **iteration time stays flat as routing imbalance
grows** while DeepEP degrades steadily β€” and that static shapes prevent the fragmentation that
causes OOM under high imbalance. **[verified]**
- **`minitriton` and `nano-kpu` disclaim themselves.** Both repos state they are demonstrations of
K3's capability β€” "not a Moonshot product, and not for production use". Their value is as
**calibration evidence** for what autonomous model-driven engineering currently reaches, not as
tools. **[verified]**
---
## 2. The Kimi K3 License β€” read this before building on the weights
The weights and the K3 repository code use the **Kimi K3 License**, which is *not* MIT. It grants
MIT-style breadth β€” "use, copy, modify, merge, publish, distribute, sublicense, and/or sell", and
explicitly permits creating derivative works β€” but adds commercial conditions standard MIT does not
have. **[verified]**
| Condition | Trigger | Obligation |
|---|---|---|
| **Attribution / branding** | Product with **> 100 million monthly active users**, **or > $20M monthly revenue** | Must display **"Kimi K3" prominently on the user interface** |
| **Model-as-a-Service** | **> $20M (or equivalent) total revenue over any consecutive 12 months** | Must **enter a separate commercial agreement with Moonshot AI before use** |
| **Exemption** | Internal use; access via Moonshot AI's official products or **certified inference partners** | Exempt from the above |
- **Commercial use is permitted.** **Derivative works, including derivative model training and
distillation, are permitted** β€” but the same restrictions **propagate to the derivatives**.
- **Practical read:** below both thresholds this behaves like a permissive license. The thing to
track is that if you distill from K3 and redistribute the resulting weights, the conditions travel
with them. That is a materially different legal posture from artifacts 3–8, which are plain MIT or
Apache-2.0. **Do not treat the release as uniformly licensed.**
---
## 3. What is *not* open
Worth being explicit, because the release is broad enough that it is easy to assume more is included
than is:
- **No training data.** Neither the pre-training corpus, the SFT dataset, the RL task sets, nor the
knowledge graph used for task synthesis (report Β§4.2.2) is released.
- **No RL training code.** The environments described in report Β§4.2 β€” the unified white-box harness,
the verifiable agentic problems, the kernel-optimization suite with its reward-hacking detector,
the personal-assistant mocks, Autonomous Execution Tasks, the web-development suite β€” are described
but not shipped. AgentENV is the *sandbox runtime* underneath them, not the environments.
- **No in-house benchmarks.** Kimi Code Bench 2.0, Kimi Webdev Bench, MIRA, KAET, CLIF, Swarm Bench,
Deep Research Bench, KWV, DECK, Agent Behavior Bench and the rest of report Β§6.2.1 are internal.
- **No scaling-law data.** The 2.5Γ— efficiency claim over K2 is presented as a fitted curve
(report Fig. 7) without the underlying runs, and the report does not decompose how much comes from
architecture vs. data vs. training recipe.
---
## 4. Reuse guide by scale
Sorted by how usable each artifact is to a team that is *not* training a 3T model.
**Usable at small scale, today**
- **`Kimi-Linear-48B-A3B` (MIT weights)** β€” the practical entry point to KDA. If the question is
"does a linear-attention hybrid hold up on my long-sequence workload", this is a runnable checkpoint;
you do not need to start from K3's 2.8T.
- **AgentENV (MIT)** β€” arguably the most broadly reusable piece. The pause/resume/fork/snapshot
semantics target a real and general problem: an agent waiting on model inference can account for
**up to 98% of a sandbox's lifetime**, and pausing costs nothing. Fork gives side-effect-free reward
judging. Sub-50 ms resume makes fine-grained branch evaluation practical. None of this requires
a large model.
- **FlashKDA (MIT)** β€” free if you already use FLA β‰₯ 0.5.0 on SM90+. Check your hardware first;
pre-Hopper GPUs are out.
**Requires real scale**
- **MoonEP (MIT)** β€” needs multi-GPU NVLink and an actual expert-parallel MoE training job; tests
alone need 8+ GPUs. Worth reading the `E/R` redundant-expert bound proof (report Appendix E) even
if you never run it: it is a clean argument that a feasible balanced plan *always* exists, which is
what lets training never stall.
**Evidence, not tools**
- **`minitriton`, `nano-kpu`** β€” read to calibrate what autonomous model-driven engineering currently
achieves. nano-kpu was built, optimized and verified in **a single 48-hour autonomous run**; the
design closes timing at 100 MHz within a 4 mmΒ² analytical area budget and reaches over 8,700 tokens/s
simulated decode throughput with 1.46M standard cells and 0.277 MiB SRAM. MiniTriton's from-scratch
tensor-core matmul approaches cuBLAS at the largest shapes β€” about **90% of measured machine roofline**
β€” and its full-model gradients differ from torch autograd by no more than torch's own fp32 rounding
error (10⁻⁴), measured against an fp64 reference. **[report]**
---
## 5. Deployment
Per the model card, the recommended inference engines are **vLLM** (recipes at `recipes.vllm.ai`),
**SGLang** (`docs.sglang.io` cookbook), and **TokenSpeed** (`lightseek.org/tokenspeed`). Hosted API
access is at `platform.kimi.ai` with OpenAI- and Anthropic-compatible endpoints. The recommended agent
framework is the Kimi Code CLI. **[verified]**
Two usage details that bite if missed, both from the model card: thinking is enabled with a
configurable `reasoning_effort` (`low` / `high` / `max`), and **multi-turn conversations require
passing complete assistant messages back verbatim β€” including `reasoning_content` and `tool_calls`**.
The chat template only supports *preserved thinking*: the `think` channel stays in history even when
empty, so the model sees a consistent message structure every turn (report Appendix F).