bf95ac18e4
- src/tsmm/train/stage1.py: streams align.jsonl, freeze_llm, trains Encoder+Projector (AdamW lr=1e-4), bs=8/grad_accum=4/ctx=512/BF16, gradient checkpointing + enable_input_require_grads, loss = lm + lambda*InfoNCE (original vs perturbed TS representation), ckpt + tensorboard every 2000 steps. - scripts/train_stage1.sh: wrapper with design defaults. - src/tsmm/data/collator.py: handle JSON null (missing markers) -> NaN -> fill. - .gitignore: /checkpoints/ and data/*.jsonl. - Smoke verified: --max_steps 5 on 64 samples, finite loss, peak 5.52 GB (≤6GB). - 100 tests passing.
Scripts directory
Offline entrypoints: gen_synthetic.py, train_stage1.sh, train_stage2.sh, run_eval.sh.