Files
TinyTorch/site
Vijay Janapa Reddi f4a40ab655 Update milestones.md to reflect standardized milestone structure
Aligned website milestone documentation with the comprehensive README files:

1. Updated milestone naming consistency:
   - M06: '2024 Systems Age' → '2018 MLPerf' (historically accurate)
   - Updated Acts table to reflect correct module ranges

2. Fixed all script paths to match new naming convention:
   - M01: perceptron_trained.py → 01_rosenblatt_forward.py + 02_rosenblatt_trained.py
   - M02: xor_crisis folder → xor folder, updated script names
   - M05: vaswani_shakespeare.py → 01_vaswani_generation.py + 02_vaswani_dialogue.py
   - M06: optimize_models.py → 01_baseline_profile.py + 02_compression.py + 03_generation_opts.py

3. Enhanced M06 (MLPerf) section:
   - Added historical context (2018 MLCommons establishment)
   - Explained systematic optimization methodology
   - Included quantitative results (8-16× compression, 12-40× speedup)
   - Shows 3-script progressive optimization workflow

4. Maintained excellent 'Two Dimensions' framing:
   - Pedagogical Acts (WHY you're learning)
   - Historical Milestones (WHAT you can build)
   - Connection table showing how they relate

Documentation hierarchy: Milestone READMEs are canonical source,
website milestones.md provides overview + navigation.
2025-11-11 18:31:04 -05:00
..

TinyTorch Course Book

This directory contains the TinyTorch course content built with Jupyter Book.

🌐 View Online

Live website: https://mlsysbook.github.io/TinyTorch/

📚 Build Options

Option 1: HTML (Default Website)

cd book
jupyter-book build .

Output: _build/html/index.html

No LaTeX installation required!

cd book
make install-pdf    # Install dependencies
make pdf-simple     # Build PDF

Output: _build/tinytorch-course.pdf

Option 3: PDF (LaTeX Method - Professional Quality)

Requires LaTeX installation (texlive, mactex, etc.)

cd book
make pdf

Output: _build/latex/tinytorch-course.pdf

🚀 Quick Commands

Using the Makefile (recommended):

make html        # Build website
make pdf-simple  # Build PDF (no LaTeX needed)
make pdf         # Build PDF via LaTeX
make clean       # Remove build artifacts
make install     # Install dependencies
make install-pdf # Install PDF dependencies

Using scripts directly:

./build_pdf_simple.sh  # PDF without LaTeX
./build_pdf.sh         # PDF with LaTeX

📖 Detailed Documentation

See PDF_BUILD_GUIDE.md for:

  • Complete setup instructions
  • Troubleshooting guide
  • Configuration options
  • Build performance details

🏗️ Structure

book/
├── _config.yml              # Jupyter Book configuration
├── _toc.yml                 # Table of contents
├── chapters/                # Course chapters (01-20)
├── _static/                 # Images, CSS, JavaScript
├── intro.md                 # Book introduction
├── quickstart-guide.md      # Quick start for students
├── tito-essentials.md       # CLI reference
└── ...                      # Additional course pages

🎯 Content Overview

📚 20 Technical Chapters

Foundation Tier (01-07):

  • Tensor operations, activations, layers, losses, autograd, optimizers, training

Architecture Tier (08-13):

  • DataLoader, convolutional networks (CNNs), tokenization, embeddings, attention, transformers

Optimization Tier (14-19):

  • Profiling, memoization (KV caching), quantization, compression, acceleration, benchmarking

Capstone (20):

  • MLPerf® Edu Competition project

🔧 Development

Local Development Server

jupyter-book build . --path-output ./_build-dev
python -m http.server 8000 -d _build-dev/html

Visit: http://localhost:8000

Auto-rebuild on Changes

pip install sphinx-autobuild
sphinx-autobuild book book/_build/html

🤝 Contributing

To contribute to the course content:

  1. Edit chapter files in chapters/
  2. Test your changes: jupyter-book build .
  3. Preview in browser: Open _build/html/index.html
  4. Submit PR with your improvements

📦 Dependencies

Core dependencies are in requirements.txt:

  • jupyter-book
  • numpy, matplotlib
  • sphinxcontrib-mermaid
  • rich (for CLI output)

PDF dependencies (optional):

  • pyppeteer (HTML-to-PDF, no LaTeX)
  • LaTeX distribution (for pdflatex method)

🎓 For Instructors

Using this book for teaching:

  1. Host locally: Build and serve on your institution's server
  2. Customize content: Modify chapters for your course
  3. Generate PDFs: Distribute offline reading material
  4. Track progress: Use the checkpoint system for assessment

See instructor guide for more details.

📝 License

MIT License - see LICENSE file in repository root

🐛 Issues

Report issues: https://github.com/mlsysbook/TinyTorch/issues


Build ML systems from scratch. Understand how things work.