Skip to content

Back to the catalog

Welcome Muse Spark Open: open-weight frontier multimodal mixture-of-experts model from Meta
huggingface.coarticle

Welcome Muse Spark Open: open-weight frontier multimodal mixture-of-experts model from Meta

Hugging Face's launch post for Meta's Muse Spark Open, an open-weight 816B-parameter mixture-of-experts model (about 42B active per token). It has 256 experts with 8 routed per token, a 1M-token context, and perception and audio encoders for image, video and audio input. The post gives the architecture details, BF16 and NVFP4 checkpoints, and run recipes for transformers, llama.cpp, SGLang, vLLM, MLX and Inference Endpoints. It also covers LoRA SFT of the full model with TRL on 64 H100s and agentic demos (Pi 3D asset generation, an OpenEnv browser agent, a voice-driven shopping agent).

TL;DR Hugging Face's release guide for Meta's open-weight 816B-A42B multimodal MoE Muse Spark Open: architecture, serving recipes (transformers, vLLM, SGLang, llama.cpp, MLX), TRL LoRA fine-tuning and agent demos.
Document

What it claims

Meta's Muse Spark Open (meta-models/Muse-Spark-Open-816B-A42B, plus an -NVFP4 variant) is pitched as an agentic-coding model trained on real developer workflows such as multi-file refactors and long debugging sessions. The post calls it "the most capable US open-weights model to date". It gives no benchmark numbers to support that claim or the coding focus. The model shares its tokenizer and vocabulary with Muse Glimmer, the small dense model in the same series.

How it works

The language model has the following structure:

  • 62 layers with hidden size 8192.
  • Grouped-query attention with 128 query heads, 16 KV heads and 64-dimension heads.
  • QK-norm, an attention output gate and output norm.
  • A learned residual gate in place of a plain residual sum.
  • Each expert is an FFN of 8192→4096→8192 with its own output norm. Experts hold about 97% of all parameters.
  • Untied input embedding and output layer, about 1.66B parameters each.

The perception encoder has 1.8B parameters, 50 layers and 14×14 patches. It uses full attention on every 4th layer and the last layer, and sparse attention elsewhere. Video runs through the same encoder.

The audio encoder is a convolutional pyramid with patch sizes [16, 6, 5, 4]. It emits one token per 80 ms, or 12.5 tokens/s, so 10 s of audio costs 125 tokens.

The chat template is channel-based Harmony, as used by gpt-oss:

  • to=self carries reasoning.
  • commentary carries user-visible text between tool calls.
  • to=user carries the final answer.
  • to=<tool> carries tool calls, with XML <atem:invoke> bodies.

Sizing facts that drive deployment

  • The BF16 checkpoint is about 1.5 TB. All 256 experts must be resident even though only about 42B parameters run per token.
  • The KV cache costs about 250 KB per token in BF16, which is about 266 GB at the full 1M context. Image, video and audio tokens share that window.
  • Tested hardware per runtime:
RuntimeCheckpointHardwareContextModalities
transformersBF164×8 H200, TP=32–all
transformersNVFP41 B200 node–all
SGLangNVFP44× GB300–text/image/audio/video
vLLM pluginNVFP4 (Blackwell only)TP=4128K as configuredtext + image only
Inference EndpointsNVFP48× RTX Pro 6000 / 8× H200131K / 1M–
llama.cpp Q2_KGGUFM3 Ultra 512 GB–304 GB used, 18 tok/s
oMLX oQ3eMLXM3 Ultra 512 GB–344 GB, 225 tok/s prefill, 21 tok/s gen (1024-token prompt)

How to use it

llama serve -hf ggml-org/Muse-Spark-Open-816B-A42B-GGUF:Q2_K
hf endpoints catalog deploy --repo meta-models/Muse-Spark-Open-816B-A42B-NVFP4 --name muse-spark
mlx_lm.generate --model mlx-community/Muse-Spark-Open-816B-A42B-oQ3e \
  --prompt "Explain convolutional networks like I am 5" \
  --max-tokens 5000

