Commit Graph

64 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
69f46d4f7e Clarifies memoization computation savings
Refines the explanation of K,V computation savings in the memoization module,
quantifying redundant computations and highlighting the efficiency gain.

The paper and module now specify that generating 100 tokens requires 5,050
total K,V computations, but only 100 are necessary, resulting in 4,950
redundant calculations.
2026-02-19 17:59:10 -05:00
Vijay Janapa Reddi
b03c32b67a docs(paper): add intra-module scaffolding subsection to progressive disclosure
Add new subsection describing function decomposition pattern used within
modules. Documents how complex operations (attention, convolution, training)
are split into focused helper functions with individual unit tests before
composition into exported functions. Updates pedagogical justification to
cover both inter-module and intra-module progressive disclosure.
2026-02-14 16:51:57 -05:00
Vijay Janapa Reddi
24ab7599c6 fix(paper): escape special LaTeX characters breaking PDF build
Escape unescaped & characters in references.bib (Taylor & Francis,
AI & Machine-Learning) and replace Unicode em-dashes (U+2014) with
LaTeX --- ligatures in paper.tex for T1 font compatibility.
2026-02-04 10:05:32 -05:00
Vijay Janapa Reddi
eb84df491e docs(paper): clarify Adam memory overhead + fix LaTeX labels
- Clarify "3× memory" → "3× optimizer-related memory (gradients plus
  two state buffers)" for accuracy
- Fix lstlisting label syntax: label=lst:... → label={lst:...}
- Remove stale figure reference, use prose instead
- Fix convolutions comment: 6 → 7 nested loops (matches actual code)
- Remove unused benchmark_table3.py
2026-01-28 17:19:55 -05:00
Vijay Janapa Reddi
e668c5b700 docs(paper): revise abstract for citation impact
- Name the problem: "algorithm-systems divide"
- Name the approach: "implementation-based systems pedagogy"
- Add concrete systems examples (O(N^2), Adam 3x memory)
- Include MLPerf-style benchmarking in milestones
- Strengthen citable terminology throughout
2026-01-28 08:27:11 -05:00
Vijay Janapa Reddi
1654ce4bf3 Style abstract: emphasize AI engineers and pattern names 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
aecb79026b Rewrite abstract in formal academic style 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
2df0c69a47 Tighten abstract (1785 -> 1496 chars) 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
ce5d0ea879 Update abstract with cleaner prose 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
ee64168813 Expand abstract with scope, accessibility, and concrete examples 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
0d00348cc8 Trim abstract to fit arXiv 1920 char limit 2026-01-27 07:47:30 -05:00
Vijay Janapa Reddi
e4a664b9c1 Frame AI engineers as aspirational goal in abstract 2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
7c70577ab7 Emphasize AI engineers term in abstract 2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
c8476b1010 Add AI engineer framing to abstract 2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
000e8f7f5b Restore original writing style in transitions
Remove mechanical enumeration (First/Second/Third) and meta-commentary
to match paper's flowing academic prose style
2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
673e6ff73e Improve paragraph transitions throughout paper
- Future Directions: add numbering and connecting phrases between extensions
- Limitations: add category intro and transition words
- Pedagogical Scope: clarify two-principle structure
- Conclusion: add 'First/Second/Third' and audience transition
2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
918006b957 Fix UTF-8 multiplication signs for arXiv pdflatex 2026-01-27 07:47:29 -05:00
Vijay Janapa Reddi
97d786fd54 Add fontawesome5 fire icon with spacing for title 2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
3344514eed Make paper arXiv-compatible with pdflatex
- Switch from fontspec/TeX Gyre to standard fonts (mathpazo, helvet, courier)
- Replace emoji package with no-op (title is just "TinyTorch")
- Switch from biblatex/biber to natbib/bibtex
- Works with both lualatex (local) and pdflatex (arXiv)
2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
d508b4292b Update acknowledgments and GenAI disclosure
- Acknowledge CS249r students whose feedback shaped the curriculum
- Acknowledge global mlsysbook.ai community
- Expand GenAI statement to cover framework development
- Frame AI assistance as enabling democratization (single author, 20 modules)
- Remove em-dashes throughout for cleaner prose
2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
7aef7150b1 Add generative AI disclosure statement per ACM policy 2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
fd5e735494 Restore fontspec, emoji, and biblatex for local compilation
Reverts arXiv-specific changes to work with compile_paper.sh:
- Restored fontspec with TeX Gyre fonts
- Restored emoji package
- Restored biblatex with biber backend
- Works with lualatex as expected by compile script
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
b97d086f95 Fix arXiv compatibility issues
- Replace fontspec/custom fonts with standard LaTeX fonts (mathpazo, helvet, courier)
- Remove emoji package, define empty command for \emoji
- Switch from biblatex/biber to natbib/bibtex for better arXiv support
- Change \printbibliography to \bibliography{references}
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
12fa930dd1 Simplify title and fix bibliography entry types
- Remove "Tensors to Systems" from subtitle for cleaner title
- Fix @article entries that should be @inproceedings (kannan2022astrasim,
  micikevicius2018mixed, strubell2019energy, vaswani2017attention)
