[M,V]-bounded response-only CE from post-finalNorm hidden — the SFT
segmented head (kernel-review backlog #8). Same span arithmetic and
token-mean reduction as loss.ts responseOnlyCe, but the logits only ever
exist per token-chunk ([chunk,V] Checkpoint recompute, or the fused
CustomVjp head via MLX_BUN_SEG_HEAD) instead of the full [1,M,V] + its
cotangent inside the head vjp. CE = −(mean response logp); per-position
grads are bit-exact vs the whole-vocab head (chunking is over TOKEN
positions; each position's full-V lse is computed unchanged — only the
scalar loss VALUE can differ in fp association across chunks).
[M,V]-bounded response-only CE from post-finalNorm hidden — the SFT segmented head (kernel-review backlog #8). Same span arithmetic and token-mean reduction as loss.ts responseOnlyCe, but the logits only ever exist per token-chunk ([chunk,V] Checkpoint recompute, or the fused CustomVjp head via MLX_BUN_SEG_HEAD) instead of the full [1,M,V] + its cotangent inside the head vjp. CE = −(mean response logp); per-position grads are bit-exact vs the whole-vocab head (chunking is over TOKEN positions; each position's full-V lse is computed unchanged — only the scalar loss VALUE can differ in fp association across chunks).