Moon-Beam 16B-A3B · MLX 4-bit
Moon-Beam for Apple Silicon. This is Moon-Beam 16B-A3B, Tablinum's first
trained model, as a 4-bit MLX build for mlx-lm. It has the same weights, behaviour and
engram training as the BF16 release and the GGUF files, in 9.77 GB that fits a 16 GB Mac. It uses Tablinum's "beam mix": routed experts at 4-bit and every other
weight at 8-bit, which cuts the error of a plain MLX 4-bit conversion by about four-fifths for 9% more size.
Moon-Beam is Moonlight-16B-A3B-Instruct (16B total, 3B active, MIT), fine-tuned to use the Tablinum-2 engram well. It reads the retrieved passages, answers from them when they state the answer, and says it doesn't know when they don't.
Quick links: BF16 weights · GGUF · Tablinum-2 engram · Moon-Beam collection
What Moon-Beam is for
Moon-Beam is a private reference desk that runs on your own computer. Give it the Tablinum-2 knowledge library and it answers factual and how-to questions from 26 tables of reference text (Wikipedia, law and regulation, software documentation, home repair and DIY Q&A, philosophy, psychology, open textbooks, research papers), offline. When the passages don't hold the answer, it says it isn't sure instead of making one up.
Good uses:
- Looking things up without the internet: names, dates, definitions, what a law or regulation says, how an API or command works.
- Practical help at home: repairs, DIY, cooking and gardening, answered from real community Q&A.
- Studying and research: a careful companion that says what its sources say and admits gaps.
- Your own apps: an OpenAI-compatible endpoint (
llama-server,mlx_lm.server) plus the retrieval step.
Not for:
- Live information. It cannot browse the web or check news, prices or weather. It knows its training and the passages it is given.
- Tools and agents. Moon-Beam 16B does not call tools. Moon-Beam 8B (in training) adds tool calls, web-page actions and thinking.
- Long multi-step math (GSM8K 71.8%). Use the base model or a calculator tool.
- Medical, legal or financial decisions. It can explain what a source says; it does not replace a professional.
One quirk to know: asked "can you search the web?" or "can you run this code?", Moon-Beam 16B sometimes says yes. It can't. It only has its training and the passages you give it. We tested default system prompts that tell it so, and every one cost accuracy on easy facts (20 of 24 right with the original prompt, 13 to 17 with the new ones), so the chat template is unchanged. Moon-Beam 8B is trained to answer questions about itself correctly.
The knowledge library is a separate download today (Tablinum-2). Without it Moon-Beam is a careful general chat model; with it, it is the reference desk above. A one-command setup that installs both together is coming with the next release.
Run it on a Mac
pip install -U mlx-lm tiktoken
mlx_lm.chat --model tablinum/Moon-Beam-16B-A3B-MLX-4bit --trust-remote-code
from mlx_lm import load, generate
model, tokenizer = load("tablinum/Moon-Beam-16B-A3B-MLX-4bit", tokenizer_config={"trust_remote_code": True})
messages = [{"role": "user", "content": "How do I bleed air out of a hot-water radiator?"}]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
print(generate(model, tokenizer, prompt=prompt, max_tokens=512))
--trust-remote-code is needed for Moonlight's tokenizer (tiktoken). For engram answers, put the retrieved passages in the user turn
with the v1 instruction:
Reference passages (retrieved automatically; they may be incomplete or irrelevant): … Use a passage only if it states the answer to this exact question. A passage about a related but different item, version, year, rule or case does not answer it: then rely on your own knowledge, or say you don't know.
mlx_lm.server gives the same OpenAI-compatible endpoint as llama-server, so the Tablinum-2 retrieval code can point at it.
This build
| quantization | MLX affine, beam mix: the 64 routed experts per layer (switch_mlp, ~90% of the weights) at 4-bit, group 64; MLA attention, the shared experts, the dense first layer, the embeddings and lm_head at 8-bit, group 64. Norms and the MoE router stay full precision. 4.89 bits per weight on average |
| size | 9.77 GB (9,766,708,856 bytes in 2 shards) |
| source | the public BF16 weights, bit-identical (all 27 shard SHA-256 hashes checked against tablinum/Moon-Beam-16B-A3B) |
| converter | mlx-lm 0.32.2 with a custom quant predicate (shown below) |
| KLD vs BF16 (chat / wiki) | 0.0098 / 0.0235 |
| same top-1 token as BF16 (chat / wiki) | 97.0% / 92.5% |
How it compares
KLD is measured the same way as for the GGUF files: the same held-out chat mix and wikitext token sets (16 × 2,048 tokens each, second half of each window scored), assistant-turn tokens only for the chat mix, against Moon-Beam's own BF16. We rebuilt the exact weights each MLX file runs (dequantized back to BF16 in the original layout) and scored them with llama.cpp, so every row below is on the same scale.
| build | size | KLD chat | KLD wiki | same top-1 (chat / wiki) |
|---|---|---|---|---|
| GGUF IQ3_XXS | 8.06 GB | 0.027 | 0.061 | 95.0% / 88.2% |
| GGUF IQ4_XS | 9.67 GB | 0.006 | 0.015 | 97.5% / 94.1% |
MLX plain 4-bit, group 64 (mlx_lm.convert -q) |
8.99 GB | 0.047 | 0.096 | 92.9% / 84.8% |
MLX mixed_4_6 recipe |
9.65 GB | 0.037 | 0.078 | 93.9% / 86.0% |
| MLX plain 4-bit, group 32 | 9.98 GB | 0.035 | 0.074 | 93.7% / 86.5% |
| MLX beam mix, group 64 (this repo) | 9.77 GB | 0.0098 | 0.0235 | 97.0% / 92.5% |
| MLX beam mix, experts group 32 | 10.67 GB | 0.0080 | 0.0193 | 96.8% / 93.2% |
The error in a plain 4-bit build comes mostly from the small, always-active tensors: attention, the shared experts and the embeddings run for every token, so rounding error there reaches every prediction. Keeping them at 8-bit costs 0.8 GB. The routed experts are 90% of the weights, but each token only uses 6 of 64, and they take 4-bit well.
To make the same build from the BF16 weights:
from mlx_lm import convert
def beam_mix(path, module, *_):
if not hasattr(module, "to_quantized"):
return False
if ".switch_mlp." in path: # routed experts
return {"group_size": 64, "bits": 4, "mode": "affine"}
return {"group_size": 64, "bits": 8, "mode": "affine"}
convert("tablinum/Moon-Beam-16B-A3B", "Moon-Beam-16B-A3B-MLX", quantize=True,
q_group_size=64, q_bits=4, quant_predicate=beam_mix, trust_remote_code=True)
We don't have a Mac on the test rig, so this card does not quote Apple Silicon speeds. With 3B active parameters, expect speeds similar to other 3B-active MoE models in MLX at 4 to 5 bits.
The result
| Held-out final (GGUF IQ3, paired) | untrained Moonlight | Moon-Beam | right / wrong with engram |
|---|---|---|---|
| EngramBench 502, all 26 tables | −58.6 → +65.1 | −46.8 → +73.3 | 406 / 38 (untrained 406 / 79) |
| SimpleQA-verified 1000 | −88.6 → +17.7 | −36.0 → +34.9 | 504 / 155 (untrained 548 / 371) |
| AA-Omniscience test 400 | −75.5 → −42.5 | −57.2 → −16.5 | 78 / 144 (untrained 96 / 266) |
These are the Moon-Beam release numbers, measured on the IQ3 GGUF. The index is 100 × (correct − incorrect) / n, so a wrong answer costs as much as a right one earns. The engram supplies the knowledge; the training adds calibration. With the passages in hand, Moon-Beam finds the answer about as often as its base, but it stops guessing when the passages don't hold it. All arms are graded by Claude Haiku against the gold answers. None of these questions, or any passage retrieved for them, was used in training.
What it costs
| general skill (GGUF IQ3) | untrained Moonlight | Moon-Beam |
|---|---|---|
| GSM8K (400, short chain of thought) | 83.5% | 71.8% |
| MMLU-Pro (700, 14 × 50, zero-shot letter) | 36.9% | 31.7% |
The training data is short factual and how-to answers, and it costs some multi-step math. If you need that, use the base model or route math to a tool. The full story (data, rounds, what failed) is on the BF16 card.
What you need
- An Apple Silicon Mac with 16 GB of unified memory or more (9.8 GB of weights plus the KV cache; MLA keeps the cache small).
mlx-lm≥ 0.32 andtiktoken.- Optional: the Tablinum-2 tables and retrieval code (run locally).
- Native context is 8K, as in Moonlight.
License and attribution
MIT. Moonlight-16B-A3B-Instruct is by Moonshot AI (MIT). Moon-Beam is a fine-tuned derivative by Lightspeed / Tablinum, and this is a format conversion of it. Keep both copyright notices with any redistribution. Training examples were written with Claude Haiku, and the character art is Tablinum's own. No endorsement by Moonshot AI, Apple or Anthropic is implied.
Citation
@misc{moonbeam16b2026,
title = {Moon-Beam 16B-A3B},
author = {Lightspeed / tablinum},
year = {2026},
note = {Moonlight-16B-A3B fine-tuned to use the Tablinum-2 engram},
url = {https://huggingface.co/tablinum/Moon-Beam-16B-A3B}
}