dual-bias-fp8 playground

K=256 spiky weights → 8 blocks × 32. Each block picks E5M2 vs E4M3 by range test + integer bias in [11,19]. Vanilla JS FP8 encode/decode, no deps.

← back to portfolio

dual-bias ON → per-block auto bias (slider ignored)
ours MSE– fp16 MSE (ref)– uniform E4M3/b15 MSE– size ours / fp16– formats–

weight histogram — original (gray) vs FP8 dequant (accent)

block map — 8 blocks, color = chosen format, label = bias

Range test mirrors choose_format: amax > 240 → E5M2; amax/rms > 12 → E5M2, else E4M3. Bias: round(15 − log2(amax / (0.9·fmax))) clipped to [11,19]. Uniform baseline = all-E4M3, bias 15.