Commit Graph

87 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
299fcc14e1 style(paper): tidy references.bib for pre-commit compliance
Fix line wrapping and add trailing newline to pass bibtex-tidy
pre-commit hook.
2026-02-04 10:44:02 -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
e8ffd090e3 fix(paper): normalize BibTeX escaping in references.bib
Standardize LaTeX accent escaping and ampersand formatting for
consistency across bibliography entries.
2026-02-03 10:23:51 -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
08b7206257 fix: apply pre-commit formatting to tinytorch files
- Remove trailing whitespace in big-picture.md
- Apply bibtex-tidy formatting to paper/references.bib
2026-01-27 08:59:33 -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
64ecda7289 Fix compile script to use bibtex for natbib 2026-01-27 07:47:28 -05:00
Vijay Janapa Reddi
ac4c440606 Convert date fields to year for bibtex compatibility 2026-01-27 07:47:28 -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
3ed2f58dab Remove unused module_flow diagram files 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
9bbab8f739 Remove Champion Trophy Icon
- Remove the TikZ scope containing the trophy icon code
- Keep the Capstone node and connection
2026-01-27 07:47:26 -05:00
Vijay Janapa Reddi
a0dfcfa5f9 Realign module graph to two distinct rows
- Align '09 CNNs' (Spatial) with the top Foundation row (01 Tensor)
- Align '15 Quant' and '16 Compress' with the top Foundation row
- Position '10-13' (Language path) and '17-18' (Accel/Memo) on the bottom row
- Center '14 Profiling' and '19 Benchmark' vertically between the two rows
- Remove 'Vision' and 'Language' labels
- Adjust tier labels to be consistently positioned above the top row
2026-01-27 07:47:26 -05:00
Vijay Janapa Reddi
a25d3bf502 Fix Tier Label positioning
- Define a common LabelLine coordinate relative to the top of Foundation Row 1 (T.north + 1.2cm)
- Ensure all tier labels (FOUNDATION, ARCHITECTURE, OPTIMIZATION) are placed on this line
- Prevents labels from overlapping with nodes or being placed too low
- Maintains horizontal centering for each section
2026-01-27 07:47:26 -05:00
Vijay Janapa Reddi
683b105c9f Align and center tier labels
- Place all tier labels (FOUNDATION, ARCHITECTURE, OPTIMIZATION) on the same vertical line
- Center each label horizontally over its respective section using coordinate calculations
- Use Architecture label position as the anchor for height alignment
2026-01-27 07:47:26 -05:00
Vijay Janapa Reddi
bd988b4f85 Center CNN node in Architecture tier
- Move Vision path definition after Language path to allow relative positioning
- Center '09 CNNs' node horizontally above the Language path (Tok-Trans)
- Update arrow routing to accommodate the new centered position
2026-01-27 07:47:25 -05:00
Vijay Janapa Reddi
e62e84c4f7 Fix Foundation tier arrow routing
- Reroute the arrow from 04 Losses to 05 DataLoad to go between the rows
- Prevents the arrow from cutting through 06, 07, 08 nodes
- Improves visual clarity of the two-row layout
2026-01-27 07:47:25 -05:00
Vijay Janapa Reddi
d26b7bc1eb Refactor Foundation tier layout into two rows
- Split Foundation modules (01-08) into two rows of 4 nodes each
- Row 1: 01 Tensor -> 04 Losses
- Row 2: 05 DataLoad -> 08 Training
- Connect end of Row 1 to start of Row 2 with a wrapped arrow
- Center 'FOUNDATION' label over the new two-row layout
2026-01-27 07:47:25 -05:00
Vijay Janapa Reddi
b09f79f387 Fix module dependency graph layout and labels
- Reposition Profiling node to avoid overlap with Architecture branch
- Center Architecture label and align with Optimization label
- Increase font size of path labels for better readability
- Fix overlap of 'Speed' label with 'Transform' node
2026-01-27 07:47:25 -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
71c883eaf9 fix(paper): use biber instead of bibtex for biblatex
The paper now uses biblatex for bibliography management, which requires
biber as the backend processor instead of bibtex. Updated both
compile_paper.sh and Makefile to use biber.
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