700/700 params, max abs diff 1.2e-5 on the real 1.3B checkpoint. Key realisation: the flow models have no sparse conv, so upstream RUNS on CPU torch with flash-attn swapped for SDPA. That gives a real numerical oracle - unavailable for the sparse path, where spconv cannot be installed at all. It was needed. Three bugs survived a loader reporting a perfect 700/700 with zero missing and zero unmapped keys: - a parameterless final LayerNorm (no params -> no checkpoint trace) that the output was 200x too large without - rope_phases being complex64, so the rotation is a complex multiply - qk_rms_norm belonging before rope rather than after Weight-key matching is necessary but nowhere near sufficient for a port. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| convert.py | ||
| ss_flow.py | ||