56aa10a503
- model outputs (B, S, 2) instead of (B, 2) — GRU output at every timestep - train/val loss computed over all S timesteps with reduction=none - benchmark/evaluate.py takes pred[:, -1, :] for final-step evaluation - added per-step loss logging (8 evenly spaced steps) to TensorBoard Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>