Rare find

Nanochat. Train your own AI chatbot for under $100.

github.com/karpathy/nanochat

Vaya's read on this project

Problem, audience, market, and the verdict — sign in to see it.

Updates

July 2026
  • clean up fragile code
  • add inference benchmarking
  • add a few tests
  • unify the two optimizer implementations into one and prevent bugs lik…
  • harden and shorten the execution sandbox
  • fix deprecated commit on torchao
  • delete datasets dependency bye
  • nuke huggingface and its giant dependency footprint from orbit. datas…
  • delete spurious 'cute' bloat that doesn't matter to a serious researc…
  • remove a ton of UI bloat, we need to make nanochat small and sexy and…
  • Validate checkpoint file format in find_last_step
  • Improve error handling for batch size alignment
  • Remove inherited parameters from scripts
  • Merge pull request #540 from svlandeg/fix/kernel
  • Small doc fixes for consistency
  • add a comment clarifying that RoPE here rotates by -theta (transpose …
  • fix token_bytes calculation to use raw token bytes instead of round-t…
  • docs: note that MPS handles bf16 fine on recent macOS (opt in via NAN…
  • allocate the inference KV cache in COMPUTE_DTYPE instead of hardcodin…
  • fix mixed-dtype ops in the optimizer so that bf16 params (wte, value_…
May 2026
  • tried and failed at DyT
April 2026
  • Merge pull request #706 from svlandeg/fix/cpu
  • Merge pull request #686 from marcinbogdanski/fix/init-smear-backout-l…
  • add comment
  • use nn.init and initialize smear gate's weight as well
  • update uv lock
  • add setuptools for CPU run
  • fix: initialize smear and backout lambdas in init_weights
March 2026
  • create a group for dev dependencies, there is no need to install all …
  • delete non-essential deps from legacy use