Baekpica/MiMo-V2.6-Flash-RL-Mixed-Quant-GGUF

来源:🤗image-text-to-textmit94 GBGGUF✓ 10 个校验和24 天前更新
或提交种子

MiMo-V2.6-Flash-RL Mixed-Quant GGUF

Mixed weights with original-representation calibration. The four-shard language model passed its 508-tensor structural and quantization audit.

Role-aware precision: expert gate/up IQ2_XXS, expert down IQ2_XS, shared dense paths and embedded MTP Q8_0, media BF16, and numerical controls F32.

Measured GGUF storage: 93.092 GB / 86.699 GiB, including main model, multimodal projector and separate DFlash weights. Auxiliary files and runtime memory are additional.

Text, image, audio, video and audiovisual assets are retained. ds4-dfm-rs on one DGX Spark GB10: the bounded serving checks below cover two 256K text banks, serial media, live partial reuse and restart disk KV with MTP off. Prior 512K serial text and 256K serial media/DFlash checks used different configurations. The checks do not establish throughput parity or general quality retention.

Serving checks, September 25, 2026

The 256K mixed setup uses --max-seqs 2 --prefix-reuse partial --kv-disk-dir ... --mtp-mode off, DS4_MIMO2_PREFILL_CHUNK=2048, and a VMM owner with --no-repack-q8-aligned. Aligned IQ2 expert weights stay enabled; disabling the optional Q8 repack saves 6.26 GiB. The two text banks hold separate KV and serialize forward passes through shared scratch. Images, video and audio use the serial lane.

Requested shape Observed result
256K mixed, two banks Booted; concurrent text and finite image/video/audio inputs completed. Silent and tone WAVs both elicited “Yes” to a tone question, so audio semantic discrimination failed this check.
Partial prefix reuse A second 21,622-token request reused 12,288 live tokens and answered correctly.
Disk KV restart A 21,623-token stored turn was reused after worker restart; a continuation computed 23 prompt tokens and answered correctly. Edited-prompt disk partial reuse is unproven.
512K mixed, two banks Memory fit rejected it on this GB10 with both default and Q8-repack-off owners.
1M text Two banks did not fit. One bank answered 540,022- and 1,040,506-token prompts correctly. The latter took 6,232 seconds and had zero cache hits.

These are bounded functional checks, not a full-length 256K mixed request, multimodal quality, cache reuse at 1M, or throughput qualification. The serving report records the exact limits. Embedded MTP without DFlash and the external five-layer DFlash with serial media were checked separately before this setup.

Runtime optimization, September 26, 2026

Measured on one DGX Spark / GB10 with MQ-IQ2-XXS-XS-Q8-MM-BF16, CUDA 13.3 (sm_121a), and the user-managed 300–2200 MHz clock range. These results belong to the runtime candidate in PR #65 (tested source).

Image, audio and video latency

Each round starts from its retained predecessor. The table shows three-run medians from fresh workers, each with one warm request before measurement. The rounds are separate paired comparisons; their gains are not cumulative measurements against one common baseline.

Round / input Original TTFT Optimized TTFT TTFT change Request wall change
Image R1: screen, full-attention score cache 12,817.3 ms 4,439.1 ms −65.37% −55.23%
Image R2: screen, window-attention score cache 4,450.7 ms 2,338.1 ms −47.47% −31.01%
Audio: 11.125 s speech, causal score cache 1,245.9 ms 854.3 ms −31.43% −16.96%
Audio: 14.530 s speech, causal score cache 1,543.7 ms 987.6 ms −36.02% −18.13%
Video: 4 s, coalesced vision key reads 2,142.4 ms 2,002.5 ms −6.53% −2.05%
Video: 13 s, coalesced vision key reads 5,592.1 ms 5,127.2 ms −8.31% −4.50%
Screen: same video-round optimization 2,338.7 ms 2,218.0 ms −5.16% −2.67%

Media settings: BF16 projector, context 8192, native prefill chunk 4096, serial lane (continuous width 0), prefix reuse and MTP off, temperature 0, thinking disabled. Output caps are 64 tokens for images and 128 for audio/video. Audio stops naturally; image/video outputs reach their caps. Decode medians remain approximately 26–27 tok/s, with no consistent regression or claimed decode speedup. Busy clocks were 2184–2197 MHz in the final video/image A/B.

Full-vocabulary proofs compare all 152,576 prefill logits, generated tokens and prepared inputs against each round's controls. Image R2 has one differing OFF-control HTTP response out of 18; its model proofs and all original/ON responses match. Before the corrected audio A/B qualification, a test-first repair removed an existing LayerNorm shared-memory reuse race (racecheck: failure → zero hazards). Audio and final video/image comparisons use that repaired baseline; their 36 and 54 warm/measured HTTP responses respectively match exactly. These are bounded parity checks, not general caption or transcription scores. One audio fixture retains a baseline transcription error.

