LLM 101 is a visual, practical introduction to how large language models work.
Read the tutorial online:
The tutorial follows the path from a first language model to training a GPT:
The explanations are supported by small Python examples, real intermediate outputs, formulas, and visual diagrams. The goal is to make each step understandable before moving to the next one.
This tutorial is intended for readers who want an intuitive and implementation-oriented introduction to language models. Basic Python and linear algebra are helpful, but the material is introduced from first principles.
Begin with Chapter 1: Building the Dataset, or use the navigation on the website to move through the chapters in order.
The source is available on GitHub.
https://llm-101.pages.dev/ in Google Search Console and verify it using the existing Google HTML verification file.https://llm-101.pages.dev/sitemap.xml under Sitemaps. Docusaurus regenerates it from the published routes on every production build, with modification dates from Git history. Use full Git history during builds to preserve those dates.https://llm-101.pages.dev/robots.txt from static/robots.txt.static/. Page canonical URLs and descriptions are generated by Docusaurus, with an explicit homepage description in its front matter.The two title-only placeholders (Part 2, Chapters 15 and 16) use noindex, follow and are automatically excluded from the sitemap. Remove their indexing exclusion when adding substantive chapter content.
The production site is hosted on Cloudflare Pages at the address above, with the site served from /. Connect the GitHub repository to Pages, select main as the production branch, set the build command to npm run build, and set the build output directory to build. Use Node.js 22 for builds. GitHub Pages deployment is no longer configured.
The optional page-view counter is a separate Worker. Its SITE_ORIGIN matches the production site; redeploy that Worker after changing its configuration. Set PAGE_VIEW_COUNTER_URL in the website build environment to enable the counter.