anima_closeout v11: first live run of bf16_master_weights crashed at the scheduler — ds_config['bf16'] made DeepSpeed wrap the client Adam (FP16_UnfusedOptimizer), which torch ConstantLR rejects. Fork 812449a: client-side MasterWeightsAdam (fp32 masters, still a torch Adam; engine stays on the exp004-proven no-wrapping path). Proven in pure torch incl. the exact exp004 freeze repro: -3.0 bf16 gate frozen under plain Adam, moves under MasterWeightsAdam. CELL 0 asserts the new mechanism. Caches from the 28-min build are all banked — next launch goes straight to training.
Browse files
colab/anima_closeout.ipynb
CHANGED
|
@@ -128,6 +128,11 @@
|
|
| 128 |
"assert \"pa.chunked_array(chunks)\" in \\\n",
|
| 129 |
" (FORK / \"utils\" / \"parquet_source.py\").read_text(), \\\n",
|
| 130 |
" \"fork main lacks the per-row-group ParquetImageReader (parquet_source.py)\"\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
"\n",
|
| 132 |
"if not ANIMA.get(\"DEPS_DONE\"):\n",
|
| 133 |
" sh(f\"pip install -q -r {FORK}/requirements.txt\")\n",
|
|
|
|
| 128 |
"assert \"pa.chunked_array(chunks)\" in \\\n",
|
| 129 |
" (FORK / \"utils\" / \"parquet_source.py\").read_text(), \\\n",
|
| 130 |
" \"fork main lacks the per-row-group ParquetImageReader (parquet_source.py)\"\n",
|
| 131 |
+
"# bf16_master_weights must be the CLIENT-SIDE mechanism (fork 812449a):\n",
|
| 132 |
+
"# the ds_config['bf16'] route wraps the optimizer and torch schedulers\n",
|
| 133 |
+
"# reject the wrapper ('FP16_UnfusedOptimizer is not an Optimizer')\n",
|
| 134 |
+
"assert \"MasterWeightsAdam\" in _src, \\\n",
|
| 135 |
+
" \"fork main lacks the client-side MasterWeightsAdam (bf16_master_weights)\"\n",
|
| 136 |
"\n",
|
| 137 |
"if not ANIMA.get(\"DEPS_DONE\"):\n",
|
| 138 |
" sh(f\"pip install -q -r {FORK}/requirements.txt\")\n",
|