Score caching uses additional shared memory per block but no persistent tensor allocation. Coalesced vision reads are enabled only for 512–3072 attention rows: larger-shape pilots regressed and retain the preceding path. That optimization adds 8448 B shared memory per block and about 199% more executed warp instructions in the isolated 880-row NCU comparison, with unchanged floating-point operation counts; the paired latency gains justify this measured, shape-limited tradeoff. Media results, controls and limits.

Text prefill

Three retained changes improve 8K prefill consistently by less than 1% each. Each uses its preceding retained build as the original control, three fresh samples per arm, a separate warmup process, a resident VMM owner, promessi_sposi.txt (8192 input / 128 greedy output tokens), 4096-token chunks, and MTP/DFlash off.

Change Original prefill Optimized prefill Change
Expert sum + residual fusion 1192.96 tok/s 1199.38 tok/s +0.54%
Attention scale + residual fusion 1199.67 tok/s 1206.87 tok/s +0.60%
IQ2 Gate/Up bounded scheduling 1206.39 tok/s 1217.76 tok/s +0.94%

These text results were qualified at retained text round 3 (a3fd2a5c); the final media build has no separate fresh text A/B. All measured full-vocabulary logits and 128-token continuations match. Decode ranges overlap; no decode improvement is claimed. The fusions reduce traffic without additional arithmetic or allocation. Gate/Up scheduling reduces spill instructions by 52.94% and L2 sectors by 18.77%, at the cost of 2.29% more executed instructions. Three further text candidates were rejected and are not enabled. Text results and receipts.

This campaign does not requalify the earlier long-context, two-bank or cache serving shapes. The 2K–64K curve below remains the September 24 measurement.

Prefill and decode on DGX Spark

The September 24 defaults (acc16308) reached 675.84 tok/s incremental prefill and 17.98 tok/s plain decode at 64K. Across the 2K–64K curve, the median of three run means is 874.46 / 21.47 tok/s.

One DGX Spark / GB10, MQ-IQ2-XXS-XS-Q8-MM-BF16, promessi_sposi.txt. Three fresh processes, one warm session per process, 2,048-token incremental steps and 128 greedy output tokens at every frontier. MTP and DFlash off. Curves show per-frontier medians; recorded bands show observed min–max; legend values are the 64K medians. The historical f09c1862 curve has only recorded medians, so it has no band. Historical curves are not a same-hour A/B. The clock range stays 300–2200 MHz; observed busy SM clocks were 2184–2190 MHz. CSV hashes and measurements · Runtime report.

Fresh paired runtime checks

Same final binary and resident weight owner, three fresh 8K/128 samples per side, ABBAAB order and a fresh warmup before every sample. The controls disable the new SWA tile, warp router and SwiGLU→Q8 fusion; the candidate uses defaults. This 8K prefill is distinct from the incremental curve.

Metric Controls Defaults Change
Prefill, tok/s 1157.53 1191.45 +2.93%
Plain decode, tok/s 21.26 24.37 +14.63%

The retained paths share the SWA window, parallelize expert selection, and emit unweighted SwiGLU directly into the down projection's Q8 input. Router and SwiGLU checks preserve logits/tokens exactly. SWA changes FP32 summation: one Italian continuation differs at 94/128 positions after token 31, while three focused math/code/Korean answers match. These are scoped numerical checks, not a general quality benchmark. Dense Q8 CTA grouping and QKV/KV fusion were evaluated and rejected; neither is enabled.

DFlash's separate GPU-attention round improves that mode from 4.41 to 6.97 tok/s on a 256/64 fixture (three samples, +58.05%). A same-binary plain-decode countercheck reaches 23.91 tok/s (one sample). DFlash remains slower on that workload; the main graph above uses plain decode.

Earlier experimental decode rounds on DGX Spark

Historical 8K pairs, 128 greedy tokens, one fresh process per arm. MTP and DFlash stay off. The base stack adds P6 SWA HMMA and the full-attention decode split. Busy clocks were 2190–2197 MHz. KV size and the 8K argmax matched on each pair.

Round Switch 8K decode tok/s Result
D1 DS4_MIMO2_SWA_DECODE 21.32 → 21.83 historical opt-in
D2 DS4_MIMO2_SPLIT_VEC 21.83 → 22.04 unadopted
D3 DS4_MIMO2_SWA_VEC 21.79 → 23.16 historical opt-in

One cold 64K run of that historical enabled stack measured 884.21 tok/s prefill and 17.10 tok/s decode, clocks 2184–2197 MHz. That single process does not replace the incremental median above.

Earlier prefill rounds on DGX Spark

