Toy-GPT: train-200-bigram
Demonstrates, at very small scale, how a language model is trained.
This repository is part of a series of toy training repositories plus a companion client repository:
- Training repositories produce pretrained artifacts (vocabulary, weights, metadata).
- A web app loads the artifacts and provides an interactive prompt.
Contents
- a small, declared text corpus
- a tokenizer and vocabulary builder
- a simple next-token prediction model
- a repeatable training loop
- committed, inspectable artifacts for downstream use
Scope
This is:
- an intentionally inspectable training pipeline
- a next-token predictor trained on an explicit corpus
This is not:
- a production system
- a full Transformer implementation
- a chat interface
- a claim of semantic understanding
Outputs
This repository produces and commits pretrained artifacts under artifacts/.
Training logs and evidence are written under outputs/
(for example, outputs/train_log.csv).
Quick start
See SETUP.md for full setup and workflow instructions.
Run the full training script:
uv run python src/toy_gpt_train/d_train.py
Run individually:
- a/b/c are demos (can be run alone if desired)
- d_train produces artifacts
- e_infer consumes artifacts
uv run python src/toy_gpt_train/a_tokenizer.py
uv run python src/toy_gpt_train/b_vocab.py
uv run python src/toy_gpt_train/c_model.py
uv run python src/toy_gpt_train/d_train.py
uv run python src/toy_gpt_train/e_infer.py
Provenance and Purpose
The primary corpus used for training is declared in SE_MANIFEST.toml.
This repository commits pretrained artifacts so the client can run without retraining.
Annotations
ANNOTATIONS.md - REQ/WHY/OBS annotations used
Citation
License
SE Manifest
SE_MANIFEST.toml - project intent, scope, and role
Metadata
Release files for toy-gpt-train-200-bigram 0.9.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| toy_gpt_train_200_bigram-0.9.8.tar.gz | 83.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| toy_gpt_train_200_bigram-0.9.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 107.9 kB
Release files / toy_gpt_train_200_bigram-0.9.8.tar.gz
| Download URL | toy_gpt_train_200_bigram-0.9.8.tar.gz |
|---|---|
| Size | 83.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b034ea8c70f6605b29c37959d2147d66e028f876e5ad2fe052e5c3d293dfa58
|
|
BLAKE2b-256 checksum How to use checksums |
fe1f96f5f469bbf1ca4cb61b1f554a325a5371bcaaf30950dfc03c6e81a26f04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 3, 2026.
Transparency logRelease files / toy_gpt_train_200_bigram-0.9.8-py3-none-any.whl
| Download URL | toy_gpt_train_200_bigram-0.9.8-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d24442cf0e974175a8754e29180d5d3727a6b44dca0105e126effae3f3537fd0
|
|
BLAKE2b-256 checksum How to use checksums |
f9292f7e73999215bd5b8fa3dddccb84262f3269f12b932ed0ec56ba67598e1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 3, 2026.
Transparency log