A laptop starting point, with older execution evidence
Train LLM From Scratch now documents a CPU route from raw text to a small story-generating model. That changes who can start the course. It does not turn our older sandbox results into a test of the current route.
The repository's main teaching thread remains useful: follow a Transformer through pretraining, supervised fine-tuning, reward modeling, preference optimization and reinforcement learning. The README links explanations to source files and describes reusing the backbone while changing the data, losses and attached heads. Choose it if you want to understand those connections in PyTorch and already know the prerequisites.
What the current README offers
The laptop section describes a 369K-parameter modern model trained on TinyStories with a 4,096-token BPE tokenizer implemented in the repository. The author reports about ten minutes for the overall path and about five minutes for training on a laptop CPU. Those are upstream reports, not timings from our sandbox, and the supplied extract does not specify the laptop hardware.
The larger data paths still use OpenAI's tiktoken with r50k_base. The laptop path trains its own tokenizer, so it is inaccurate to describe the whole repository as relying exclusively on an external tokenizer. PyTorch still supplies the underlying tensor and differentiation machinery.
The current README also describes a modern model with rotary positions, RMSNorm, SwiGLU, grouped-query or latent attention, an optional mixture of experts and a KV cache. Its documented classic configurations include approximately 13M, 77M and 406M parameters. These are configuration examples, not the smallest models now available. Larger training runs still require hardware planning; the README's CPU starting point does not establish that its GPU configurations fit on a laptop.
What our recorded run establishes
Our run took place on 20 September 2026 at commit b995104cff1dd488cdcc1517bc284649d9252d88, whose recorded commit date is 17 August 2026. The sandbox configuration was 3 CPUs and 8 GB of RAM with the Python 3.12 Bookworm image; the install output identifies Python 3.12.12.
The install step succeeded in 111.447 seconds. The dependency record lists 150 packages and an 8,363 MB footprint. The harness marked the build step successful in 781 ms, but retained no build output. That status alone does not prove that a particular package artifact or installed CLI was checked.
The pytest step completed in 41.507 seconds. Its output reported "17 passed in 38.66s"; the harness rounds the step duration to 42 seconds. These are different timing scopes. The parser summary records 17 passed and zero failed, skipped or errored tests, but the retained record does not establish exhaustive unique coverage or which workloads each test exercised.
The checkout record lists 186 files, approximately 6,998 source lines and 6.7 MB of repository data. These counts describe that checkout. They should not be used as current repository totals.
The pip-audit record reports an advisory total of 0. Scanned-package coverage is unknown, and the dependency count cannot fill that gap. No model-quality evaluation, full training workload, installed-binary check or current CPU-track benchmark is established by this record.
Two reported problems have since been closed
Issue 38 requested a CPU-friendly learning path. The maintainer closed it as completed in #42 on 2 October 2026 and pointed to the laptop track, larger student presets, a local benchmark script and the student guide. The current README describes that track. CPU-only readers should therefore no longer be excluded from the audience.
Issue 36 reported checkpoint-key mismatches involving torch.compile and DDP prefixes. It was also closed as completed in #42 on 2 October 2026. The maintainer says checkpoints are now saved from the unwrapped model, older nested prefixes load, and missing parameters cause an error. The comment also names a compiled-model checkpoint test. These are upstream implementation and verification claims; our September run does not validate the fix.
For a training project, checking checkpoint reloads under your intended settings remains a useful next step. Save a small run, reload it in a fresh process and check that the expected parameters and output are preserved before spending more compute.
How to choose a learning route
Use this repository when the connection between pretraining and post-training is the reason you are reading. Start with the documented laptop track if you lack a GPU, or a smoke configuration when checking a stage. Treat the author's training times as reference points and measure your own machine before selecting a larger preset.
LLMs from Scratch offers a different teaching structure: it is the official companion to Sebastian Raschka's book, with chapter code and exercises. Its README says the main chapters run on conventional laptops. Choose it when that guided sequence suits you better.
nanoGPT remains relevant as a compact historical GPT implementation, but its README's November 2025 notice calls it deprecated and points readers toward nanochat. Its older claims of active development should not override that notice.
How the ratings work
These are editorial assessments of the supplied evidence, not benchmarks. The scale is 1 for substantial documented obstacles, 2 for limited evidence or unresolved suitability, 3 for a usable path with material qualifications, 4 for strong documented support within the review's scope, and 5 for comprehensive support corroborated by execution within that scope. Missing evidence lowers confidence; it does not prove a product defect.
Setup receives 3/5 because the older installation succeeded and the current README supplies a CPU route, while current installation size and training behavior remain unmeasured. Documentation receives 4/5 for its prerequisites, staged explanations, file references and distinct setup paths; we have not executed all its instructions. Community receives 2/5 because the supplied issues show maintainer responses and completed work, but do not establish broad adoption or typical support responsiveness. Maturity receives 3/5 because the older pytest result and reported checkpoint repair provide useful evidence without validating current training quality or distributed operation.
The supplied docs workflow builds and publishes the documentation. It does not establish the full current CI configuration. Likewise, an August checkout date, an old star count or a previously small issue queue cannot establish the repository's current maintenance state.