Three same-binary comparisons at one 8,192-token frontier, 128 greedy tokens, promessi_sposi.txt, MTP and DFlash off. Three fresh processes per side after a warmup. Busy SM clocks stayed inside 2177–2197 MHz. That 8,192-token frontier is not the incremental curve above.

Round Kill switch 8K prefill tok/s Prefill time upper Decode time envelope
1 DS4_MIMO2_NO_PREFILL_HMMA 630.51 → 871.19 −27.5% −1.03% to +0.66%
2 DS4_MIMO2_NO_PREFILL_ASYNC 870.38 → 1071.07 −18.6% −1.59% to +0.14%
3 DS4_MIMO2_NO_SWA_HMMA 1073.29 → 1158.35 −7.0% −0.84% to +0.42%

Unset, windowless and window-128 prefill of 32 or more rows use tensor cores, and the windowless path stages KV asynchronously. Those prefill changes leave one-row decode unchanged at that revision. Rounds 1 and 3 change summation order: relative RMS was 0.073 and 0.077 under --logit-rel-rms 0.10, and every frontier argmax matched. Round 2 matched logits and greedy tokens.

Support my work

I work on making large language models practical on constrained hardware through mixed quantization, inference optimization, and serving experiments. Contributions help cover calibration, GPU compute, storage, and testing so these results can be published openly.

This is a mixed-precision conversion of XiaomiMiMo/MiMo-V2.6-Flash-RL, pinned to revision 3b38d063180c3e4aed9691fdc735f3d10b266ee4.

Why this model needs an asymmetric layout

The source stores routed expert weights as packed MXFP4. Two logical weights occupy each packed byte, so counting stored tensor elements can produce a roughly 159B figure. The expanded language trunk contains approximately 308.78B logical parameters; the root checkpoint including embedded MTP and media components contains approximately 310.76B, excluding the separate DFlash package. The packed representation does not make this a 159B logical model.

Routed experts account for 302.80B parameters. They dominate the storage budget, so the recipe concentrates compression there and gives their output projections a higher tier. Shared attention and dense paths, the output head, and multimodal components receive substantially more precision.

Variant and availability

Component Precision Measured GB Measured GiB
Main model including three embedded MTP blocks IQ2_XXS / IQ2_XS / Q8_0 / F32 88.778 82.681
Multimodal projector BF16 / F32 2.749 2.560
Separate DFlash Q8_0 / F32 1.566 1.458
All GGUF weights Mixed 93.092 86.699

Main plus media without the optional separate drafter: 91.526 GB / 85.240 GiB.

Download the complete variant, including template, DFlash configuration and provenance:

hf download Baekpica/MiMo-V2.6-Flash-RL-Mixed-Quant-GGUF \
  --include 'MQ-IQ2-XXS-XS-Q8-MM-BF16/*' --local-dir ./mimo-mixed
cd ./mimo-mixed/MQ-IQ2-XXS-XS-Q8-MM-BF16
sha256sum -c SHA256SUMS

These are download and verification commands. See the serving report above for the bounded GB10 runtime configuration.

Quantization targets

Model region Target Reason
Routed expert gate and up IQ2_XXS Largest share of the parameter budget
Routed expert down IQ2_XS Higher precision at the return to the residual stream
Attention projections and dense FFN matrices Q8_0 Shared computation on every token
Token embedding and output head Q8_0 Preserve input and logit precision
Three embedded MTP blocks, eligible matrices Q8_0 Preserve checkpoint predictors for later runtime integration
Routers, norms, attention sinks, and control tensors F32 Preserve routing and numerical control
Multimodal encoder/projector matrices BF16 Preserve media representation precision
Separate DFlash draft matrices Q8_0 Optional draft package, separate from embedded MTP

The per-tensor inventory and recipe accompany the weights. BF16/F32 in this table describes the output storage format; source tensors already stored in FP8 are expanded from that source precision.

Importance matrix and calibration

Calibration uses the original checkpoint representation: expert MXFP4 values are repacked into GGUF without an additional quantization step, while the source FP8 dense tensors are expanded to BF16. This reference is not an original full-BF16 checkpoint and is not calibrated from the final IQ2 artifact.

The corpus starts from Baekpica/Inkling-Small-Multimodal-Calibration, with media recovered from the source datasets and prompts tokenized using MiMo's own tokenizer. Inkling token IDs and embeddings are not reused. Video clips are added from FineVideo.

Prepared subset Records Current state
Text reasoning and code/tool text 667 Completed 640 × 1,024-token chunks (655,360 tokens)
Chart/document images 486 Native trunk calibration completed
Audio 309 Native trunk calibration completed
FineVideo clips 79 Native trunk calibration completed
FineVideo joint audiovisual clips 79 Native audiovisual trunk calibration completed
FineVideo holdout 9 Separated by source video; not part of calibration

