Lightweight repo for practicing ML researcher interview tasks (nanoGPT-ish topics plus basics).
src/core/: reusable utilities (data, models, training, eval, misc helpers). Includes a modular nanoGPT core for attention/cache/tokenization/norm exercises.problems/: self-contained exercises with prompts, starter code, tests, and a notebook.tests/: shared fixtures or integration tests.scripts/: small helpers (downloads, runners).docs/: short guides and topic notes.notebooks/: optional notebook copies or scratch space.
- Install deps:
pip install -e .[dev]orpip install -r requirements.txtif you prefer. - Notebook-first flow: start Jupyter, open
problems/<name>/notebook.ipynb, edit the starter cell (it writes back tostarter.py), then run the bundledpytestcell. - CLI flow: edit
problems/<name>/starter.py, runpytest problems/<name>/tests(orscripts/run_problem.py <name>).
Start with core utilities and the first two problems (conv2d, mnist loop). Then add GPT-ish topics: KV cache, PPO/DPO/GRPO variants, pairwise losses, calibration, context window extensions, tokenization tweaks, normalization choices, optimizer debugging, encoder/decoder/MoE variants.