A TrellisMX build of deepseek-ai/DeepSeek-V4.1-Flash-1017
(revision 1bae0e1088993b9b82de08f59de5be5a34e42170) for two 96 GB RTX PRO 6000 Blackwell cards at tensor parallel 2.
It is the K2 build with 1,131 of its 15,360
routed experts (7.4%) stored at a wider trellis rate: 1,111 at 3 bits and 20 at 4 bits, the rest at 2 bits. The wider
experts are the same encodes as the K3
and K4 builds, re-laid out for tensor
parallel 2; nothing was re-encoded.
The encodes, the allocation and every measurement on this card ran on an 8x NVIDIA B200 node generously donated by Lambda (@LambdaAPI). Thank you, Lambda.
Built with the SM120 vLLM image by Local Inference Lab and Luke Alonso, the b12x kernels by Luke Alonso with
Martin Vit and other contributors, and Local Inference Lab's CSF scale format; TrellisMX was inspired by QTIP and
EXL3, and its FP8 trellis decode by Luke Alonso's KQuant/QSRT. Full credits: Credits and CREDITS.md.
Each expert's width was chosen to lower the measured KL divergence most per byte, with Brandon M. Music's ShapleyMCG allocation, under a byte budget sized to keep about 2 million tokens of KV cache on the two cards. The routed experts take 5.08 GB more than the K2 build's (143.79 GB against 138.71 GB). A sibling build with a smaller budget, about 3 million tokens of KV and 2.87 GB more than K2, is DeepSeek-V4.1-Flash-1017-TrellisMX-K2-Mix.
Released under the MIT License, the same license as the base model (LICENSE).
Status: research build; only KLD has been measured, on 64 sequences. The weights are complete; the reference-path
KLD below covers 64 of the 512 evaluation sequences, not the full protocol.
A test serving image that reads this layout is published as
verdictai/deepseek-v41-flash-trellismx:k2mix-fp8-tp2-test-20261020
(sha256:a72e633c8779c6903c4039dc2397e8a55db4a1669f422c9f6516de97e04c0c60). It passes layer-level GPU tests (each
width's routes bit-identical to the single-rate kernels, FULL CUDA graph replay with changing routes, the K2 path
byte-identical to the published K2 image) but has not been booted as a whole model, so this checkpoint's serving,
speed and KV capacity are not measured. The published K2 image and its serve.sh serve the single-rate K2, K3 and K4
layouts only.
| Component | Stored as |
|---|---|
| Routed experts (40 layers x 384) | TrellisMX trellis codes per expert: 14,229 at 2 bits, 1,111 at 3 bits, 20 at 4 bits, decoded to FP8 (E4M3) tensor-core operands, UE8M0 scales per 32 values in Local Inference Lab's lossless CSF format, pre-sliced for tensor parallel 2 |
| Engram tables | The K2 build's tables: TrellisMX 4-bit rows with UE8M0 scales, in host RAM |
| Everything else | As in the K2 build (and the official checkpoint) |
Per-layer widths are in trellismx/manifest.json (expert_bits, 384 entries per layer). Each
trellismx/tp2/layer-LLL-rank-R.safetensors sidecar holds one group of tensors per width present in that layer
(k2.*, k3.*, k4.*), each with its ascending global expert_ids, in the same per-expert format as the single-rate
builds.
KL(official checkpoint || this build) in nats, over the full vocabulary (129,280 ids), in FP64, at every next-token row
(row r predicts token r+1). Teacher: the official checkpoint run in DeepSeek's reference implementation, FP32 logits,
published in brandonmusic/DeepSeek-V4.1-Flash-1017-Teacher-Logits (revision 68379d81), folders cuts-2048/ and
windows-8192/.
Measured on 64 of the 512 sequences of 2,048 tokens (the 128 evaluation windows cut into 512 fresh sequences; these 64 are cuts 0, 8, 16, ..., 504, which span every domain), 2,047 rows each, 131,008 rows. The full 512-sequence and 8,192-token-window measurement was not run for this build.
| Path | Mean KLD [BCa 95%, per sequence] | Top-1 |
|---|---|---|
| Routed experts in serving formats (E4M3 operands, E4M3 activations), official FP8 Engram tables | 0.1378 [0.1120, 0.1749] | 88.45% |
On the same 64 sequences and the same path: the K2 build 0.1687 (top-1 87.05%) and the K2 Mix build 0.1466 (87.87%). The intervals overlap because they include the spread between sequences; the builds were scored on the same sequences.
These are the sequences the widths were chosen on, so the figure is not an independent test. For the K2 Mix build the gain over K2 measured 13.1% on these 64 sequences and 8.6% on all 512.
These figures score the routed experts with the official FP8 Engram tables. This checkpoint ships the K2 build's 4-bit Engram tables; on the K2 build that difference measured 0.1439 against 0.1429 on all 512 sequences, so expect this checkpoint to sit about 0.001 nats above the figure.
How it was measured: the base model's layers run in DeepSeek's reference implementation, layer by layer on 4x NVIDIA B200 at model parallel 4, one sequence per forward, with each routed expert reproduced bit for bit at its stored width. The native SM120 kernel path has not been measured.
config.json, model-000NN-of-00048.safetensors, model.safetensors.index.json, tokenizer files and encoding/:
as in the K2 build.engram/: the K2 build's 4-bit Engram tables.trellismx/manifest.json (schema ds41-trellismx-mix-tp2.v1) and trellismx/tp2/: the routed experts.SHA256SUMS: every file's SHA-256.The reference logits behind the KLD figures are published in
brandonmusic/DeepSeek-V4.1-Flash-1017-Teacher-Logits
(revision 68379d81).
deepseek-ai/DeepSeek-V4.1-Flash-1017), MIT License (LICENSE).ghcr.io/local-inference-lab/vllm, https://github.com/local-inference-lab), a
fork of vLLM (Apache-2.0, vLLM contributors), and the open-source projects that image bundles, each under its own
license: FlashInfer, LMCache, InstantTensor, xgrammar and fastokens.evaluation/eval-windows.json.engram/layer-014.trellis.safetensors 49 GBengram/layer-001.trellis.safetensors 49 GBengram/layer-014.scale.safetensors 3.1 GBengram/layer-001.scale.safetensors 3.1 GBmodel-00046-of-00048.safetensors 2.7 GBmodel-00044-of-00048.safetensors 2.7 GBmodel-00045-of-00048.safetensors 2.6 GBtrellismx/tp2/layer-039-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-039-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-037-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-037-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-038-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-038-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-035-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-035-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-003-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-003-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-036-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-036-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-025-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-027-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-025-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-027-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-026-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-028-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-026-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-028-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-024-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-024-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-006-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-007-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-006-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-007-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-029-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-029-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-011-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-005-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-009-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-011-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-005-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-009-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-002-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-016-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-014-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-008-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-002-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-016-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-014-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-008-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-031-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-031-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-001-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-001-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-004-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-018-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-004-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-018-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-023-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-023-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-021-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-021-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-020-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-020-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-015-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-015-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-034-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-030-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-034-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-030-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-010-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-010-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-032-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-032-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-017-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-017-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-022-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-022-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-000-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-000-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-012-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-012-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-013-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-013-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-033-rank-1.safetensors 1.8 GBtrellismx/tp2/layer-033-rank-0.safetensors 1.8 GBtrellismx/tp2/layer-019-rank-1.safetensors 1.7 GBtrellismx/tp2/layer-019-rank-0.safetensors 1.7 GBmodel-00002-of-00048.safetensors 1.3 GBmodel-00043-of-00048.safetensors 1.3 GBmodel-00001-of-00048.safetensors 971 MBmodel-00017-of-00048.safetensors 186 MBmodel-00005-of-00048.safetensors 186 MBmodel-00011-of-00048.safetensors 186 MBmodel-00023-of-00048.safetensors 181 MBmodel-00027-of-00048.safetensors 176 MBmodel-00031-of-00048.safetensors 176 MBmodel-00035-of-00048.safetensors 176 MBmodel-00039-of-00048.safetensors 176 MBmodel-00013-of-00048.safetensors 170 MBmodel-00014-of-00048.safetensors 170 MBmodel-00015-of-00048.safetensors 170 MBmodel-00016-of-00048.safetensors 170 MBmodel-00018-of-00048.safetensors 170 MBmodel-00019-of-00048.safetensors 170 MBmodel-00020-of-00048.safetensors 170 MBmodel-00021-of-00048.safetensors 170 MBmodel-00022-of-00048.safetensors 170 MBmodel-00024-of-00048.safetensors 170 MBmodel-00025-of-00048.safetensors 170 MBmodel-00026-of-00048.safetensors 170 MBmodel-00028-of-00048.safetensors 170 MBmodel-00029-of-00048.safetensors 170 MBmodel-00030-of-00048.safetensors 170 MBmodel-00032-of-00048.safetensors 170 MBmodel-00033-of-00048.safetensors 170 MBmodel-00034-of-00048.safetensors 170 MBmodel-00036-of-00048.safetensors 170 MBmodel-00037-of-00048.safetensors 170 MBmodel-00038-of-00048.safetensors 170 MBmodel-00040-of-00048.safetensors 170 MBmodel-00041-of-00048.safetensors 170 MBmodel-00042-of-00048.safetensors 170 MBmodel-00003-of-00048.safetensors 170 MBmodel-00004-of-00048.safetensors 170 MBmodel-00006-of-00048.safetensors 170 MBmodel-00007-of-00048.safetensors 170 MBmodel-00008-of-00048.safetensors 170 MBmodel-00009-of-00048.safetensors 170 MBmodel-00010-of-00048.safetensors 170 MBmodel-00012-of-00048.safetensors 170 MBmodel-00048-of-00048.safetensors 158 MBmodel-00047-of-00048.safetensors 158 MB有文件?提交种子。
提交种子