The visual-only clips are paired with a separate set of 79 joint audiovisual inputs using restored original audio and production per-frame-pair interleaving. Every prepared audio token is consumed exactly once in each joint input. All 953 native media records completed trunk calibration with finite final logits. Coverage is 12,030 of 12,032 layer/expert pairs; block 7 experts 13 and 184 remain unobserved. The original recipe is unchanged: raw zero counts are retained and the pinned quantizer uses uniform importance weights for those experts. The final imatrix SHA256 is 265cc19bc1470b95a9157d3b2fab893f325a9e2b6ef414cdbdfac4326c9ef8e3.

Text calibration used raw GGUF Qwen2 BPE without the HF tokenizer NFC normalizer. Six decomposed Y-macron occurrences in four corpus lines differ from NFC input; the collected statistics are preserved as observed. Native media prompts used the original HF tokenizer. The ds4 MiMo tokenizer applies NFC.

Multimodal input contract

Input processing is being aligned with the SGLang MiMo implementation, alongside the pinned checkpoint configuration and tokenizer.

Input Required handling Validation state
Text MiMo tokenizer, chat template, and special tokens Reference text decode passed
Image Production normalization, spatial patch/merge order, vision boundary tokens Native smoke and one-image GGUF comparison completed; broader checks pending
Audio Original audio tokenizer, local encoder/projector, audio boundary tokens Native preparation and trunk calibration completed
Video Two-frame temporal patches, MiMo video boundaries, MM:SS timestamps Native temporal preparation and trunk calibration completed
Video with audio Source timing and native audiovisual token layout Token-layout, audio-coverage and trunk calibration completed

Generic video ingestion is insufficient here: using independent image frames or generic timestamps changes the model's input contract. Media imatrix collection must consume the correctly prepared original-model embeddings.

Memory metrics

Exact GGUF file sizes are listed above and in artifact-manifest.json. Main tensor payload is 88,771,782,144 bytes; file sizes additionally include headers, tokenizer metadata and alignment.

Device usage includes KV cache, media activations, allocator overhead, workspaces and the operating system. The qualified serving set is the same one named above. Selective residency beyond that measured process is not claimed.

Conversion and verification

Check Current evidence
Source download All 90 source repository files passed Hub checksum verification
MXFP4 repacking and TP=4 QKV ordering Local numerical checks passed
Routed-expert source audit All 36,096 expert matrices sampled across 108,257 deterministic rows; repacked bytes matched
Original-representation reference Four shards and media/DFlash assets published and verified
Reference text smoke GPU load and arithmetic decode passed
Text imatrix Completed 640 chunks / 655,360 tokens
Multimodal imatrix and coverage Completed 953 records / 464,968 tokens; merged raw sums/counts verified
Final mixed tensor inventory and checksums 508-tensor audit passed; six GGUF files listed in SHA256SUMS
Embedded MTP Qualified on CUDA when no DFlash file is loaded
DFlash runtime External five-layer Q8_0 draft. A rejected draft stops at the accepted prefix
DGX Spark / ds4-dfm-rs 256K two-bank text with serial media, live partial reuse and restart disk KV passed bounded MTP-off checks; prior 512K serial text and 256K DFlash/media checks are separate. 512K mixed two-bank did not fit; 1M one-bank text answered 1,040,506 uncached prompt tokens correctly

The sampled expert audit is not a whole-file byte comparison. A successful reference smoke is not a quality benchmark for the final mixed model. These conversion checks do not establish accuracy or general quality retention. Scoped throughput measurements are reported above.

The original-representation reference and its audit are available in the separate intermediate GGUF repository.

Reproduction and release contents

The variant includes four mixed language shards, a BF16/F32 multimodal projector (including input audio-codec tensors), the separate Q8_0 DFlash package and mask embedding, original chat template, tensor recipe, final imatrix, calibration provenance and coverage, conversion scripts, checksums and validation reports.

See reproduction instructions. The synthesis decoder and training-only audio-codebook statistics are not part of this input-modality projector. No audio-output serving capability is claimed. Original gated source media is not redistributed.

The separate intermediate repository contains the calibration reference. No full Q8_0 or BF16 language baseline was needed.

Chat template

The upstream chat_template.jinja is published alongside this card, copied byte for byte from the pinned source revision. Use it with MiMo’s own tokenizer and special-token mapping. Media preprocessing and embedding insertion remain part of the runtime input contract; the template alone does not implement them.

Runtime support

The current work covers calibration, mixed-quant construction, validation, and the measured ds4-dfm-rs serving set named above. This card does not add a second serving recipe.

License

MIT, inherited from the pinned upstream model. Calibration datasets retain their respective licenses and access conditions.