Precision: how close to the BF16 model?

Both engines stay close to the BF16 model, and the vLLM fork is slightly closer. The difference is largest when reading long code (8-16K-token prompts): CuteAFD is +0.0054 further on K3.25 (coarse KL) and +0.0090 on K4 (a top-20 measure). Below 8K on K3.25, and on long human-written text at 32K-128K on both checkpoints, no difference is resolved. K4 sits closer to BF16 than K3.25 on both engines and both panels. These are CuteAFD v3.0.1 results; v4.0.0 is bit-identical on the teacher panel (CuteAFD v4).

Long code reading (8-16K prompts): CuteAFD's distance from BF16 minus the vLLM fork's (left is closer to BF16)

What this shows. One row per CuteAFD setting, paired on the same scored positions; the two checkpoints use different measures, so each has its own panel.

vLLM forkCuteAFD95% interval excludes the reference (resolved)95% interval includes it (not resolved)the vLLM fork's own run-to-run spreadsetting that does not fit a serving launch on 2x RTX
K3.25
P-B 8-16K, long code reading · 18 windows · 7,522 scored positions · history 10,284 / 12,069 / 14,402 tokens (min / median / max) · reference: BF16 run, top 1,024 ids + tail · metric: coarse KL, nats
−0.0025+0.0025+0.0050+0.0075+0.01000← closer to BF16further from BF16 →vLLM forkK3.25 · coarse KL · against the mean of 3 vLLM runsK3.25 As shipped: CuteAFD − vLLM +0.0054 [+0.0034, +0.0074] coarse KL at 8-16KAs shipped+0.0054 [+0.0034, +0.0074]K3.25 W8A16 prefill: CuteAFD − vLLM +0.0022 [+0.0005, +0.0041] coarse KL at 8-16K (F1c)W8A16 prefillF1c+0.0022 [+0.0005, +0.0041]K3.25 W8A16 + BF16 KDA and head: CuteAFD − vLLM +0.0016 [−0.0005, +0.0033] coarse KL at 8-16K (F1d: all three FP8 switches off)W8A16 + BF16 KDA and headF1d: all three FP8 switches off+0.0016 [−0.0005, +0.0033]
K4
P-B 8-16K, long code reading · 18 windows · 7,522 scored positions · history 10,284 / 12,069 / 14,402 tokens (min / median / max) · reference: BF16 run, top 20 · metric: KL_pb20, nats
−0.005+0.005+0.010+0.0150← closer to BF16further from BF16 →vLLM forkK4 · KL_pb20 (top-20) · against the mean of 2 vLLM launchesK4 As shipped: CuteAFD − vLLM +0.0090 [+0.0062, +0.0122] KL_pb20 at 8-16KAs shipped+0.0090 [+0.0062, +0.0122]K4 W8A16 prefill: CuteAFD − vLLM +0.0072 [+0.0048, +0.0096] KL_pb20 at 8-16K (F1-K4)W8A16 prefillF1-K4+0.0072 [+0.0048, +0.0096]K4 amax scale rule: CuteAFD − vLLM +0.0068 [+0.0046, +0.0090] KL_pb20 at 8-16K (F1-K4b)amax scale ruleF1-K4b+0.0068 [+0.0046, +0.0090]K4 best scale rule: CuteAFD − vLLM +0.0080 [+0.0066, +0.0096] KL_pb20 at 8-16K (F1-K4b)best scale ruleF1-K4b+0.0080 [+0.0066, +0.0096]K4 W8A16 + amax scale rule: CuteAFD − vLLM +0.0030 [+0.0011, +0.0049] KL_pb20 at 8-16K (K4c)W8A16 + amax scale ruleK4c+0.0030 [+0.0011, +0.0049]K4 W8A16 + best scale rule: CuteAFD − vLLM +0.0047 [+0.0030, +0.0065] KL_pb20 at 8-16K (K4d)W8A16 + best scale ruleK4d+0.0047 [+0.0030, +0.0065]K4 BF16 output head: CuteAFD − vLLM +0.0087 [+0.0059, +0.0119] KL_pb20 at 8-16K (F1-K4b; does not fit 2x RTX)BF16 output headF1-K4b; does not fit 2x RTX+0.0087 [+0.0059, +0.0119]K4 BF16 KDA projections: CuteAFD − vLLM +0.0055 [+0.0026, +0.0084] KL_pb20 at 8-16K (F1-K4b; does not fit 2x RTX)BF16 KDA projectionsF1-K4b; does not fit 2x RTX+0.0055 [+0.0026, +0.0084]K4 Every switch: CuteAFD − vLLM +0.0041 [+0.0027, +0.0054] KL_pb20 at 8-16K (F1-K4b; does not fit 2x RTX)Every switchF1-K4b; does not fit 2x RTX+0.0041 [+0.0027, +0.0054]

