Minimax-M3.1-Flash-Dflash2

Overview

A DFlash2 draft for MiniMax M3.1 Flash that proposes tokens in parallel for verification by the target model in SGLang.

This repository provides the BF16 checkpoint and its configuration. Serving also requires the target model, which provides the embedding, output head, tokenizer, and native chat template.

Model Specifications

  • Base model: MiniMaxAI/MiniMax-M3.1-Flash
  • Architecture: MiniMaxDFlash2DraftModel, 5 GQA layers
  • Parameters: 2,054,677,760 across 81 BF16 tensors
  • Format: One BF16 Safetensors file
  • Hidden size: 6,144; 64 query heads and 4 KV heads
  • Attention: Sliding window of 4,096 tokens
  • Verification width: 8 tokens, comprising an anchor and 7 proposals
  • Selector: Rank 256, top-k 16
  • Auxiliary target layers: [3, 17, 31, 45, 59]
  • Configured maximum positions: 1,048,576

The evaluations below used a 16,384-token serving context. They do not establish acceptance quality at the full configured context length.

Evaluation Results

acc_len is the unweighted mean of each request's completion-token count divided by its number of verification steps. It includes responses that reached the output cap.

Dataset Samples acc_len
GSM8K 1,319 5.163813
AIME26 30 4.309412
MBPP 257 4.383587
MT-Bench 160 turns (80 conversations) 3.580651

Measured with temperature=1.0, top_p=0.95, top_k=-1, and native adaptive thinking. The evaluation used TP4 on GB300, a native NVFP4 target with TRTLLM MHA and FP8 KV cache, and a BF16 draft with FA4 and BF16 KV cache. DFLASH verified 8 tokens per step.

GSM8K, AIME26, and MBPP used concurrency 16 and an 8,192-token output cap; MT-Bench used concurrency 2 and a 2,048-token cap. The cap was reached by 3, 8, 3, and 54 responses, respectively. MT-Bench's second turn used the model's generated first-turn history. Acceptance length measures decoding behavior, rather than answer quality or throughput.

Serving with SGLang

The following cookbook and example show how to serve MiniMax M3.1 Flash with this DFlash2 draft using SGLang:

SGLANG_RAGGED_VERIFY_MODE=static \
FMHA_SM100_ALLOW_JIT=1 \
SGLANG_OPT_USE_BF16_ROUTER_GEMM=0 \
SGLANG_OPT_DEEPGEMM_MEGA_MOE_NUM_MAX_TOKENS_PER_RANK=32768 \
python -m sglang.launch_server \
  --model-path MiniMaxAI/MiniMax-M3.1-Flash \
  --trust-remote-code \
  --reasoning-parser auto \
  --tool-call-parser auto \
  --tp-size 4 \
  --dp-size 1 \
  --ep-size 1 \
  --context-length 16384 \
  --chunked-prefill-size 2048 \
  --max-prefill-tokens 65536 \
  --max-running-requests 16 \
  --cuda-graph-max-bs-decode 16 \
  --cuda-graph-backend-prefill disabled \
  --mem-fraction-static 0.8 \
  --max-total-tokens 131072 \
  --moe-runner-backend flashinfer_trtllm_routed \
  --moe-a2a-backend none \
  --speculative-algorithm DFLASH \
  --speculative-draft-model-path RadixArk/Minimax-M3.1-Flash-Dflash2 \
  --speculative-draft-attention-backend fa4 \
  --speculative-draft-kv-cache-dtype bf16 \
  --speculative-draft-model-quantization unquant \
  --speculative-num-draft-tokens 8 \
  --random-seed 42 \
  --host 127.0.0.1 \
  --port 30000

SGLang selects the target's native NVFP4 loading, TRTLLM MHA attention, and FP8 KV cache automatically. Use the target's native chat template and adaptive thinking to match the evaluation settings.

Downloads last month
64
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for RadixArk/Minimax-M3.1-Flash-Dflash2

Finetuned
(8)
this model