πŸ“ Tutorials
Β· 6 min read

How to Run MiniMax M2.7 Locally: Hardware, GGUF Setup, and Performance Guide (2026)


MiniMax M2.7 is a 230B parameter MoE model that activates only 10B parameters per token. It scores 56.22% on SWE-Pro (rivaling Claude Opus 4.6) while running at 100 tok/s via API. Open weights dropped on HuggingFace in April 2026, meaning you can now self-host it.

The 4.3% activation ratio is what makes M2.7 interesting for local deployment. Despite 230B total parameters, inference cost scales with the 10B active portion. This puts it in reach of multi-GPU consumer setups.

This guide covers hardware requirements, quantization options, and step-by-step setup. If you want API access instead, see our MiniMax M2.7 complete guide.

Hardware requirements

Memory by quantization

QuantizationDisk sizeRAM/VRAM neededHardware example
BF16 (full)~427 GB~450 GB6x A100 80GB
Q8_0~243 GB~260 GB4x RTX 4090 + 128GB RAM
Q6_K~188 GB~200 GB2x A100 80GB or Mac Studio 192GB
Q5_K_M~162 GB~175 GBMac Studio 192GB or 3x RTX 4090
Q4_K_M~138 GB~150 GBMac Studio 192GB or 2x RTX 4090 + 64GB RAM
IQ3_XXS~95 GB~110 GBM4 Max 128GB or 2x RTX 3090
IQ2_XXS~75 GB~90 GBM3/M4 Pro 96GB or 1x A100 80GB

What can actually run this?

Apple Silicon (best consumer option):

  • M3/M4 Max 96GB: IQ2_XXS or IQ3_XXS (~8-15 tok/s)
  • M2/M3/M4 Ultra 192GB: Q4_K_M comfortably (~15-25 tok/s)
  • Mac Studio M4 Ultra 256GB: Q6_K with room for context (~20-30 tok/s)

NVIDIA GPUs:

  • 2x RTX 4090 (48GB VRAM) + 128GB system RAM: Q4_K_M with CPU offload (~15-20 tok/s)
  • 4x RTX 4090 (96GB VRAM): Q6_K fully on GPU (~30-40 tok/s)
  • 2x A100 80GB: Q5_K_M fully on GPU (~50-60 tok/s)

Not viable:

  • Single RTX 4090 (24GB) β€” model does not fit even at lowest quant without heavy CPU offload
  • Laptops with 32GB or less
  • CPU-only systems under 128GB RAM (technically possible but <2 tok/s)

Setup with Ollama

The fastest path to running M2.7 locally:

# Pull the Unsloth GGUF (recommended - calibrated quantization)
# First download the specific quant you want
pip install huggingface_hub hf_transfer
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download \
    unsloth/MiniMax-M2.7-GGUF \
    --include "*Q4_K_M*" \
    --local-dir ./models/minimax-m2.7/

# Create Modelfile for Ollama
cat > Modelfile << 'EOF'
FROM ./models/minimax-m2.7/MiniMax-M2.7-Q4_K_M.gguf
PARAMETER temperature 0.7
PARAMETER num_ctx 16384
PARAMETER top_p 0.9
EOF

# Import and run
ollama create minimax-m2.7 -f Modelfile
ollama run minimax-m2.7 "Write a Python async web scraper with rate limiting"

Alternative: use bartowski’s pre-built quants

# bartowski's GGUF is also well-regarded
huggingface-cli download bartowski/MiniMaxAI_MiniMax-M2.7-GGUF \
    --include "*Q4_K_M*" \
    --local-dir ./models/minimax-m2.7-bartowski/

Setup with llama.cpp

For multi-GPU or when you need fine-grained layer control:

# Build with CUDA
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j \
    --clean-first --target llama-cli llama-server

# Run on 2x RTX 4090 with layer split
./llama.cpp/build/bin/llama-cli \
    --model ./models/minimax-m2.7/MiniMax-M2.7-Q4_K_M.gguf \
    --threads 16 \
    --ctx-size 16384 \
    --n-gpu-layers 62 \
    --tensor-split 50,50 \
    --temp 0.7 \
    --top-p 0.9 \
    -no-cnv \
    --prompt "Your prompt here"

MoE CPU offload trick (single GPU)

If you only have one GPU, offload the expert layers to CPU:

./llama.cpp/build/bin/llama-cli \
    --model ./models/minimax-m2.7/MiniMax-M2.7-IQ3_XXS.gguf \
    --threads 32 \
    --ctx-size 8192 \
    --n-gpu-layers 99 \
    -ot ".ffn_.*_exps.=CPU" \
    --temp 0.7 \
    -no-cnv \
    --prompt "Your prompt here"

