reports/m0_qwen35_9b.md
| 1 | # M0 spike — `/root/models/Qwen3.5-9B` on NVIDIA B200 |
| 2 | |
| 3 | load time 13s · text params 8.95B · hidden 4096 · weights 16.7 GB (incl. lm_head) |
| 4 | |
| 5 | ## Verbalizer table (bare, line-start single token) |
| 6 | |
| 7 | | slot | verbalizer | token id | bare tokens | line-start tokens | ok | |
| 8 | |---|---|---|---|---|---| |
| 9 | | 0 | `false` | 3721 | [3721] | [198, 3721] | ✅ | |
| 10 | | 1 | `true` | 1802 | [1802] | [198, 1802] | ✅ | |
| 11 | | 2 | `0` | 15 | [15] | [198, 15] | ✅ | |
| 12 | | 3 | `1` | 16 | [16] | [198, 16] | ✅ | |
| 13 | | 4 | `2` | 17 | [17] | [198, 17] | ✅ | |
| 14 | | 5 | `3` | 18 | [18] | [198, 18] | ✅ | |
| 15 | | 6 | `4` | 19 | [19] | [198, 19] | ✅ | |
| 16 | | 7 | `5` | 20 | [20] | [198, 20] | ✅ | |
| 17 | | 8 | `A` | 32 | [32] | [198, 32] | ✅ | |
| 18 | | 9 | `B` | 33 | [33] | [198, 33] | ✅ | |
| 19 | | 10 | `C` | 34 | [34] | [198, 34] | ✅ | |
| 20 | | 11 | `D` | 35 | [35] | [198, 35] | ✅ | |
| 21 | | 12 | `E` | 36 | [36] | [198, 36] | ✅ | |
| 22 | | 13 | `F` | 37 | [37] | [198, 37] | ✅ | |
| 23 | | 14 | `G` | 38 | [38] | [198, 38] | ✅ | |
| 24 | | 15 | `H` | 39 | [39] | [198, 39] | ✅ | |
| 25 | | 16 | `I` | 40 | [40] | [198, 40] | ✅ | |
| 26 | | 17 | `J` | 41 | [41] | [198, 41] | ✅ | |
| 27 | | 18 | `K` | 42 | [42] | [198, 42] | ✅ | |
| 28 | | 19 | `L` | 43 | [43] | [198, 43] | ✅ | |
| 29 | | 20 | `M` | 44 | [44] | [198, 44] | ✅ | |
| 30 | | 21 | `N` | 45 | [45] | [198, 45] | ✅ | |
| 31 | | 22 | `O` | 46 | [46] | [198, 46] | ✅ | |
| 32 | | 23 | `P` | 47 | [47] | [198, 47] | ✅ | |
| 33 | |
| 34 | ## Linear leaves inside decoder layers (LoRA candidates) |
| 35 | |
| 36 | | leaf | count | |
| 37 | |---|---| |
| 38 | | down_proj | 32 | |
| 39 | | gate_proj | 32 | |
| 40 | | in_proj_a | 24 | |
| 41 | | in_proj_b | 24 | |
| 42 | | in_proj_qkv | 24 | |
| 43 | | in_proj_z | 24 | |
| 44 | | k_proj | 8 | |
| 45 | | o_proj | 8 | |
| 46 | | out_proj | 24 | |
| 47 | | q_proj | 8 | |
| 48 | | up_proj | 32 | |
| 49 | | v_proj | 8 | |
| 50 | |
| 51 | ## Equivalence gate (step-0 head vs restricted decoding, fp32) |
| 52 | |
| 53 | rows: 96 · max |Δp| = **1.490e-06** · gate 1e-5 → **PASS** |
| 54 | |
| 55 | ## Throughput (real length distribution, kind-stratified batches, fla kernels) |
| 56 | |
| 57 | | mode | micro_batch | real tok/s | median tok/s | padded tok/s | samples/s | pad eff. | peak mem GB | |
| 58 | |---|---|---|---|---|---|---|---| |
| 59 | | fwd-only | 32 | 29716 | 30717 | 42178 | 219.5 | 0.70 | 17.1 | |
| 60 | | fwd-only | 128 | 29224 | 35661 | 46953 | 212.0 | 0.62 | 24.1 | |
| 61 | |
| 62 | LoRA r=16 attached to ['in_proj_qkv', 'in_proj_z', 'in_proj_a', 'in_proj_b', 'q_proj', 'k_proj', 'v_proj', 'o_proj', 'gate_proj', 'up_proj', 'down_proj', 'out_proj'] → 43.3M adapter params |
| 63 | |
| 64 | | mode | micro_batch | real tok/s | median tok/s | padded tok/s | samples/s | pad eff. | peak mem GB | |
| 65 | |---|---|---|---|---|---|---|---| |
| 66 | | S2 fwd+bwd | 8 | 2576 | 1992 | 3708 | 17.5 | 0.69 | 67.0 | |
| 67 | | S2 fwd+bwd | 16 | 4036 | 3866 | 5206 | 36.1 | 0.78 | 100.3 | |
| 68 | | S2 fwd+bwd | 24 | 5069 | 4580 | 6350 | 48.1 | 0.80 | 77.2 | |
| 69 | |
| 70 | **Projection** (best S2 config micro_batch=24, 5069 real tok/s): 1 epoch of train (84.6M tok) ≈ **4.64 h**; 2 epochs ≈ 9.27 h; 10% scan (2 ep) ≈ 56 min |
| 71 | |