MiniMaxAI/MiniMax-M3

How to deploy MiniMax-M3 on Lambda

TL;DR: token throughput

Measured on NVIDIA HGX B200, CUDA 12.8. 8192 in / 2048 out tokens, 32 concurrent requests.

SGLangvLLM

Hardware Gen. throughput Per-user gen Total throughput TTFT (mean) ITL (mean)
NVIDIA HGX B200 1,627.79 tok/s 50.87 tok/s 8,138.97 tok/s 3,890.10 ms 17.77 ms
Hardware Gen. throughput Per-user gen Total throughput TTFT (mean) ITL (mean)
NVIDIA HGX B200 1,619.51 tok/s 50.61 tok/s 8,097.56 tok/s 1,440.30 ms 19.06 ms

Benchmark command

(8192 in / 2048 out tokens, 32 parallel requests, 512 prompts. Measured on NVIDIA HGX B200 with CUDA 12.8.)

The benchmark uses a 4:1 input-to-output token ratio (8192 in / 2048 out per request) to simulate long-context coding and document-analysis workflows.

Benchmark configuration:

vllm bench serve \
  --backend openai-chat \
  --model MiniMaxAI/MiniMax-M3 \
  --served-model-name minimax-m3 \
  --dataset-name random \
  --random-input-len 8192 \
  --random-output-len 2048 \
  --num-prompts 512 \
  --max-concurrency 32 \
  --endpoint /v1/chat/completions

Background

MiniMax-M3 is a natively multimodal Mixture-of-Experts (MoE) model that takes text, image, and video as input and returns text. It's a 428B parameter model with 23B active, and it serves a context window of one million tokens. The defining change is MiniMax Sparse Attention (MSA), a block-sparse attention scheme that lets the model reach that million-token window while cutting per-token compute to roughly one twentieth. This still delivers more than 9x faster prefill and more than 15x faster decode at 1M tokens than MiniMax M2.

MSA works by giving each attention layer a lightweight indexing stage that scores the preceding context in 128-token blocks and keeps only the sixteen most relevant ones, so every query attends to a fixed budget of about 2,048 tokens no matter how long the sequence grows. That selector is trained to imitate where full attention actually wants to look, using a KL alignment loss with a stop-gradient so it never disturbs the rest of the model, an approach that also makes it possible to convert an existing dense checkpoint into a sparse one. The first three layers stay dense, with MSA engaging from the fourth layer onward. M3 also moves well beyond the text-only M2 in two respects: it learns from mixed text, image, and video data starting at the first training step, which the team credits for deeper semantic fusion across the modalities, and it exposes an adaptive reasoning mode that lets the model itself decide when extra deliberation is worth the added latency.

The model is aimed at agentic and coding work. It reports 59.0% on SWE-Bench Pro, 66.0% on Terminal-Bench 2.1, and 70.06% on OSWorld-Verified for computer use. MiniMax positions these as frontier-adjacent results delivered at a fraction of the serving cost rather than outright state-of-the-art. It notes that several of the agentic numbers were measured on its own scaffolding and awaited independent verification at release.

Model specifications

Overview

Specifications

Hardware requirements

Deployment and benchmarking

Deploying MiniMax-M3

MiniMax-M3 is served on a full NVIDIA HGX B200 with tensor parallelism across all 8 GPUs.

  1. Launch an instance from the Lambda Cloud Console using the GPU Base 24.04 image: NVIDIA HGX B200 (8× NVIDIA B200 GPUs). These benchmarks were run with CUDA 12.8 (driver 570).
  2. Connect to your instance via SSH or the JupyterLab terminal. See Connecting to an instance for detailed instructions.
  3. Start the inference server using one of the backends below.

Verify the server

curl -X GET http://localhost:8000/v1/models \
  -H "Content-Type: application/json"

You should see minimax-m3 listed in the response.

Benchmarking MiniMax-M3

Workload: 8192 input / 2048 output tokens, 512 prompts, 32 concurrent requests. Measured on NVIDIA HGX B200 with CUDA 12.8.

NVIDIA HGX B200

Token throughput:

Metric Tokens per second
Output generation 1,627.79
Total (input & output) 8,138.97

Latency (Mean / P99 in ms):

Metric Mean P99
Time to first token 3,890.10 6,549.91
Time per output token 17.77 19.52
Inter-token latency 17.77 17.60

Next steps

Upstream