How to use it. The blue line is the vLLM fork; a row whose interval is solid is resolved from it. Hollow triangles need more GPU memory than two RTX PRO 6000s have with K4.

Table view: the exact numbers
Checkpoint and measureCuteAFD settingCuteAFD − vLLM fork95% intervalvLLM run-to-run bandServes on 2x RTX
K3.25, coarse KLAs shipped+0.0054[+0.0034, +0.0074]±0.0017yes
K3.25, coarse KLW8A16 prefill
F1c
+0.0022[+0.0005, +0.0041]±0.0017yes
K3.25, coarse KLW8A16 + BF16 KDA and head
F1d: all three FP8 switches off
+0.0016[−0.0005, +0.0033]±0.0017yes
K4, KL_pb20As shipped+0.0090[+0.0062, +0.0122]±0.0013yes
K4, KL_pb20W8A16 prefill
F1-K4
+0.0072[+0.0048, +0.0096]±0.0013yes
K4, KL_pb20amax scale rule
F1-K4b
+0.0068[+0.0046, +0.0090]±0.0013yes
K4, KL_pb20best scale rule
F1-K4b
+0.0080[+0.0066, +0.0096]±0.0013yes
K4, KL_pb20W8A16 + amax scale rule
K4c
+0.0030[+0.0011, +0.0049]±0.0013yes
K4, KL_pb20W8A16 + best scale rule
K4d
+0.0047[+0.0030, +0.0065]±0.0013yes
K4, KL_pb20BF16 output head
F1-K4b; does not fit 2x RTX
+0.0087[+0.0059, +0.0119]±0.0013no
K4, KL_pb20BF16 KDA projections
F1-K4b; does not fit 2x RTX
+0.0055[+0.0026, +0.0084]±0.0013no
K4, KL_pb20Every switch
F1-K4b; does not fit 2x RTX
+0.0041[+0.0027, +0.0054]±0.0013no

"Reading" follows each run's declared rule: K3.25, the 95% interval excludes 0; K4, it also has to exceed the vLLM fork's launch-to-launch difference on the same rows. Band: the largest difference between any two vLLM runs' means on the same rows. CuteAFD repeats are byte-identical, so CuteAFD needs no band.

Teacher panel (P-A): every position of 25 texts of 2,048 tokens

brandonmusic's BF16 teacher logits, the full vocabulary. The K3.25 KL20 row is K3.25's own captures scored with K4's top-20 measure, so the two checkpoints can be compared on the same quantity. The panel is drawn from the corpus whose calibration windows K4's producer published (document-disjoint from them), so it can favour K4 against K3.25; read checkpoint differences beside P-B (Three checkpoints).

CheckpointMeasurevLLM fork (K3.25: run V1, which its other two runs match to 1e-6; K4: mean of 2 launches)CuteAFDCuteAFD − vLLM fork [95%]Reading
K3.25full-vocabulary KL0.04580.0476+0.0017 [+0.0006, +0.0028]differs
K3.25KL20 (top-20)0.03650.0380+0.0015 [+0.0006, +0.0025]differs
K4KL20 (top-20)0.01920.0219+0.0027 [+0.0012, +0.0047]differs
K3.25top-1 agreement93.50%93.15%−0.35 pts
K4top-1 agreement95.28%94.73%−0.55 pts [−0.72, −0.37]differs

Fidelity set (P-B): the model's own replies, prompts up to 14.4K tokens

tpurtell's cuteafd-fidelity set, generated positions only (his rule). K3.25 is scored with his coarse KL (top 1,024 tokens plus the rest), K4 with its top-20 truncation, which keeps 98-99% of the coarse value on these rows.

