Highest-quality JANGTQ profile — near-bf16 accuracy at ~50% of bf16 disk.
⚠️ Recommended: Run in MLX Studio or Osaurus. Both bundle the JANGTQ runtime (custom Metal kernels for codebook + Hadamard matmul). Stock mlx_lm.load() will NOT load this checkpoint.
JANGTQ (JANG TurboQuant) is the most-compressed, highest-quality JANG
quantization format. Routed expert weights stay in a compact codebook +
Hadamard-rotated form at runtime — no decompression to affine — and the
matmul path uses custom Metal kernels that read packed uint32 weights,
look up centroids in a 16-entry codebook (at 4-bit), and accumulate dot
products against a Hadamard-rotated input (QuIP# rotate-input-once math).
JANGTQ4 trades disk size for quality — 4-bit codebooks capture the routed-
expert weight distribution near-losslessly. Pick JANGTQ4 when RAM is
available and you want the closest quality to bf16 on Apple Silicon. Pick
JANGTQ (2-bit) for the smallest footprint at minimal quality cost.
JANGTQ2 vs JANGTQ4 vs bf16
JANGTQ (2-bit)
JANGTQ4
bf16
Disk
56.5 GB
~113 GB
~457 GB
Routed expert bits
2
4
16
Codebook size
4 entries
16 entries
—
Avg bits/param
~2.15
~4.10
16
MMLU 200q (baseline)
91.5%
TBD (expected ≥ 94%)
95.5%
Decode tok/s (M3 Ultra)
44.3
TBD
baseline
Pick JANGTQ4 when RAM is available and you want the highest-quality 4-bit
MiniMax M2.7. Pick the 2-bit JANGTQ for the smallest disk / RAM footprint.
Model Details
Metric
Value
Source
MiniMaxAI/MiniMax-M2.7 (FP8 E4M3)
Architecture
MoE (256 experts, top-8 active), standard Q/K/V attention, partial RoPE
Total parameters
228.7 B
Active per token
~1.4 B
Profile
JANGTQ4
Format
JANGTQ (codebook+Hadamard) — weight_format: mxtq in jang_config.json
Avg bits/param
~4.10
Disk
~113 GB
Context
192 K tokens
Chat template
Always-reasoning (<think>\n opened at assistant start)
JANGTQ4 Bit Allocation
Component
Bits
Format
Why
Routed expert MLP (gate/up/down) — 98% of params
4
JANGTQ codebook + Hadamard
16-entry codebook captures the routed-expert distribution near-losslessly
Attention (Q/K/V/O)
8
affine (nn.QuantizedLinear, group_size=64)
Runs on every token; quality-critical
Shared expert
8
affine
Runs on every token
Embed tokens / LM head
8
affine
Quality-critical input/output projections
Router gate
fp16
unquantized nn.Linear
Routing precision matters
RMSNorms / RoPE / biases
fp16
unquantized
Already tiny
Important Settings
MiniMax M2.7 is an always-reasoning model. The chat template
unconditionally opens <think>\n at each assistant turn.
Setting
Value
Notes
Temperature
1.0
REQUIRED — temp=0 can cause thinking loops
Top P
0.95
Top K
40
Repetition Penalty
1.1
Optional, helps prevent loops
max_tokens
≥ 8192
Give reasoning room to converge
Strip <think>…</think> from the response before using the final answer.
<think>...</think> and <tool_call>...</tool_call> are non-special tokens
by design — the application layer parses them. vmlx's CapabilityDetector
reads this block verbatim and wires the qwen3 reasoning parser + minimax
tool parser automatically, so streamed responses route reasoning_content
and tool_calls into the OpenAI-compatible SSE fields instead of leaking
into content.
License
MiniMax non-commercial (inherits from upstream — see LICENSE).