Baekpica/Beam-1.0-501B-A23B-VQ-GGUF

Source: 🤗text-generationapache-2.023B activated100 GBGGUF✓ 53 checksumsupdated today
or submit a torrent

Beam-1.0-501B-A23B VQ GGUF

Reflection's 501B Beam with its full 1,048,576-token context, sized for one 128 GB DGX Spark. The 1.0 TB BF16 checkpoint becomes about 99.9 GB of GGUF parts: 98.3 GB that stay resident and a 1.56 GB BF16 token table that is read in rows from SSD. The routed experts use YoungAi's 8-dimensional vector quantization (12-bit, and 13-bit on the eight bottom MoE layers); everything the model needs to read on every token stays at Q4_K or source precision.

Status, 2026-10-20: the conversion is finished, verified and uploaded. Against the BF16 original, the release's own bytes agree on the next token 82.9% of the time (mean KL 0.295) over 5,491 held-out tokens, in a reference forward pass (below). The target runtime is ds4-dfm-rs; its Beam family (gated GQA + SWA attention, Harmony output parsing, FP8 KV for the full layers, SSD embedding rows) is being added, so no DGX Spark serving speed exists for this artifact yet. Memory figures are computed from the exact byte layouts plus labelled runtime estimates.

At a glance

Source reflection/Beam-1.0-501B-A23B at 78f8f654d40a40919b8e9954b40dd879ecb9a692 (BF16, 188 shards)
Recipe beam1-vq8-mix8r13-41r12-q4k-embssd-v1 (RECIPE.md, recipe.json)
Routed experts 49 MoE layers × 256 experts × gate/up/down. 8-dim VQ, one E4M3 codebook per layer shared by all experts and all three matrices, one F16 gain per row. Layers 3–10: 13-bit (K=8192, 12-bit stream + 1-bit plane), layers 11–51: 12-bit (K=4096) — 1.625 / 1.5 index bits per weight. No calibration data.
Attention, dense FFN (layers 0–2), output head Q4_K (GGML reference encoder, no imatrix)
Kept at source precision Router weights and e_score_correction_bias, attention gate bias, q/k norms, the four sandwich norms per layer, final norm
Token embedding Original BF16, in its own part, read in rows from SSD (not resident)
Context 1,048,576 tokens, the model's own (9 NoPE full-attention layers + 43 sliding-window-512 layers; no RoPE scaling involved). Needs FP8 KV on the full layers; see the budget below.
Chat template Original Modified Harmony template, unchanged (analysis / final channels, XML tool calls, reasoning_effort 8–512)
Fidelity (reference forward, release bytes vs BF16) 82.9% same next token, KL 0.295, NLL 1.243 → 1.463 over 5,491 held-out tokens
MTP / drafter None (the source model has none)
zchain / GR-RB sidecars None
Runtime ds4-dfm-rs on DGX Spark (GB10), CUDA — Beam family in progress

Why this size: the 1M context decides it

DeepSeek-V4.1-Flash VQ keeps a ~106 GiB base resident and still serves 1M tokens because its attention is compressed: YoungAi measures the whole 1M KV cache at 0.89 GB. Beam's nine full-attention layers are ordinary GQA (8 KV heads × 128). At 1M tokens they need 36.0 GiB of KV in BF16, or 18.3 GiB in FP8 — twenty to forty times DeepSeek's. A Beam that copied DeepSeek's weight size would not serve 1M on one Spark; the weights have to give up what the KV cache takes.

Budget for one bank at the full 1,048,576 tokens, against the 118.3 GiB a GB10 reports available to ds4-server --check-config (the GLM-5.3 VQ quote):

GiB
Routed experts (8 × 13-bit + 41 × 12-bit layers, gains, codebooks) 87.55
Attention + dense FFN + output head, Q4_K 3.76
Router (F32, as in the source), biases, norms 0.24
Resident weights 91.55
Full-attention KV, FP8 E4M3 + per-position scales, 9 layers × 1M 18.28
Sliding-window rings, BF16, 43 layers × (512 + 2,048) 0.42
Scratch at 2,048-row prefill chunks (estimate from the nearest families) 2.40
Floor kept free by the server 4.00
Quote at 1M 116.65 of 118.3

That leaves about 1.7 GiB of spare quote at the full context, the same order as GLM-5.3-Flash VQ's qualified 1M point (116.2 of 118.3), and about 5.6 GiB physically free with the floor. Without the floor, Beam at 1M holds 112.7 GiB — DeepSeek V4.1 VQ's level. With BF16 KV the same table needs 134.4 GiB, so FP8 KV on the nine full layers is part of this release's contract, not an option.

The eight 13-bit layers are where the spare bytes went: each costs 0.146 GiB. All-12-bit would leave 2.8 GiB of spare quote; fourteen 13-bit layers (the DeepSeek count) would leave 0.8 GiB, Ling-3.1's tight corner. memory-budget.json and tools/memory_budget.py reproduce every row.