This keeps attention layers on GPU (fast) while routing expert computation through CPU (slower but fits). Expect ~5-10 tok/s on a single 24GB GPU with IQ3_XXS.

Serving as a local API

To use M2.7 with coding tools that expect an OpenAI-compatible API:

# Start llama.cpp server
./llama.cpp/build/bin/llama-server \
    --model ./models/minimax-m2.7/MiniMax-M2.7-Q4_K_M.gguf \
    --ctx-size 16384 \
    --n-gpu-layers 62 \
    --host 0.0.0.0 \
    --port 8080

# Now use with any OpenAI-compatible client
curl http://localhost:8080/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "minimax-m2.7",
        "messages": [{"role": "user", "content": "Write tests for this function"}],
        "temperature": 0.7
    }'

This works with Aider, Continue.dev, and any tool that supports custom OpenAI endpoints.

Performance benchmarks

Community-reported numbers:

SetupQuantizationGeneration speedContext
M3 Max 96GBIQ3_XXS~10-14 tok/s8K
M4 Ultra 192GBQ4_K_M~18-25 tok/s16K
2x RTX 4090Q4_K_M~20-28 tok/s16K
4x RTX 4090Q6_K~35-45 tok/s32K
2x A100 80GBQ5_K_M~50-65 tok/s32K

For comparison, the MiniMax API runs at ~100 tok/s. Self-hosting is 2-5x slower but free after hardware costs.

Quality at different quantizations

MoE models handle quantization differently than dense models. Because only 10B parameters are active per token, quantizing the inactive experts has less impact on output quality:

QuantizationQuality retentionPractical impact
Q6_K~98%Negligible quality loss
Q5_K_M~96%Very slight loss on complex reasoning
Q4_K_M~93%Good for most coding tasks
IQ3_XXS~88%Noticeable on nuanced tasks, fine for code generation
IQ2_XXS~82%Useful for testing, not recommended for production

For coding tasks, Q4_K_M is the sweet spot. The 7% quality loss vs full precision is rarely noticeable in practice for code generation, review, and debugging.

M2.7 vs API: cost comparison

Usage levelSelf-host cost (2x 4090)API cost ($0.30/$1.20 per 1M)
1M tokens/day$0 (after hardware)~$45/month
10M tokens/day$0 (after hardware)~$450/month
100M tokens/day$0 (after hardware)~$4,500/month
Hardware cost~$4,000 upfront$0

Break-even: At 10M tokens/day, self-hosting pays for itself in ~9 months. Below that, the API is more practical unless you need data privacy.

When to use M2.7 locally vs alternatives

NeedBest option
Best coding quality (local)DeepSeek V4 Pro (80.6% SWE-bench)
Best quality/size ratioMiniMax M2.7 (56% SWE-Pro at 10B active)
Fits on consumer GPUQwen 3.6-27B (16GB RAM)
Cheapest APIDeepSeek V4 Flash ($0.28/M)
Agentic workflowsMiniMax M2.7 (designed for agents, 256 experts)
1M context locallyGLM-5.2 (1M context, MIT)

M2.7 excels at agentic tasks because of its 256-expert architecture. If you are building multi-step agent workflows that need to run locally (tool use, code execution loops), M2.7 is purpose-built for this.

FAQ

Can I run MiniMax M2.7 on a Mac?

Yes. M3/M4 Max with 96GB unified memory runs IQ3_XXS at ~10-14 tok/s. M2/M3/M4 Ultra with 192GB runs Q4_K_M comfortably at ~18-25 tok/s. Apple Silicon’s unified memory architecture is ideal for large MoE models.

What is the minimum hardware for M2.7?

The absolute minimum is 96GB unified memory (Apple) or 2x RTX 3090 (48GB VRAM) + 64GB system RAM, using IQ3_XXS quantization. Expect ~8-12 tok/s. Below this, the model either does not fit or runs too slowly to be useful.

Is M2.7 better than DeepSeek V4 for local use?

Different strengths. DeepSeek V4 Pro is better at coding (80.6% vs 56.2% SWE-bench). M2.7 is better at agentic tasks and has a much smaller active parameter count (10B vs 49B), meaning it needs less compute per token despite larger total size. For agent workflows, pick M2.7. For raw coding, pick DeepSeek.

Does MiniMax M2.7 support tool calling locally?

Yes. M2.7 was trained with native tool calling support. When running via llama.cpp server or Ollama, you can use function calling through the OpenAI-compatible API endpoint. Format tool definitions in your system prompt using the MiniMax chat template.

Should I wait for MiniMax M3?

MiniMax M3 is already available via API (59% SWE-bench Pro, 1M context). However, M3 open weights have not been released yet. If you need local deployment today, M2.7 is your option. When M3 weights drop, it will be the better choice.