- Remove duplicate booktitle field from williams2009roofline
- Standardize year fields across entries
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
90e30a508a Update paper title and add AI Engineering framing
- New title: "TinyTorch: Building Machine Learning Systems from First
  Principles: Tensors to Systems"
- Add strategic mentions of AI engineering as an emerging discipline
- Update competency matrix caption to reference AI engineer competencies
- Update conclusion to position TinyTorch as training AI engineers
- Add SEI AI Engineering workshop report reference
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
a5f8a41100 Remove ungrounded claims from paper
- Remove fabricated claim about quantum ML and robotics community forks
  that don't actually exist
- Remove "quantum ML" from conclusion's list of future fork variants
- Change "validated through pilot implementations" to "designed for
  diverse institutional contexts" since validation is planned future work
2026-01-27 07:47:27 -05:00
Vijay Janapa Reddi
79ff0cd44a Update memory calculation example to match Module 1
- Replace MNIST/ImageNet full dataset calculation with the actual Module 1 exercise
- New text: "Students calculate memory footprints, discovering that a single batch of 32 ImageNet images requires 19 MB, while the full dataset exceeds 670 GB."
- Aligns paper claims with the codebase (01_tensor.py Q1)
2026-01-27 07:47:26 -05:00
Vijay Janapa Reddi
f8485a3323 Fix orphans and widows in paper text
- Rephrase 'optimization opportunities' sentence to avoid dangling word
- Adjust 'roles industry desperately needs' to 'roles that the industry desperately needs'
- Change 'over dense layers' to 'compared to dense layers' to improve line break
- Reorder 'construct mental models gradually' to 'gradually construct mental models'
- Change 'self-paced professional development' to 'independent professional development'
2026-01-27 07:47:26 -05:00
Vijay Janapa Reddi
bb323bff5a style(paper): improve typography and add single node framing
- Add single node focus framing throughout paper
- Update ML Systems Competency Matrix caption to clarify single node scope
- Strengthen distributed systems discussion in Curriculum Evolution
- Remove all em-dashes (25 total) replacing with colons, commas, periods
- Switch to lining numbers for technical content
- Add widow/orphan penalties to reduce dangling lines
- Fix single-item bullet list (Intentional Gap section)
- Update author limit to 50 before et al truncation
- Fix tinytorch package references to match actual implementation
2026-01-27 07:47:25 -05:00
Vijay Janapa Reddi
f7701968bc refactor(paper): remove Open Science Commitment paragraph 2026-01-27 07:47:25 -05:00
Vijay Janapa Reddi
3334e73260 refactor(paper): condense empirical validation roadmap
Trim detailed phase-by-phase validation plan to a concise summary.
Removes specific dates, sample sizes, and instrument names that would
age poorly. Keeps the Open Science Commitment and general validation
approach. Also removes two orphaned references (paas1992training,
sorva2012visual) that were only cited in the removed text.
2026-01-27 07:47:24 -05:00
Vijay Janapa Reddi
5597230700 fix(paper): align paper.tex with codebase and verify all references
- Switch from natbib to biblatex for better author truncation control
- Fix package structure references (tinytorch.nn.conv → tinytorch.core.spatial)
- Fix import examples to use actual tinytorch API patterns
- Fix class references (Transformer → GPT, Attention → MultiHeadAttention)
- Correct Adam coefficient from 0.001 to 0.01
- Fix 11 bibliography entries with wrong/corrupted data:
  - abelson1996sicp, bruner1960process, hotz2023tinygrad
  - tanenbaum1987minix, perkins1992transfer, papert1980mindstorms
  - vygotsky1978mind, blank2019nbgrader, roberthalf2024talent
  - keller2025ai, pytorch04release, tensorflow20
