You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Milestone: attention + tokenizer + sampling — the path to real text (issue #6)
The structure is proven (issues #1/#2/#5): 0.19 s/token, real router +
mxfp4 expert chain, 39x faster, at the read floor. But the engine
computes only the MoE path — no attention, no tokenizer, no logits.
This milestone is what "host it" actually requires.
What the checkpoint gives us (already in the layouts)
F8_E4M3 matvec kernel — the engine has mxfp4/bf16/f32 but no F8
path; attention tensors are F8 with per-group scales (wkv.scale
[4,32], wo_a.scale [64,32], ...). LUT-decode + scale, SIMD like the
mxfp4 kernel, bit-identical decode gate (same discipline as SIMD kernels: break the compute wall (milestone 3) #5).
MLA attention step: q = norm(x) x wq_a x wq_b; kv = x x wkv;
causal scores + attn_sink anchoring (V4's million-token trick);
softmax; output = softmax x v through wo_a->wo_b->wo_c; residual.
KV cache in RAM (kv latent ~512 -> ~4 KB/token -> 4 GB @ 1M tokens;
fits the box).
Tokenizer + sampling: tokenize prompt, detokenize output;
logits = head x state; top-k/temperature sampling. The head is the
single biggest matvec (~246k x 4096 = 2 GFLOP/token) — resident,
threaded across rows; NOT streamed from disk.
Autoregressive loop: token -> head -> sample -> embed -> layers
-> next. The existing state chain becomes the real token loop.
Memory gate: KV accounting (roadmap item, now load-bearing).
Acceptance: fixture determinism (two runs, identical dumps) +
acer first tokens. Output is real text-shaped tokens; QUALITY is
explicitly NOT the gate — that needs the hyper-connections.
The fidelity gap (step 2, quality)
The real V4 bounds/mixes layers through hc_* hyper-connections
(hc_attn_fn/hc_ffn_fn, 1.5 MB each) which the skeleton does not
implement; the RMS rescale is the stand-in. First text will be
structurally correct but semantically weak until hc wiring lands. That
is a separate sub-milestone: hc_attn_fn/hc_ffn_fn are small MLPs --
wire them as the layer mixer and replace the RMS stand-in.
Milestone: attention + tokenizer + sampling — the path to real text (issue #6)
The structure is proven (issues #1/#2/#5): 0.19 s/token, real router +
mxfp4 expert chain, 39x faster, at the read floor. But the engine
computes only the MoE path — no attention, no tokenizer, no logits.
This milestone is what "host it" actually requires.
What the checkpoint gives us (already in the layouts)
Work items
path; attention tensors are F8 with per-group scales (wkv.scale
[4,32], wo_a.scale [64,32], ...). LUT-decode + scale, SIMD like the
mxfp4 kernel, bit-identical decode gate (same discipline as SIMD kernels: break the compute wall (milestone 3) #5).
causal scores + attn_sink anchoring (V4's million-token trick);
softmax; output = softmax x v through wo_a->wo_b->wo_c; residual.
KV cache in RAM (kv latent ~512 -> ~4 KB/token -> 4 GB @ 1M tokens;
fits the box).
logits = head x state; top-k/temperature sampling. The head is the
single biggest matvec (~246k x 4096 = 2 GFLOP/token) — resident,
threaded across rows; NOT streamed from disk.
-> next. The existing state chain becomes the real token loop.
acer first tokens. Output is real text-shaped tokens; QUALITY is
explicitly NOT the gate — that needs the hyper-connections.
The fidelity gap (step 2, quality)
The real V4 bounds/mixes layers through hc_* hyper-connections
(hc_attn_fn/hc_ffn_fn, 1.5 MB each) which the skeleton does not
implement; the RMS rescale is the stand-in. First text will be
structurally correct but semantically weak until hc wiring lands. That
is a separate sub-milestone: hc_attn_fn/hc_ffn_fn are small MLPs --
wire them as the layer mixer and replace the RMS stand-in.
Expected cost on the acer
That is the honest "hosted" number for one user on this box.