Recipe

  • Routed experts. Every 8 consecutive weights of an expert row become one index into a codebook, times one F16 row gain (the row RMS, computed in FP64 and rounded before normalizing). One codebook per layer serves all 256 experts and gate/up/down; YoungAi measured a shared book to cost nothing against one per expert. Codewords are trained in FP32 (equidistant init, 32 Lloyd iterations with FP64 sums) on a stratified pool of 9.8M vectors per layer (20 gate, 20 up and 40 down rows from every expert), rounded FP32 → F16 → E4M3, and every vector is then assigned against the stored codebook. No text is involved.
  • Which layers get 13 bits. Each extra index bit divides the weight error by about 1.19 (YoungAi: 0.201 / 0.171 / 0.143 at 11 / 12 / 13 bits), the curve is convex, so spare bytes go to many layers one bit at a time, and to the bottom first: YoungAi measured shallow layers worth 1.2–1.4× more per GB, and the GLM-5.3 end-to-end sweep ranked layers 3–16 first. Beam's eight bottom MoE layers (3–10) take the bytes the 1M budget leaves.
  • Everything read on every token besides the experts — attention q/k/v/o and the output-gate projection of all 52 layers, the three dense FFN layers and the output head — is Q4_K, as in DeepSeek V4.1 VQ. YoungAi measured that skeleton's error at 0.5% against 17% for the experts: raising it buys little.
  • Not touched: router weights and correction biases, all norms, the per-head attention gate bias, and the token embedding (BF16, read from SSD).

Weight-space reconstruction of the routed experts, measured by the converter on the stored bytes against the BF16 source (relative MSE; not a model-quality measurement): the eight 13-bit layers 0.1441–0.1446, the 41 12-bit layers 0.1698–0.1703 — cosine ≈ 0.925 / 0.911, the same as DeepSeek V4.1 VQ's 0.925 / 0.911. Held-out rows give the same values. Every layer is in weight-error-by-layer.json; the per-matrix records are in conversion-receipts/. The Q4_K tensors average 0.55% relative MSE (worst 0.67%, layers.0.mlp.down_proj; output head 0.53%).

Measured on the converted bytes

A teacher-forced comparison with the BF16 original, run layer by layer on an H100: the release side reads every weight from this repository's files (VQ experts restored from the stored indices, Q4_K dequantized, BF16 embedding rows); the original side reads the source checkpoint. Both run BF16 attention, so FP8 KV is not part of these numbers, and this is not the ds4 engine. The forward pass re-implements transformers 5.20.2's Beam layer and matches BeamDecoderLayer (layer 5 bit-identical, layers 0 and 3 within 1.1e-4 relative RMS).

Held-out text Tokens KL (original ‖ release) Same top-1 Perplexity, original → release
Korean prose 289 0.426 75.1% 2.28 → 3.65
Indonesian web text 1,024 0.367 79.9% 4.22 → 5.74
Source-tree listing 1,024 0.439 80.0% 3.03 → 4.30
English technical prose 1,024 0.231 81.3% 4.97 → 5.70
Harmony chat, Korean math (analysis + final) 1,024 0.161 88.8% 3.14 → 3.47
Harmony chat, English reasoning 716 0.169 89.7% 1.88 → 2.10
Harmony tool call (XML), tool result, final 390 0.386 81.0% 6.22 → 7.58
All 5,491 0.295 82.9% NLL 1.243 → 1.463 nat

For scale, on different texts: the same method's bare DeepSeek V4.1 Flash base agreed on 69–79% of next tokens (KL 0.42–0.69, YoungAi's rulers); GLM-5.3-Flash VQ reached 81.4% (KL 0.288) only after its 19 most sensitive layers got an 8-bit residual stage. The exact top-8 expert set matches the original's for 54% of tokens at layer 3 and 3–5% in the last layers — routing is hash-like, as YoungAi found on DeepSeek — yet the outputs still agree.

Kernel budget on GB10 (99 KiB shared memory per block)

Expert stage Codebooks Decode gate/up Decode down / verify FP8 prefill MMA
12-bit (layers 11–51) 32 KiB 43,008 B 73,728 B 76,544 B (3 stages)
13-bit (layers 3–10) 64 KiB 75,776 B 106,496 B with all 8 experts' mid rows staged → 86,016 B staged 4 + 4 96,768 B (2 stages)
13 + 8 residual (not used) 66 KiB 77,824 B 108,544 B → 88,064 B staged 4 + 4 98,816 B

GB10 allows 101,376 B per block. Beam's down projection reads 8 experts × 2,560 BF16 mid values (40 KiB), so the 13-bit layers need the down/verify kernels to stage the experts in two groups of four (one extra barrier per block); the 12-bit layers fit the GLM/Ling kernel scheme as it is, with 27 KiB to spare, enough for a later 8- to 11-bit residual stage in decode. The figures are the ds4-dfm-rs GLM/Ling kernel formulas applied to Beam's shapes; those kernels still need their row widths generalized to 5,120 and 2,560.

