Repository navigation
model: add MiniMax-M3.1 - #31192
Open
danielhanchen wants to merge 1 commit into
Open
model: add MiniMax-M3.1#31192danielhanchen wants to merge 1 commit into
danielhanchen wants to merge 1 commit into
Conversation
- Converter for the mixed MXFP8 + NVFP4 checkpoint: routed experts stay native NVFP4 with a per-expert 1/global_scale tensor, or are dequantized exactly; MXFP8 tensors decode exactly - Sparse attention (MSA) on every layer including the dense-lead layers: a layer runs MSA iff it carries indexer tensors, so MiniMax-M3 GGUFs behave as before - MSA batch path chunked so no intermediate reaches 2^31 elements - BPE tokenizer applies tokenizer.ggml.normalizer.nfc like the Unigram one - DSpark drafter: DSparkMiniMaxDraftModel converter, swigluoai in dflash and per-layer target taps - Gemma 1 + w norm add runs in F32
Member
|
Please drop the dequant. I understand it may be useful when there's no BF16 model, however it does not belong to model-specific conversion, please follow up with a generic conversion option instead (though this is low priority). |
1 of 5 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds MiniMax-M3.1-Flash: https://huggingface.co/MiniMaxAI/MiniMax-M3.1-Flash
NVFP4with a per-expert1/global_scaletensor (or are dequantized exactly to BF16 / F16 / F32 / Q8_0 with--outtype,--fp8-as-q8for Q8_0 dense weights); MXFP8 tensors decode exactly-ub)tokenizer.ggml.normalizer.nfclike the Unigram one already does (M3.1 declares an NFC normalizer); GGUFs without the key are unaffected (same change as unicode : extending opt-in NFC support beyond UGM #30708)DSparkMiniMaxDraftModelconverter,swigluoaiindflash.cppand per-layer target taps1 + wnorm add runs in F32, so F16 sources no longer lose the low bits ofwTested against transformers in float64 with exact dequantization, on fixtures with the real tokenizer and storage formats: mean KL 5.8e-7 (BF16 source) and 5.6e-7 (NVFP4 + MXFP8), top-1 100%; the MiniMax-M3 layout gives 1.8e-6. The tokenizer matches HF on 3,221 documents and 605 rendered chats. On the real weights, the native NVFP4 GGUF agrees with a reference GPU implementation on 95.5% to 99.1% of top-1 tokens over its own greedy continuations (chat, math, code), and greedy decoding with the DSpark drafter is identical to plain greedy. GGUFs: https://huggingface.co/unsloth/MiniMax-M3.1-Flash-GGUF
Run with
llama-server -m MiniMax-M3.1-Flash.gguf --jinja -fa on -np 1(sparse attention needs one slot or--no-kv-unified); for DSpark add--spec-type draft-dspark -md MiniMax-M3.1-Flash-DSpark-BF16.gguf --spec-draft-p-min 0.AI Usage
Used Claude and Local Models for testing, iteration and code design - manual verification of model / PR usage