Hasty Briefsbeta

Bilingual

Why do OpenAI's GPT-2 weights beat mine? Part two: the bugfix

5 hours ago
  • A bug in the evaluation code for GPT-2 style models was identified: `model.state_dict()` returned references to live parameters instead of copies, causing `model.load_state_dict()` to be a no-op during early stopping.
  • The bug was fixed by using `deepcopy(model.state_dict())` to store parameter snapshots when validation loss decreased.
  • Additionally, the evaluation code was updated to use all validation batches instead of only the first five, improving accuracy of early stopping.
  • After fixing the bug, a new baseline was generated by re-running the instruction-following eval on all models, with results showing that OpenAI's GPT-2 weights still outperform the author's models.
  • The ranking changes were minor overall, but some models (e.g., JAX without MHA bias) improved significantly, while others (e.g., 1xrtx3090-stacked-interventions) dropped, possibly due to earlier bug benefits.
  • The author concludes that the bug fix ensures the eval works as intended and does not alter the core mystery of why OpenAI's models are better.
  • Future experiments will focus on modifying training to close the performance gap with OpenAI's models.