The hook
On October 15, Meta released the weights of Muse Spark Open. It has 816 billion parameters. Meta's guide runs it on two Mac Studios with M5 Ultra chips.
How does a model that big fit on a desk? One line of arithmetic explains it.
The one idea
bytes = parameters × bits per weight ÷ 8
1. Count the weights. Muse Spark Open has 816 billion. Every one sits in memory, even when a token does not use it.
2. Pick the bits. At 16 bits (BF16), the formula gives 816B × 16 ÷ 8 = 1,632 GB. The published BF16 files are 1,644 GB. That is close.
At 4 bits it is less simple. NVFP4 stores each weight in 4 bits, plus one 8-bit scale for every 16 weights. That is 4.5 bits per weight. The formula gives 816B × 4.5 ÷ 8 = 459 GB. The published NVFP4 files are 533 GB, or about 5.2 bits per weight. The model card does not say why the files are bigger. Use the formula to estimate. Use the real file to decide.
3. Leave room. File sizes are in GB (10⁹ bytes). Memory sizes are in GiB (2³⁰ bytes). So 533 GB of files is 496 GiB. One Mac Studio with M5 Ultra has up to 512 GB of memory, which is 512 GiB. That leaves 16 GiB for the system and the context. Meta's guide says: "The model doesn't fit in one Mac's memory." Two Macs give 1,024 GiB, so 528 GiB is left.
4. Read only what you need. Muse Spark Open is a mixture of experts. It has 256 experts, and each token uses 8 of them. Shared parts, such as attention, run for every token. In total, 42 billion of the 816 billion parameters are active per token.
To write one token, the chip reads the active weights from memory. Our estimate: 42B weights at the file's average 5.2 bits is about 27 GB per token. The M5 Ultra reads memory at 1.2 TB/s. So 1,200 ÷ 27.4 gives a ceiling of about 44 tokens per second. If all 816 billion weights were active, the chip would read all 533 GB per token: about 2 tokens per second.
That ceiling is not a benchmark. It ignores the context cache, compute time and the link between the Macs. We did not measure it. Real speed is lower.
Total parameters decide if it fits. Active parameters set the speed limit.
Why it matters
Size any model before you download it. At 4.5 bits, an 8B model is about 4.5 GB and a 70B model is about 39 GB. Then add room for the context.
Check the real file. For Muse Spark Open NVFP4, the formula was 14% below the published size.
Check speed claims. Divide memory bandwidth by the bytes read per token. If a claim beats that number, ask how.
3 quick links
Reflection Beam. A 501B open-weight model under Apache 2.0. Reflection lists the files at 273 GiB (NVFP4), 468.72 GiB (FP8) and 933.81 GiB (BF16). That is about 4.7, 8.0 and 16.0 bits per weight. Serving guide · Model card
FLUX 3 Image Klein. A 5.6B image model from Black Forest Labs: 11.2 GB in BF16, 5.6 GB in FP8. That is exactly 16 and 8 bits per weight. An INT8 build runs in as little as 8 GB of VRAM. BFL blog
Your turn
Open the explainer. Pick your machine and see what fits.
If you know an engineer who sizes models by guessing, forward this to them.
Reply with the idea you want explained next.
Sources and every calculation: the claims ledger. Estimates are labelled. Not benchmarks.
