Muse-Glimmer Text Bring-up and Certification

Muse-Glimmer-30B is a bounded text correctness candidate in CKE v8. The complete checkpoint converts, both 52-layer graphs generate and compile, and three short prefill plus cached-decode trajectories match the pinned PyTorch eager BF16 reference bit for bit. The selected eager attention provider has quadratic prefill scratch, so this result does not certify practical long-context inference or vision.

Recorded evidence

The machine-readable Ryzen certification report is the authoritative snapshot for this run. It records reference and runtime hashes, resolved engine identity, case-level logits and token divergence, and incomplete-run failures. The checked-in report is consumed by the Muse contract tests; it is evidence from one pinned run, not a substitute for rerunning certification when the circuit, lowering, selected providers, conversion, or runtime changes.

PromptPrompt tokensFinite, bit-exact logit rowsGreedy token divergence
Complete C function69128 / 128None
Standalone SVG69128 / 128None
CKE v8 architecture analysis105128 / 128None

All 384 float32 logit rows matched by raw IEEE-754 bit pattern, and all free-running greedy tokens matched. The runner retains CKE and reference output separately. It preloads the requested engine and uses dladdr on an engine-owned symbol to verify that libmodel.so resolved the recorded libckernel_engine.so. This is PyTorch parity; llama.cpp was not used as a Muse oracle.

Frozen reference contract

Model
meta-models/Muse-Glimmer-30B, Hugging Face branch main-30B2
BF16 storage and activations
Implementation
Transformers commit 4177486a9f199bd7be520eff14431071d5d41ec5
MuseGlimmerForConditionalGeneration, eager attention
Ryzen environment
Transformers 5.15.1, PyTorch 2.13.0+cpu, oneDNN 3.12, PyTorch-supplied SLEEF symbols, OMP_NUM_THREADS=16
Reference fileSHA-256
config.json5a9df2d8a385b3d361ab6ae68d73586f4e775033933bd0cd863fb7f3820e6a14
model.safetensors.index.json7d817b4dccb1b123fc6c1939356c65cee3a0ad462a5b821ac88280990a27d1ba
chat_template.jinjacfc67e5f349f37690dfd31ed1f18bc4442a9dd32fe39a648f993cb4eb3cae678

Implemented text contract

  • Independent hidden, query, KV, gate, and MLP dimensions in the muse_glimmer_text circuit.
  • Three sliding-attention layers followed by one full-attention layer, with RoPE only on sliding layers.
  • Centered weighted RMSNorm, post-branch RMSNorm, unweighted Q/K normalization, query scaling, attention gating, four normalization sites, output scaling, and tanh logit softcapping.
  • Explicit BF16 rounding boundaries through normalization, projections, attention, SwiGLU, residuals, and logits.
  • Separate embedding and output-head tensors, strict tensor-family checks, and explicit vision deferral.
  • Caller-owned attention and projection tensor scratch declared in kernel maps, with an aggregate lowering-time workspace budget.

Conversion accounts for all 1,436 checkpoint tensors: 627 feed the text circuit and 809 vision tensors are explicitly deferred. The four attention maps accurately state AVX-512, oneDNN 3.12, SLEEF, serial CKE head traversal, and external oneDNN threading. Their selection status remains candidate.

Numerical X-ray findings

The complete 59.55 GB checkpoint converted to a 55.5 GiB CKE weight artifact. The first multi-token mismatch came from full-attention cache placement: global layers omit RoPE, and lowering had stored K before Q/K normalization. The corrected graph stores normalized K for those layers.

The remaining layer-1 mismatch came from Q/K normalization. The model spells the reciprocal factor as torch.pow(value, -0.5), while PyTorch's CPU unary dispatch uses its reciprocal-square-root path for that exponent. Selecting CKE's existing reciprocal-square-root path reproduced the dispatch. No new BF16 normalization kernel was needed. A 69-token X-ray remained exact through layers 0–50, followed by the complete-graph certification above.

Attention preserves BF16 QK matmul, BF16 scale rounding, FP32 softmax, BF16 probability storage, and BF16 PV matmul. Synthetic oracles cover multiple KV heads, sliding masks, and decode with cache capacity greater than live KV length. Null, undersized, and overflowing workspace requests fail explicitly.

Memory and allocation boundary

Eager prefill requires 6*T*C + 4*C*D + 2*T*D bytes. Score buffers alone use 6*T*C: 24 GiB at T=C=64K and 96 GiB at T=C=128K. Sliding attention still materializes the full matrix before masking, so the maps impose a 1 GiB call-workspace gate. A bounded-memory provider needs separate numerical validation before this gate can expand.

Selected Muse maps make attention and projection tensor scratch caller-owned and contain no explicit C heap allocation for those tensors. This does not establish allocation-free execution. The projection helper creates and destroys oneDNN objects per invocation under a global mutex, and oneDNN may allocate internally. The current repository audit also retains 51 inherited production allocation sites. Muse did not expand that baseline; its workspace ABI reduced mapped allocating providers without scratch contracts from three to two.

Certification envelope

GateState
Configuration and complete tensor inventoryPassed
Conversion, lowering, generated C, and component contractsPassed
Short real-weight prefill and cached decodePassed: 384 / 384 finite, bit-exact rows
Decode stride beyond live KV length; workspace capacity and overflowPassed
Ordinary nightly compiler and portable BF16 kernel contractsPassed; oneDNN attention joins this target when selected by the engine build
Repeated-call library allocation instrumentationNot tested
2,047 / 2,048 / 2,049-token window boundariesNot tested
4K through 128K contextBlocked by eager workspace budget
Reset/reuse and concurrent-session isolationNot tested
QuantizationNot tested
Vision and image preprocessingDeferred

Reproduce the comparison

Generate a pinned reference fixture, then compare it with a converted and compiled CKE runtime:

python version/v8/scripts/certify_muse_glimmer_text_v8.py reference \
  --model-dir /path/to/Muse-Glimmer-30B \
  --reference-dir /path/to/muse-reference

python version/v8/scripts/certify_muse_glimmer_text_v8.py compare \
  --runtime-dir /path/to/Muse-Glimmer-30B-cke \
  --reference-dir /path/to/muse-reference \
  --sleef-library /path/to/pytorch/lib/libtorch_cpu.so \
  --report /path/to/muse-report.json

Rerun this comparison when affected kernels, maps, lowering, conversion, or runtime linkage changes. Coverage should progress through window boundaries, longer histories, repeated sessions, and each supported hardware configuration while reporting passed, failed, skipped, and untested gates separately.

make test-v8-muse-glimmer-contracts is the resource-light nightly lane. Native builds exercise conversion, lowering, generated C, artifact provenance, allocation contracts, and exact normalization, Q/K, RoPE, and logits kernels. A USE_ONEDNN=1 engine extends that lane to exact sliding-attention and cached-decode kernel comparisons.

Return to the Model + Kernel Matrix.

Image
100% | |
Scroll to zoom | Drag to pan | W/H to fit | 0 to reset | ESC to close