- Fix organization author names using double braces
- Configure maxbibnames=10 for "et al." truncation in bibliography

All 60 references verified via web search for arXiv submission.
2026-01-27 07:47:24 -05:00
Vijay Janapa Reddi
67c94d8b3c docs(paper): add core philosophy quote to conclusion
Adds 'Building systems creates irreversible understanding' to the
paper's conclusion section, reinforcing the pedagogical thesis with
concrete examples: once you implement autograd, you cannot unsee
the computational graph; once you profile memory, you cannot unknow
the costs.
2026-01-25 16:00:03 -05:00
Vijay Janapa Reddi
1a66195e01 style(paper): improve title/author typography
- Increase main title size (26pt → 28pt) for more impact
- Tighten subtitle line spacing
- Add proper line height to author block
- Create visual hierarchy: name > affiliation > URL
- Make URL more subtle (smaller, lighter gray)
2026-01-25 15:24:18 -05:00
Vijay Janapa Reddi
c443be05ae fix(paper): remove last updated date for arXiv submission 2026-01-25 15:22:34 -05:00
Vijay Janapa Reddi
09909045fe fix(paper): capitalize Module consistently per Gemini review 2026-01-25 15:12:02 -05:00
Vijay Janapa Reddi
6469413239 fix(paper): address Gemini review feedback
- Close narrative loop: tie Conclusion back to Bitter Lesson framing
- Clarify that students implement enable_autograd() themselves
- Fix terminology: use 'Progressive Disclosure' consistently (not 'Enhancement')
- Fix citation: use mlsysbook2025 consistently for textbook reference
2026-01-25 15:08:11 -05:00
Vijay Janapa Reddi
c9c603844b fix(paper): align paper with actual TinyTorch implementation
- Rewrite progressive disclosure section (Section 4) to accurately
  describe how Module 01 Tensor is clean and Module 06 adds gradient
  features via monkey-patching (not dormant features from start)
- Update code listings to match actual implementation
- Update figure from dormant-active to foundation-enhanced
- Remove TA_GUIDE.md references (file does not exist)
- Fix export directive count from 13 modules to all 20 modules
- Update GitHub repo URL to monorepo path (cs249r_book/tinytorch)
2026-01-25 15:03:50 -05:00
Vijay Janapa Reddi
dbad2637e3 fix(docs): standardize Perceptron year to 1958
- Rename milestone directory from 01_1957_perceptron to 01_1958_perceptron
- Update all references to use 1958 (publication year) for consistency
  with academic citation format (rosenblatt1958perceptron)
- Changes affect: READMEs, docs, tests, milestone tracker

Rationale: Using 1958 aligns with the publication year and standard
academic citations, while 1957 was the development year.

Cherry-picked from: 28ca41582 (feature/tito-dev-validate)
2026-01-17 12:15:49 -05:00
Vijay Janapa Reddi
8787ff208f Updates the paper's last updated date.
Reflects the latest modifications to the document.
2025-12-22 09:13:45 -05:00
Vijay Janapa Reddi
e5dab6d12c docs(tinytorch): add xv6 reference to pedagogical precedents
Add MIT's xv6 teaching OS to the Related Work section alongside
Nachos and Pintos. The x86 to RISC-V transition exemplifies the
strip to essentials philosophy that TinyTorch follows.

Also link to the research paper from the preface for readers
interested in the pedagogical foundations.
2025-12-21 09:11:36 -05:00
Vijay Janapa Reddi
ed0b358533 Removes bolding from paper organization
Removes the unnecessary bolding from several paragraph headings within the paper to improve readability and maintain a consistent style.
2025-12-20 08:41:16 -05:00
Vijay Janapa Reddi
fbc176e7ed fix: comprehensive module numbering update across all files
Updates all remaining files with correct module assignments:
- DataLoader = 05, Autograd = 06, Optimizers = 07, Training = 08
- Foundation Tier = 01-08, Architecture Tier = 09-13