In transformers, load with AutoModelForMultimodalLM and DistributedConfig(tp_size=..., ep_size=...). Set reasoning through apply_chat_template(..., reasoning_effort=...):

  • Levels are low/medium/high/xhigh, which map to 16/64/256/512.
  • The default is xhigh.
  • You can also set a numeric level with Reasoning strength: N in the system prompt.

Audio input must be mono 24 kHz, padded to multiples of 1,920 samples. apply_chat_template handles this for you and needs torchcodec, librosa or torchaudio installed. Video is sampled at 2 FPS by default, capped at 96 frames, and the rate can be raised via processor.video_processor.fps. Pass load_audio_from_video=True and return_metadata=True to include a video's soundtrack.

Fine-tuning: the post gives a TRL SFTTrainer recipe that trains LoRA (r=16, alpha=32) on q/k/v/o projections only, with the experts frozen.

  • Parallelism: DistributedConfig(fsdp_size=64, ep_size=8) across 8×8 H100s.
  • Data: 500k rows of allenai/tulu-3-sft-mixture, packed to 2048 tokens.
  • Cost: 500 steps took about 2 h at about 8,000 tok/s.
  • Result: token accuracy rose from 72% to 84% and loss fell from 1.26 to 0.57.

Limits

  • Reasoning cannot be turned off. The default xhigh burns tokens, so set low for easy tasks.
  • The vLLM path supports text and image only, needs Blackwell, and is a reference plugin (VLLM_PLUGINS=musespark1x_models,ptq_nvfp4), not upstream. The mlx-lm support sits in an unmerged PR and covers the language model only.
  • The fine-tuning recipe uses save_only_model=True because the trainer cannot resume a model sharded at load time. Runs are not resumable. Experts were never trained in the recipe.
  • The 2-bit quant "requires a bit more steering", per the 3D demo.
  • NVFP4 is described as having "negligible loss in accuracy", but no figures are given.
  • No licence or usage terms are stated on the page. Check the model card before adopting.
  • Snippets are inconsistent, so verify them against the repos before relying on them:
  • The llama.cpp WebUI is said to be on port 9931, but the curl examples hit 8080.
  • The tool-calling example passes reasoning_strength instead of reasoning_effort, and parses an undefined completion variable.
  • The Endpoints example sends enable_thinking: false, which contradicts the statement that reasoning can't be disabled.
  • The knowledge cutoff in the template is 2026-01-04.

Organisations named here

  • Meta
  • Hugging Face
  • NVIDIA
  • OpenAI
  • ggml-org
  • Ai2
  • allenai/tulu-3-sft-mixture

Technologies named here

  • Transformers
  • Muse Spark Open
  • llama.cpp
  • Muse Spark Open NVFP4
  • Muse Glimmer
  • vLLM
  • SGLang
  • gpt-oss
  • MLX / mlx-lm
  • oMLX
  • Hugging Face Inference Endpoints
  • TRL
  • peft
  • FSDP2
  • torchrun
  • trackio
  • Datasets
  • Pi coding agent
  • three.js
  • OpenEnv
  • Hugging Face Sandboxes
  • helium
  • selenium
  • Hugging Face Spaces
  • hf CLI
  • MLX
  • GGUF
  • LoRA
  • PyTorch
  • Hugging Face
  • pi
  • Vision language model
  • Muse

Techniques named here

  • Mixture of experts
  • Grouped Query Attention
  • NVFP4 quantization
  • LoRA fine-tuning on attention layers
  • Expert parallelism with FSDP
  • Sequence packing
  • Reasoning effort control
  • Harmony channel-based chat template
  • Video frame sampling
  • Audio tokenization
  • Imatrix-calibrated quantization
  • Screenshot-only computer-use agent loop