license: mit
base_model: dealignai/MiMo-V2.6-Flash-RL-UNCENSORED
base_model_relation: quantized
pipeline_tag: image-text-to-text
language:
- en
- zh
- ko
tags: - mimo_v2
- mimo
- uncensored
- abliterated
- gguf
- vector-quantization
- vq
- residual-vq
- imatrix
- importance-matrix
- calibration
- mixture-of-experts
- hybrid-attention
- sliding-window-attention
- multimodal
- vision
- video
- audio
- 1m-context
- speculative-decoding
- dflash
- mtp
- dgx-spark
- gb10
- ds4
- ds4-dfm-rs
MiMo-V2.6-Flash-RL UNCENSORED VQ GGUF
[!WARNING]
Design card, conversion in progress (2026-10-30). The recipe, byte formats and memory plan below are
final; quality numbers and file hashes are filled in when the conversion and its measurements finish.
Serving needs the ds4-dfm-rsmimo2_vqfamily, which is being implemented on DGX Spark next. Problems or
odd output? Post them in the Community tab.
dealignai's UNCENSORED edition of Xiaomi's 309B native omnimodal MoE (15B active) with its full 1,048,576-token context, its vision/video tower,
its audio tokenizer and audio encoder, its DFlash draft model and embedded MTP heads, sized for one 128 GB
DGX Spark. Routed experts become 8-dimensional vector-quantized codes (13-bit everywhere, plus an 8-bit
residual stage on 32 layers), fitted with an importance matrix from 3.97M calibration tokens run through the
original checkpoint; everything shared by every token stays at 8 bits.
The predecessor, MiMo-V2.6-Flash-RL Mixed-Quant GGUF,
used IQ2_XXS/IQ2_XS scalar experts. This release tries the VQ route that ds4-dfm-rs runs for Beam-1.0,
DeepSeek-V4.1, GLM-5.3 and MiniMax-M3.1, on dealignai's compliance-tuned edition; the companion
MiMo-V2.6-Flash-RL VQ GGUF applies the same recipe to the original.
[!CAUTION]
The source model has its refusal behaviour removed at the weight level (dealignai). It will follow harmful
instructions; you are responsible for how you use it and for complying with applicable law.
At a glance
| Source | dealignai/MiMo-V2.6-Flash-RL-UNCENSORED at 0bdb11d7, itself derived from XiaomiMiMo/MiMo-V2.6-Flash-RL. A byte comparison of every tensor shows the edition changes only self_attn.o_proj.weight of layers 34–47 (14 BF16 tensors); experts, router, embeddings, head, vision, audio, DFlash and MTP are byte-identical to the original |
| Model | 48 layers: 9 global-attention (GA: 0, 5, 11, 17, 23, 29, 35, 41, 47; 64 query / 4 KV heads) and 39 sliding-window layers (window 128, 64 / 8 KV heads, learned attention sink); head dims QK 192 / V 128, partial RoPE (64 of 192 dims, θ 1e7 GA / 1e4 SWA); layer 0 dense FFN 16,384; layers 1–47: 256 routed experts, top-8, sigmoid + correction bias, no shared expert, expert FFN 2,048; vocabulary 152,576; 302.8B routed-expert weights |
| Recipe | mimo26f-vq8-r13x47-r8x32-q8-fp8kv-embssd-v1 |
| Routed experts | 8-dim VQ, one E4M3 codebook per layer shared by all 256 experts and gate/up/down, one F16 gain per row. 13-bit (K = 8,192) on all 47 MoE layers; an 8-bit residual stage (K = 256) on 32 layers (R13+8): the 8 GA MoE layers first, the other 24 chosen by an end-to-end measurement. 1.63 bpw on 15 layers, 2.63 on 32, 2.31 on average |
| Attention qkv / o, dense FFN (layer 0), output head | Q8_0 (FP8 sources dequantized exactly first; the TP=4-interleaved fused qkv is stored as [q | k | v]) |
| Kept at source precision | router (BF16) and correction bias (F32), every RMSNorm, attention sink biases |
| Token embedding | BF16 source bytes in its own part, read in rows from SSD (one 8,192-byte row per token) |
| Vision / video tower | MiMo ViT (28 layers, 24 window + 4 global) + 2×2 merger, Q8_0 sidecar, resident |
| Audio | AudioTokenizer encoder (24 layers, 20 RVQ codebooks) + audio patch encoder (6 layers) + projector, Q8_0 sidecar, resident; RVQ codebooks F32 |
| Speculative decoding | DFlash draft model (5 SWA-1024 layers, block 8, mask embedding) Q8_0 1.45 GiB; the three embedded MTP blocks Q8_0 0.98 GiB as the alternative drafter |
| Context | 1,048,576 tokens, the model's own; one bank on one DGX Spark |
| KV contract | GA layers: FP8 E4M3 + F16 scale per KV-head row, resident, 1,296 B per token and GA layer, 11.39 GiB at 1M; SWA layers: 128 + chunk − 1 rows (BF16) |
| Chat template | The edition's chat_template.jinja, unchanged: the original template plus a pre-filled <think> opening in the generation prompt when thinking is enabled |
| Runtime | ds4-dfm-rs, family mimo2_vq (to be implemented; the existing mimo2 family serves the Mixed-Quant release) |
What is shared with the original's release
Layers 0–33 of the two checkpoints compute exactly the same activations, so the calibration forward was run
once and forked at layer 34: the statistics of layers 1–33 are the same numbers for both models. Consequently
the expert parts of layers 1–33, the embedding, vision, audio, DFlash and MTP parts are byte-identical to
MiMo-V2.6-Flash-RL VQ GGUF; the expert parts of
layers 34–47 and body-nonexpert.gguf (its o_proj) are converted from this edition's own statistics and weights.
The residual-stage layer list is the one measured on the original (the edition differs only in 14 o_proj
matrices); its end-to-end quality is measured separately on this edition.
Why this design: only 9 of 48 layers grow with the context
MiMo keeps the full history only in its 9 global-attention layers; the 39 sliding-window layers attend to the
last 128 tokens. Its KV is therefore small enough to stay resident at 1M — no SSD tier is needed — once the GA
cache is stored in FP8 instead of BF16:
| GA cache format | Bytes per token, 9 GA layers | At 1,048,576 tokens |
|---|---|---|
BF16 (existing mimo2 runtime) |
23,040 | 22.50 GiB |
| FP8 E4M3 + F16 row scale (this release's contract) | 11,664 | 11.39 GiB |
The memory saved goes into expert precision.
Why 13 bits plus an 8-bit residual: GB10's 99 KiB
A GB10 CUDA block can use at most 101,376 bytes (99 KiB) of shared memory. The routed-expert kernels keep the
layer's whole codebook there while they decode every selected expert:
| Recipe | Base book | Residual book | Total |
|---|---|---|---|
| R12 | 32 KiB | — | 32 KiB |
| R13 | 64 KiB | — | 64 KiB |
| R13+8 | 64 KiB | 2 KiB | 66 KiB |
| R13+10 | 64 KiB | 8 KiB | 72 KiB |
| R14 | 128 KiB | — | 128 KiB (does not fit) |
R13 is the widest base book that fits; the 8-bit residual stage adds only a 2 KiB book and roughly triples the
precision of a layer's weights (GLM-5.3 VQ layer 23: relative MSE 0.1438 → 0.0412). The remaining ~33 KiB holds
activations, MMA tiles and staging: the existing MiniMax prefill MMA kernels use 96,768 B (R13) and 98,816 B
(R13+8). MiMo routes top-8 like Beam-1.0 (MiniMax: top-4), so staging all eight experts' 2,048-wide BF16
intermediate rows for the down projection would need 32 KiB beside the 66 KiB of books; the runtime plan uses
Beam's 4+4 expert staging there.
Memory at the full 1,048,576 tokens
Against the 117.2 GiB a GB10 reported available to ds4-server --check-config (Beam-1.0 VQ), with every
optional component loaded at once:
| GiB | |
|---|---|
| Routed experts, 47 layers × 13-bit (codes, gains, codebooks) | 57.48 |
| 8-bit residual stage on 32 layers | 24.00 |
| Attention qkv/o, dense FFN, head (Q8_0); router, norms, sinks | 5.35 |
| DFlash draft model (Q8_0) | 1.45 |
| Vision sidecar (Q8_0) | 0.72 |
| Audio sidecar (Q8_0) | 0.67 |
| GA KV, 9 layers × 1M tokens, FP8 | 11.39 |
| SWA rings (BF16, 4,096-row chunks) and drafter rings | 0.85 |
Graph scratch, 4,096-row prefill chunks (mimo2 planner) |
2.83 |
| Media workspace for the largest image (32,768 patches) | 2.38 |
| Floor kept free by the server | 4.00 |
| Resident at 1M, everything loaded | ≈ 111.1 of 117.2 |
| On SSD, read on demand: token embedding (BF16) | 1.16 |
About 6 GiB stay free in the worst case (1M context, the largest image, the drafter). 36 residual layers would
leave 3 GiB and 40 do not fit; 32 keeps a margin for the new runtime family's buffers. memory-budget.json andtools/memory_budget_mimo.py reproduce every row from exact byte layouts.
Recipe
- Routed experts. Every 8 consecutive weights of an expert row become one index into the layer's codebook,
times one F16 row gain. One codebook per layer serves all 256 experts and gate/up/down. 13 bits everywhere:
the 12-bit code stream plus a 1-bit plane (GVQ1 v1, the format ds4-dfm-rs runs for Beam, GLM and MiniMax). - Residual stage (R13+8). A second 256-entry codebook codes what the first stage left (weighted Lloyd on the
stage-1 residuals with the same importance weights), adding 8 bits per 8 weights; the 13-bit stage is
byte-identical with and without it. - Which layers get the residual stage. The 8 MoE layers behind the global attention (5, 11, 17, 23, 29, 35, 41,
- carry the long context and are protected first; the other 24 are the SWA layers with the largest measured
end-to-end gain (each layer alone switched to R13+8 on top of the all-13-bit baseline, held-out KL against
the original). Weight error does not translate proportionally into end-to-end quality, so the choice is
measured, not assumed.
- carry the long context and are protected first; the other 24 are the SWA layers with the largest measured
- Calibration-weighted Lloyd (importance matrix for VQ). The original checkpoint runs over the calibration set
layer by layer; per layer and expert the collector sums the squared activations entering gate/up and down and
how often and how strongly each expert is routed. Codebook training, vector assignment and the row-gain refit
minimize the importance-weighted error (per-column importance tempered by a power of 0.75, rare experts shrunk
toward the layer mean with a 256-token prior, column weights floored at 2%, importance-weighted least-squares
gains, 32 Lloyd iterations) — the weighting that measured best on A.X-K2 and Beam-1.0 and served MiniMax-M3.1. - Everything shared by every token (attention, dense FFN, head, MTP, DFlash) is Q8_0; the vision and audio
sidecars are Q8_0 with their RVQ codebooks, norms, biases and sinks at source precision.
Calibration data
3.97M tokens from the original tokenizer and chat template; held-out sets reserved first.
| Part | Rows | Tokens | Content |
|---|---|---|---|
| Text and chat | 1,510 | 3,502,089 | English 37.5%, Korean 14.3%, Chinese 14.2%, code 13.4%, Japanese 7.7%, Spanish 4.0%, French/German/Indonesian/Russian/Vietnamese; raw text 39.7%, thinking chats 36.4%, non-thinking chats 14.5%, tool/agentic 9.4% |
| Native media | 953 | 464,968 (418,203 media) | 486 chart/document images, 79 videos (two-frame groups, MM:SS timestamps), 309 audio clips, 79 joint video+audio clips; embeddings from the original BF16 MiMo ViT and audio tokenizer/encoder with production preprocessing |
66% of the text tokens sit in rows of 4,096+ tokens, 15.8% in 16K–32K rows and 6.0% in 32K–64K rows: the
sliding-window layers see 128 tokens, so long rows are what give the global-attention layers (and the experts
behind them) representative statistics.
Reference forward
The statistics and all measurements come from a layer-streamed reference forward of the original weights
(tools/mimo_ref.py). It matches the checkpoint's own transformers code (MiMoV2DecoderLayer, same dequantized
weights) to BF16 rounding (layer output relative RMS 0.1–1.0%, routed expert sets identical) and, on 50 held-out
text/image/video/audio/joint inputs, the September original-representation reference at mean KL 0.0026 on the
next-token distribution (45/50 identical argmax).
Planned files
| Path | Contents |
|---|---|
layer-LL-experts.gguf (LL = 01 … 47) |
routed experts of one MoE layer: GVQ1 13-bit; on the 32 residual layers plus the GVR8 8-bit stage (format version 2) |
body-nonexpert.gguf |
Q8_0 attention, dense FFN, head; router, bias, norms and sinks at source precision |
embed-tokens-bf16.gguf |
BF16 token embedding, read in rows from SSD |
vision-q8_0.gguf, audio-q8_0.gguf |
vision tower + merger; audio tokenizer encoder + patch encoder + projector |
dflash-q8_0.gguf, mtp-q8_0.gguf |
DFlash draft model with its mask embedding; the three embedded MTP blocks |
release.json, tensor-manifest.json, recipe.json, memory-budget.json, SHA256SUMS |
entry point, inventory with exactly-once source mapping, recipe, budget, hashes |
These are independent GGUF parts, not numbered GGUF splits. Standard llama.cpp, Ollama and Transformers loaders
do not read this format.
Credits and sources
- Xiaomi MiMo — MiMo-V2.6-Flash-RL, its vision and audio encoders and
its DFlash draft model, MIT. - dealignai — the UNCENSORED edition, MIT.
- YoungAi by Wenzhou Wu — the 8-dim shared-codebook VQ method, F16 row gains
and bit planes. - ds4-dfm-rs — GVQ1 container, GB10 VQ kernels and residual stage,
calibration-weighted VQ tools, themimo2runtime this family builds on. - SGLang, transformers — the MiMo-V2 reference implementations the reference forward was checked against.
- llama.cpp / GGML — GGUF, Q8_0 and the importance-matrix idea.
License
MIT, inherited from the pinned source and its upstream model.
Calibration datasets keep their own licenses.