Checkpoint and measurePositionsHistory, tokens (min / median / max)vLLM fork (K3.25: mean of 3 runs; K4: of 2 launches)CuteAFDCuteAFD − vLLM fork [95%]vLLM run-to-run bandReading
K3.25 · coarse KLall generated positions1,084 / 5,751.5 / 14,4020.04510.0484+0.0033 [+0.0016, +0.0049]±0.0011differs
K3.25 · coarse KL0-2K1,084 / 1,735 / 2,3610.04690.0486+0.0017 [−0.0006, +0.0044]±0.0010not resolved
K3.25 · coarse KL2-8K2,083 / 4,254 / 5,7810.03210.0328+0.0007 [−0.0029, +0.0032]±0.0013not resolved
K3.25 · coarse KL8-16K (long code)10,284 / 12,069 / 14,4020.05040.0557+0.0054 [+0.0034, +0.0074]±0.0017differs
K4 · KL_pb20 (top-20)all generated positions1,084 / 5,751.5 / 14,4020.03050.0358+0.0053 [+0.0033, +0.0076]±0.0007differs
K4 · KL_pb20 (top-20)0-2K1,084 / 1,735 / 2,3610.03250.0343+0.0018 [−0.0007, +0.0049]±0.0004not resolved
K4 · KL_pb20 (top-20)2-8K2,083 / 4,254 / 5,7810.02190.0235+0.0015 [+0.0005, +0.0027]±0.0011differs
K4 · KL_pb20 (top-20)8-16K (long code)10,284 / 12,069 / 14,4020.03340.0424+0.0090 [+0.0062, +0.0122]±0.0013differs
K4 · KL_pb20 (top-20)block B (long code, the 8-16K windows)10,790 / 12,083 / 13,3880.03720.0469+0.0098 [+0.0064, +0.0137]±0.0015differs
K3.25 · top-1 agreementall generated positions1,084 / 5,751.5 / 14,40293.79%93.33%−0.46 pts [−0.73, −0.17]differs
K3.25 · top-1 agreement8-16K (long code)10,284 / 12,069 / 14,40292.50%91.69%−0.81 pts [−1.22, −0.44]differs
K4 · top-1 agreementall generated positions1,084 / 5,751.5 / 14,40294.93%94.59%−0.34 pts [−0.62, −0.09]differs
K4 · top-1 agreement8-16K (long code)10,284 / 12,069 / 14,40293.86%93.26%−0.60 pts [−1.02, −0.19]differs

The K3.25 8-16K figure (+0.0054) is against the mean of all three vLLM runs. Against other references it reads +0.0044 (the first vLLM run alone), +0.0050 (the first two runs, the reference follow-up F1 used) and +0.0052 (K4's top-20 measure); the audit also reports +0.0057 against the second run alone.

Long human-written text (Q2, 32K-128K tokens): no BF16 reference

Six documents (three books, three source files) at 32K, 64K and 128K tokens; the last 4,096 positions of each. With no BF16 reference this compares how surprised each engine is by the text (NLL), not closeness to BF16. K3.25 had a vLLM repeat on 2 of the 6 documents; K4 ran two full vLLM launches on all six, so its noise floor covers every document.

CheckpointNLL, vLLM forkNLL, CuteAFDCuteAFD − vLLM fork [95%]vLLM run-to-run floorReading
K3.25 (against vLLM run V1, the run scored on all six documents)1.23291.2324−0.0005 [−0.0037, +0.0018] (bootstrap over documents)−0.0001 (vLLM repeat, 2 of 6 documents)not resolved
K4 (against the mean of 2 vLLM launches)1.24341.2510+0.0076 [−0.0076, +0.0228] (t-interval over documents)+0.0003 (launch 2 − launch 1, all 6 documents)not resolved

One code window, q2-code-c2-064k, dominates the code result on both checkpoints; on K4 the vLLM fork differs from its own second launch there on 192 rows by more than 1 nat (Research). Without that window K4 reads +0.0012 and −0.0008 against the two vLLM launches.

Notes

Deeper: tails, position and the c2 document on Research; the full write-ups: RESULTS-Q.md (K3.25), the K4 run README, RESULTS-F1.md.