# Reassembling the checkpoint The full training checkpoint `m1_mix_final_step50000.pt` (15.3 GB) is uploaded as **9 byte-split parts**. The upload path (an egress gateway) both capped single files at ~9.7 GB *and* throttled cumulative bytes per connection window, so the file is split into small parts that each fit a window: the **first two parts are 4 GiB** (uploaded before the throttle was understood) and the **remaining seven are ≤1 GiB**. Concatenating all parts in sorted order reproduces the checkpoint **bit-for-bit**. | part | size | |-----------------------------------------|------------| | `m1_mix_final_step50000.pt.part00` | 4.0 GiB | | `m1_mix_final_step50000.pt.part01` | 4.0 GiB | | `m1_mix_final_step50000.pt.part02` | 1.0 GiB | | `m1_mix_final_step50000.pt.part03` | 1.0 GiB | | `m1_mix_final_step50000.pt.part04` | 1.0 GiB | | `m1_mix_final_step50000.pt.part05` | 1.0 GiB | | `m1_mix_final_step50000.pt.part06` | 1.0 GiB | | `m1_mix_final_step50000.pt.part07` | 1.0 GiB | | `m1_mix_final_step50000.pt.part08` | ~0.25 GiB | ## 1. Reassemble ```bash cat m1_mix_final_step50000.pt.part?? > m1_mix_final_step50000.pt ``` (`part??` expands to `part00 part01 … part08` in sorted order — the command is unchanged regardless of how many parts there are.) ## 2. Verify integrity ```bash sha256sum -c m1_mix_final_step50000.pt.sha256 # expected: m1_mix_final_step50000.pt: OK ``` The expected SHA-256 of the full file is: ``` df149a0d27c85ad76217552c4005bee0094f6068fdb92bd9f6b256190f5aa09a ``` ## 3. Load Load as usual — the deploy loader reads `payload["model_state_dict"]` and calls `load_state_dict(..., strict=False)`. See the top-level `README.md` for the full inference / evaluation instructions and the optional inference-only slimming snippet.