Fixed files:
- Paper diagrams: module_flow.dot, module_flow_horizontal.tex
- Paper references: paper.tex (multiple instances)
- Site TITO: milestones.md command examples
- Tests: run_training_milestone_tests.py, test_user_journey.py, test_training_flow.py
- Milestones: 02_xor_solved.py, 02_rosenblatt_trained.py, 02_rumelhart_mnist.py, XOR ABOUT.md
- Source: 17_acceleration.py prerequisites
- Tools: fix_mermaid_diagrams.py, fix_about_titles.py module mappings
2025-12-19 20:17:52 -05:00
Vijay Janapa Reddi
147292eaea fix(paper): align module numbering with actual structure
Updates paper.tex to correctly reflect module assignments:
- Foundation Tier: 01-08 (was incorrectly 01-07)
- Architecture Tier: 09-13 (was incorrectly 08-13)
- DataLoader is M05 (was incorrectly in Architecture tier as M08)
- Autograd is M06, Optimizers M07, Training M08

Also fixes:
- Competency coverage table module references
- Configuration descriptions
- Progressive disclosure diagram annotations
2025-12-19 20:06:31 -05:00
Vijay Janapa Reddi
66739228cd docs: add pedagogical rationale explaining tier structure
Each tier now explains WHY the modules are ordered as they are:

Foundation: Forward Pass (01-04) → Learning (05-07) → Training (08)
- Minimal dependency chain: can't build optimizers without autograd

Architecture: Vision (09) || Language (10-13)
- Parallel tracks for domain-specific needs
- Language: tokenization → embeddings → attention → transformers

Optimization: Measure → Model-Level → Runtime → Validate
- Model-level (15-16): Change the model (quantization, compression)
- Runtime (17-18): Change execution (acceleration, memoization)
- General techniques before specialized applications
2025-12-19 19:49:14 -05:00
Vijay Janapa Reddi
70708be853 docs: update paper with model-level vs runtime optimization framing
- Model-level (15-16): Change the model (quantization, compression)
- Runtime (17-18): Change execution (acceleration, memoization)

Explains pedagogical rationale for optimization tier structure
2025-12-19 19:30:38 -05:00
Vijay Janapa Reddi
d203fba8b8 fix: complete module renumbering across entire codebase
Updated all references to reflect new module order:
- Module 05: DataLoader (was 08)
- Module 06: Autograd (was 05)
- Module 07: Optimizers (was 06)
- Module 08: Training (was 07)

Changes include:
- paper/paper.tex: 20+ references, tier descriptions, milestones
- src/: Export commands, dependency diagrams, docstrings
- tests/: Dependency chains, integration tests, README
- tito/: export_utils.py path mappings
- tinytorch/: Auto-generated package file headers

Foundation Tier is now Modules 01-08
Architecture Tier is now Modules 09-13
2025-12-19 17:43:41 -05:00
Vijay Janapa Reddi
ea246cf4e2 Renames "Spatial" module to "Convolutions"
Refactors the module name from "Spatial" to "Convolutions" to better reflect its content and purpose, which focuses on convolutional neural networks.

This change ensures consistency and clarity across the codebase, documentation, and examples.
2025-12-17 07:35:32 -05:00
Vijay Janapa Reddi
5305cdb032 chore: clean up unused files and fix paper competency matrix
- Fix competency coverage counts: 36 full (90%), 3 partial (7.5%), 1 gap (2.5%)
- Remove Deployment-Debugs from intentional gaps (was listed twice)
- Remove unused site markdown files not in TOC
- Remove src/LEARNING_PATH.md (not referenced)
- Update module flow diagram to LR layout

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-12-14 14:32:34 -05:00
Vijay Janapa Reddi
19aa640af1 feat: improve big-picture diagram with top-down layout and module numbers
- Change mermaid diagram from LR to TB (top-down) layout
- Add module numbers to node labels (01: Tensor, 02: Activations, etc.)
- Color nodes by tier: blue (foundation), purple (architecture), orange (optimization)
- Add zoom:1.5 for larger display on website
2025-12-14 14:27:58 -05:00