GenAIWiki
intermediate

Run an Open-Weight Model

Choose an open-weight checkpoint, read its license, and run it only if the hardware and terms fit. Muse Spark Open is the worked example: 816B total parameters, about 42B active, weights on Hugging Face, not the hosted muse-spark-1.3 API.
open weightsmuse spark openself-hostlicensehuggingface

10 min read

FeaturedUpdated todayVerified recently

Key insights

Concrete technical or product signals.

  • Open weights are downloadable parameters. They are not the same thing as an open-source license or a hosted API.
  • Muse Spark Open's BF16 checkpoint is about 1.5 TB. Hugging Face documents BF16 across 4 nodes of 8 H200s, and NVFP4 on one B200 node.
  • Hosted muse-spark-1.3 is a different product from the Spark Open weights.

Use cases

Where this shines in production.

  • Answering what an open-weight model is and what to do next
  • Deciding whether to self-host Muse Spark Open or call Muse Spark 1.3
  • Checking license and hardware before downloading a frontier checkpoint

Limitations & trade-offs

What to watch for.

  • Not a laptop install guide for Muse Spark Open.
  • Not a license opinion. Read the license file shipped with the weights.
  • Serving flags move. Confirm the runtime docs for the build you install.

An open-weight model is a checkpoint you can download and run yourself, only as far as its license allows. Use Open weights for the definition. Use this page to decide whether to run the weights or call a hosted API.

1. Separate three different things

  • Open weights. The parameter files are downloadable. Training code, training data, and commercial use can still be restricted.
  • Open source. A license such as Apache-2.0 or MIT tells you what you may do. "Open weights" does not say that by itself.
  • A hosted API of the same family. Muse Spark 1.3 is the hosted API ID muse-spark-1.3. Muse Spark Open is the October 15, 2026 weight release. Pointing a client at one does not call the other.

Read the license on the model card before you download. Meta's Muse Spark Open post ships the weights under the Muse Model License, which has limited commercial terms.

2. Pick a checkpoint that fits the machine

Muse Spark Open is the current frontier example, not a local default.

Hugging Face's Muse Spark Open guide documents:

  • About 816 billion total parameters, about 42 billion active per token, 256 experts with 8 selected per token.
  • Text, image, audio, and video in. Text out. Context up to 1 million tokens.
  • Repositories meta-models/Muse-Spark-Open-816B-A42B (BF16) and meta-models/Muse-Spark-Open-816B-A42B-NVFP4.
  • The BF16 checkpoint is about 1.5 TB. In Transformers it runs across 4 nodes of 8 H200 GPUs with tensor parallelism 32. The NVFP4 build targets a single B200 node.
  • All 256 experts stay in memory. Active parameters change speed, not the memory you must hold.

If that hardware is not available, do not start here. For a model that is meant to run locally, use Run Muse Glimmer 30B locally. For a smaller open-weight image model with a published API price as well as weights, see Qwen-Image 2.1 Turbo. Its license is not the Muse Model License. Check that card separately.

3. Load Muse Spark Open the way the official guide shows

The Hugging Face post loads the checkpoint with Transformers and a distributed config. tp_size shards dense layers. ep_size shards experts. Reasoning cannot be turned off. The documented effort levels are low, medium, high, and xhigh. Use low when you want fewer reasoning tokens.

Confirm the model ID and class names against the guide on the day you run it. The shape they publish is:

import os
from transformers import AutoTokenizer, DistributedConfig

distributed_config = DistributedConfig(
    tp_size=int(os.environ["WORLD_SIZE"]),
    ep_size=int(os.environ["WORLD_SIZE"]),
)

tokenizer = AutoTokenizer.from_pretrained("meta-models/Muse-Spark-Open-816B-A42B")
messages = [
    {"role": "user", "content": "Explain in one sentence why the sky is usually blue."},
]
inputs = tokenizer.apply_chat_template(
    messages,
    reasoning_effort="medium",
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
)

The same guide also shows AutoModelForMultimodalLM.from_pretrained with that distributed_config, then model.generate. It documents llama.cpp, vLLM, and SGLang recipes for deployment. Use those recipes. Do not invent flags.

4. Prove the checkpoint before you trust it

  1. Generate one short text answer and one image-input answer from the official examples.
  2. Check that reasoning effort changes the trace. The guide says off is not available.
  3. Compare one task against the hosted model you would otherwise call, such as muse-spark-1.3, on the same prompt.
  4. Record the license file name, the checkpoint revision, and the GPU layout next to the result.

A download is not a production deployment. You still own evaluation, safety filters, and the license review.

Official sources

Continue learning

Related models, implementation guides, comparisons, and concepts.