{ "required": true, "paths": [ { "id": "spindle_dimuon_lite_optimizer", "fixed_input": { "sha256": "d989d2d28d1a32103662ca010d0652a1e0ec111b370e20df63a9cf7c0aaed3a8", "description": "Step-1 fixture: seed-0 first no_robots train batch (32 seqs, sha256 d9ce572e4cf770c21e54e31f0cd523d578343475316b862f1453171ae1c3c6eb, cross_entropy, cookbook weights), fork init state tinker://43f94846bfb916692227a10acb4ae578/weights/pf-init (fp32 sha256 3388743efeef0e9eb77f61bc1fc018db7bb82e5e6a313f707ad028d9b95e1bd0, LoRA B=0), optimizer state reset per client. Hash covers the exact fp32 gradient fixture (AdamW client exp_avg). Stale-scale step 2 uses a second fixed fp32 gradient. Retrieved via modal volume get run_739abc9a8b-checkpoints." }, "baseline_revision": "UNRESOLVED: pin the modal-projects/spindle commit deployed at the shared Spindle URL (post-#85). AdamW updates on this deployment must match the pre-#85 AdamW update on identical grads/state.", "reference_revision": "UNRESOLVED: pin the commit of Aaron's DiMuon reconstruction (0.09% relative update error vs Tinker) and the modal-projects/miles commit of #17", "resolved_revisions": { "baseline_executed": "fork spindle-fork-run_739abc9a8b: modal-projects/spindle 5148cb62a019862ef9b50d76b7be55cddb288e8a (PR #85 branch claude/dimuon-spindle-wiring) + spindle_fork.patch (requires_proxy_auth=True); shared Spindle deployment 4af4dd2c46c009fcf8661e625195d4bf6c5dde81 is pre-#85 (rejects dimuon), so no post-#85 shared deployment exists. AdamW reference = stock torch.optim.AdamW on identical exp_avg-derived gradient and init.", "reference_executed": "Aaron's DiMuon reconstruction has no git commit; pinned by content sha256 31c5f60cb273ca53a0adfda9b88b8ff8fd1efd05c497114dbd0cb1f99673c51e (dimuon_candidate.py, code block of Notion page 3fe1e7f169498132903de1b12bfe4205). Miles PR #17 = modal-projects/miles 228b59d90074e6cec48090e033202c5a4aff3ff3 (dimuon.py sha256 8c5268543094cc6677a4606ecbd5902749c34a5e2f95fa7ba29890e732e86519), mounted via SPINDLE_MILES_TREE." }, "implementation_revision": "spindle 5148cb62a019862ef9b50d76b7be55cddb288e8a+proxy-auth patch; miles 228b59d90074e6cec48090e033202c5a4aff3ff3 (dimuon.py sha256 8c5268543094cc6677a4606ecbd5902749c34a5e2f95fa7ba29890e732e86519)", "precision": "fp32 master params and gradients; Dimuon working momentum fp32, persisted momentum bf16, Polar Express 5 iters horner_fp16; AdamW fp32 exp_avg/exp_avg_sq; model forward/backward bf16", "normalization": "cross_entropy sum of weighted token NLL (cookbook weights, counted by weight>0); Dimuon per-projection-block direction scaled to Frobenius sqrt(rank=32), update lr*(32/32)^0.175, damping 1e-4, beta1 0.9, no grad clip; AdamW bias-corrected first step lr*m_hat/(sqrt(v_hat)+1e-8)", "errors": { "baseline_update": { "max_abs_error": 2.9103830456733704e-11, "reference_max_abs": 0.00010000001202570274, "relative_l2_error": 1.1838959207204275e-07, "cosine_similarity": 0.9999999999984653 }, "reference_update": { "max_abs_error": 0.0, "reference_max_abs": 0.00043169609853066504, "relative_l2_error": 0.0, "cosine_similarity": 0.9999999999996415 } }, "diagnostic_errors": { "reference_update_stale_scales_step2_packed_vs_unpacked": { "max_abs_error": 5.820766091346741e-11, "reference_max_abs": 0.0004482679651118815, "relative_l2_error": 7.763380802737511e-08, "cosine_similarity": 1.000000000005693 }, "server_dimuon_vs_reference_bf16_momentum_reconstructed_grad": { "max_abs_error": 1.619606337044388e-05, "reference_max_abs": 0.00043122234637849033, "relative_l2_error": 0.008914503668966067, "cosine_similarity": 0.9999602657663359 }, "server_dimuon_vs_local_miles_same_bf16_input": { "max_abs_error": 1.619606337044388e-05, "reference_max_abs": 0.00043122234637849033, "relative_l2_error": 0.008914503668966067, "cosine_similarity": 0.9999602657663412 }, "server_dimuon_vs_reference_other_client_fp32_grad": { "max_abs_error": 1.3311757356859744e-05, "reference_max_abs": 0.00043169609853066504, "relative_l2_error": 0.01112447649318528, "cosine_similarity": 0.9999381229397715 }, "server_cross_client_noise_floor_lr1e-4x10_vs_lr1e-3": { "max_abs_error": 1.1148425983265042e-05, "reference_max_abs": 0.0004318455175962299, "relative_l2_error": 0.008873499902993041, "cosine_similarity": 0.9999606304975469 }, "server_cross_client_gradient_agreement": { "max_abs_error": 0.003906428813934326, "reference_max_abs": 0.9726564288139343, "relative_l2_error": 0.00445943772141835, "cosine_similarity": 0.9999900624438804 }, "restore_replay_update_vs_uninterrupted": { "max_abs_error": 2.4998094886541367e-05, "reference_max_abs": 0.000484729214804247, "relative_l2_error": 0.009888607172079343, "cosine_similarity": 0.999951107737341 } }, "reference_update_note": "reference_update compares the deployed Miles Dimuon code (packed fused qkv/fc1 B) against Aaron's reference (unpacked per-projection blocks) on bitwise-identical fp32 inputs. The server-executed update cannot be fed an identical fp32 gradient; vs reference it shows max_abs 1.62e-5 (> 1.43e-5 threshold) with bf16-reconstructed input, identical to its error vs local Miles code on the same input, and 1.33e-5 (passes) with another client's fp32 gradient; server cross-client noise floor is 1.11e-5.", "lr_scaling": [ { "learning_rate": 0.0001, "update_norm": 0.005571355047044043 }, { "learning_rate": 0.001, "update_norm": 0.05571355442863166 }, { "learning_rate": 0.01, "update_norm": 0.5571355017914699 } ] } ] }