| # Runtime and reproducibility | |
| The student runs locally on Apple Silicon MPS, CUDA, or CPU. Use Python 3.12 and install `requirements-mac.txt` (or the root `requirements.txt`). `mac-environment.lock.txt` records the actual local environment. CUDA training and teacher requirements belong in separate GPU environments; vLLM FP8 teacher serving is not a Mac runtime. | |
| `serve-teacher.sh` reconstructs the recorded working launch settings. The exact downloaded teacher revision is pinned in `download-teacher.py`. CUDA training used PyTorch 2.13.0+cu130; use the appropriate official CUDA wheel index. The teacher used vLLM 0.28.0 and Transformers 5.15.1. Do not install the CUDA environment into the Mac inference environment. | |
| The published dataset freezes the final corpus; original templates, prompts, verification records and programmatic generators are included in the companion dataset and source package. Training evolved through seven curricula; a fresh run on the final corpus is a new experiment, not a bitwise replay. Earlier training encountered 6,778 rows later filtered out. The released weights are selected by validation and development success, not the last trainer checkpoint. Runtime configs, training logs and evaluation records were recovered after a brief SSH outage. The optional 1.67 GB final optimizer-state transfer was stopped to avoid extending rental cost. | |
| Example fresh training from the published final corpus: | |
| ```sh | |
| python -m tinyquery.prepare --data path/to/extracted-jsonl-splits | |
| python -m tinyquery.train --data path/to/extracted-jsonl-splits --out runs/new --copy-dim 128 --minutes 120 | |
| ``` | |
| For the exact dataset tokenizer, pass the existing tokenizer through the prepare script's documented reuse option (`python -m tinyquery.prepare --help`). A new randomly initialized run can obtain different results. | |