What stays native

  • Context: 1,048,576 tokens. Sliding layers use RoPE (θ = 10,000) over a 512-token window; full layers use no positional encoding and scale the query by (1 + (pos + 1) / 2048) ** 0.1. Nothing is rescaled or extended.
  • Chat template: the original chat_template.jinja (Harmony wire format with XML tool-call bodies, analysis and final channels, tools declared as TypeScript, <|constrain|>xml calls with rfl:parameter bodies, tool results on analysis). reasoning_effort accepts minimal / low / medium / high / xhigh / max = 8 / 32 / 64 / 128 / 256 / 512 and defaults to 512. Generation stops on <|return|> (151674) or <|call|> (151675).
  • Sampling: Reflection evaluated with temperature 0.7 and top_p 0.99 (generation_config.json).
  • Numerics kept in FP32 by the source model: router logits, SwiGLU, logit soft-capping at 30.

Files

Path Contents Size
layer-03-experts.gguf … layer-10-experts.gguf 13-bit routed experts, one independent GGUF per layer 2,050,196,608 B (2,050,197,376 B for layer 10)
layer-11-experts.gguf … layer-51-experts.gguf 12-bit routed experts 1,892,878,208 B each
body-nonexpert.gguf Q4_K attention / dense FFN / head, source router, biases and norms 4,294,683,136 B
embed-tokens-bf16.gguf BF16 token embedding, read in rows from SSD 1,555,825,280 B
All 51 parts 99,860,088,576 B
release.json Entry point: every part with role, size and SHA-256
tensor-manifest.json Every stored tensor and its source mapping
recipe.json, memory-budget.json Machine-readable recipe and the budget above
weight-error-by-layer.json, conversion-receipts/ Per-layer and per-matrix conversion records (sizes, hashes, errors)
quality/ The reference comparison above and its selftest
tools/ The converter and release scripts as run
config.json, generation_config.json, tokenizer.json, tokenizer_config.json, chat_template.jinja Original files, unchanged
RECIPE.md, FORMAT.md, SOURCE.md Recipe, byte format, provenance
SHA256SUMS, files.json Hashes of every file

These are independent GGUF parts, not numbered GGUF splits: do not concatenate them. Standard llama.cpp, Ollama and Transformers loaders do not read this format.

Upstream scores

Reflection's scores for the original checkpoints, from the Beam model card. They describe the source model, not this quantization.

Benchmark BF16 FP8 NVFP4
SWE-bench Verified 81.6 80.2 80.7
Terminal Bench v2.1 80.1 78.9 78.4
AIME 2026 97.7 98.0 97.5
GPQA Diamond 90.6 90.3 89.3
LiveCodeBench 88.3 88.1 87.4
HLE (no tools / with tools) 36.0 / 51.1 36.0 / 51.1 34.8 / 51.1
MCP Atlas 80.8 81.5 80.5
BrowseComp w/ context management 76.8 76.7 75.6
AA-LCR 78.2 79.4 78.7
LongBench v2 67.5 67.6 67.2

Limits

  • This is lossy: about 1.5 bits per routed-expert weight. The release agrees with the original's next token 82.9% of the time on the held-out set above; Korean prose is its weakest case (75.1%, perplexity 2.28 → 3.65). GLM-5.3-Flash needed more bits on its bottom layers to stop collapsing in Korean; behaviour in long free generation has not been checked here.
  • Serving needs the ds4-dfm-rs Beam family, which is not merged yet. Until it is, these files are for inspection and runtime development.
  • The 1M budget assumes FP8 KV on the full-attention layers and 2,048-row prefill chunks at long context; scratch is an estimate until measured on GB10.
  • Uniform zero-corpus quantization: no domain sidecar, no calibration.

Credits and sources

  • Reflection — Beam-1.0-501B-A23B, Apache-2.0.
  • YoungAi by Wenzhou Wu (吴文周, fodelf / wenzhouwu), MIT — the method: 8-dim VQ with per-layer shared E4M3 codebooks, F16 row gains, the 12 + 1 bit-plane layout for 13-bit layers, shallow-layers-first bit allocation and the zero-corpus rule (docs/TECHNICAL.md §4.1, docs/113.md). The converter's CUDA assignment and FP64 Lloyd follow YoungAi gguf-tools/quantize/v41_vq.cu; its notice is kept in LICENSE-YoungAi.
  • ds4-dfm-rs — the GVQ1 container, its GB10 kernels, and the Ling-3.1 / GLM-5.3 VQ tools this converter is forked from.
  • llama.cpp / GGML — the GGUF container and the Q4_K layout.

License

Apache-2.0, as the source model. The quantization tools derive from YoungAi and ds4.c (MIT, LICENSE-YoungAi, which includes the GGML notice).