Commit Graph

1132 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
ec9ed12b98 Merge GitHub Pages workflows from dev 2025-11-12 10:28:02 -05:00
Vijay Janapa Reddi
dcbee3a638 Add GitHub Pages workflows for live and dev sites 2025-11-12 10:22:50 -05:00
Vijay Janapa Reddi
cb3476702e Add comprehensive testing plan documentation
- Add TESTING_QUICK_REFERENCE.md for quick access to common testing commands
- Add comprehensive-module-testing-plan.md with module-by-module test requirements
- Add gradient-flow-testing-strategy.md for gradient flow test coverage analysis
- Add testing-architecture.md explaining two-tier testing approach
- Update TEST_STRATEGY.md to reference master testing plan

These documents define clear boundaries between unit tests (modules/),
integration tests (tests/), and milestones, with comprehensive coverage
analysis and implementation roadmap.
2025-11-12 07:29:55 -05:00
Vijay Janapa Reddi
25df5b0e96 Simplify and condense site documentation content 2025-11-11 22:23:21 -05:00
Vijay Janapa Reddi
7fd544962d Add visual learning journey with Mermaid diagrams and integrate new pages
## New Documentation Pages Integrated into Site Navigation

**site/learning-journey-visual.md** - 10 interactive Mermaid diagrams:
1. Complete Learning Flow - Full flowchart through all 20 modules & 6 milestones
2. Module Dependencies - Shows how modules depend on each other
3. Three-Tier Timeline - Visual progression through Foundation/Architecture/Optimization
4. Historical Milestones - Gantt chart showing ML history recreation (1957→2024)
5. Student Learning Paths - Decision tree for different learning approaches
6. Capability Progression - Skill levels unlocked at each tier
7. Workflow Cycle - The edit → export → validate loop
8. Dataset Strategy - When to use shipped vs downloaded datasets
9. Time vs Outcomes Quadrant - Comparing learning path investments
10. Difficulty Curve - Line chart showing module difficulty progression

## Site Navigation Updates (_toc.yml)

**Added to "Using TinyTorch" section:**
- Student Workflow (student-workflow.md) - Essential edit → export → validate cycle
- Datasets Guide (datasets.md) - Complete dataset documentation

**Added to "Course Orientation" section:**
- Visual Learning Map (learning-journey-visual.md) - NEW Mermaid diagram showcase
- FAQ (faq.md) - Comprehensive answers to common questions

## Mermaid Integration

- Mermaid already configured in _config.yml (v10.6.1)
- All diagrams use color coding:
  - Blue: Foundation modules
  - Orange: Critical modules (Autograd, Training)
  - Purple: Advanced architecture modules
  - Green: Milestone achievements
  - Yellow: North Star milestone (CIFAR-10)
  - Red: Capstone

## Benefits

**Visual learners**: Diagrams show the complete learning journey at a glance
**Navigation**: All new pages now appear in site sidebar
**Discoverability**: FAQ answers "Why TinyTorch vs alternatives"
**Dataset clarity**: Students understand shipped vs downloaded data strategy
**Journey visualization**: See the path from tensors to transformers [Claude Code](https://claude.com/claude-code)
2025-11-11 22:13:31 -05:00
Vijay Janapa Reddi
2af17bf858 Prepare TinyTorch for December 2024 community release
## Documentation Consistency
- Fix module count: All docs now correctly show 20 modules (01-20)
- Update Optimization Tier: Modules 14-20 (added 19 Benchmarking, 20 Competition)
- Correct tier descriptions across student-workflow, learning-progress, classroom-use

## New Documentation
- **FAQ (site/faq.md)**: Comprehensive FAQ addressing:
  - Why TinyTorch vs PyTorch/TensorFlow direct usage
  - Why TinyTorch vs micrograd/nanoGPT
  - Who should use TinyTorch
  - Course structure and flexibility
  - Practical getting started questions

- **Datasets (site/datasets.md)**: Complete dataset documentation:
  - Ship-with-repo datasets (TinyDigits 310KB, TinyTalks 40KB)
  - Downloaded datasets (MNIST 10MB, CIFAR-10 170MB)
  - Design philosophy and rationale
  - Usage instructions per milestone

- **Release Checklist (DECEMBER_2024_RELEASE.md)**:
  - Comprehensive pre-launch checklist
  - Documentation, technical, community preparation tasks
  - Version recommendation: v0.9.0
  - Success metrics and launch timeline

## Module Count Corrections
- learning-progress.md: 18→20 modules, added Benchmarking & Competition to table
- student-workflow.md: 18→20 modules, updated Optimization tier description
- classroom-use.md: 18→20 modules in feature list

## Version Recommendation
Proposed **v0.9.0** for December 2024 release:
- Signals feature-complete for individual learners
- Reserves v1.0 for classroom integration (Spring 2025)
- Allows v0.9.x patches for post-launch refinements [Claude Code](https://claude.com/claude-code)
2025-11-11 22:04:36 -05:00
Vijay Janapa Reddi
b03e954c0c Complete Phase 2 and 3 workflow documentation updates
Updated remaining documentation to clarify the actual TinyTorch workflow and mark optional/future features appropriately.

**Phase 2 (Important files):**
- **learning-progress.md**: Added workflow context at top, clear modules vs checkpoints vs milestones explanation, module progression tables by tier, marked checkpoints as optional
- **checkpoint-system.md**: Added prominent "Optional Progress Tracking" banner at top, clarified this is not required for core workflow

**Phase 3 (Supporting files):**
- **classroom-use.md**: Added "Coming Soon" banner for NBGrader integration, clarified current status vs planned features, updated to reflect 18 modules (not 20)

Key clarifications across all files:
- Core workflow: Edit modules → `tito module complete N` → Run milestone scripts
- Checkpoints are optional capability tracking (helpful for self-assessment)
- Instructor features marked as "coming soon" / "under development"
- All pages reference canonical student-workflow.md

Completes the workflow documentation audit identified by website-manager.
2025-11-11 21:49:37 -05:00
Vijay Janapa Reddi
30f9faf618 Add canonical student workflow documentation
Created new student-workflow.md as the single source of truth for the TinyTorch development cycle. Updated quickstart-guide.md, tito-essentials.md, and intro.md to emphasize the simple workflow and reference the canonical guide.

Key changes:
- **New file**: site/student-workflow.md - Complete workflow guide
- **quickstart-guide.md**: Added workflow context and step-by-step examples
- **tito-essentials.md**: Simplified to focus on essential commands, marked checkpoint system as optional
- **intro.md**: Added workflow section early, simplified getting started, marked instructor features as "coming soon"

The actual workflow:
1. Edit modules in modules/source/
2. Export with `tito module complete N`
3. Validate by running milestone scripts

Checkpoint system and instructor features are documented as optional/coming soon, not primary workflow.
2025-11-11 21:31:38 -05:00
Vijay Janapa Reddi
2a496b28fe Remove emoji prefixes from markdown headers in milestones and site chapters 2025-11-11 21:17:22 -05:00
Vijay Janapa Reddi
5bbf2a1a37 Module improvements: Advanced modules (16-20)
- Update memoization module and notebook
- Enhance acceleration module
- Improve benchmarking module
- Refine capstone module
- Update competition module
2025-11-11 19:05:02 -05:00
Vijay Janapa Reddi
1f581f5bf0 Module improvements: Core modules (01-08)
- Update tensor module notebook
- Enhance activations module
- Expand layers module functionality
- Improve autograd implementation
- Add optimizers enhancements
- Update training module
- Refine dataloader notebook
2025-11-11 19:05:00 -05:00
Vijay Janapa Reddi
69abbe8754 Add systems analysis: Autograd profiling
- Add memory profiling with tracemalloc
- Add backward pass performance benchmarking
- Add computational complexity analysis
- Demonstrates autograd overhead and performance characteristics
2025-11-11 19:04:59 -05:00
Vijay Janapa Reddi
f938ad8e19 Add validation tool: NBGrader config validator
- Add comprehensive NBGrader configuration validator
- Validates Jupytext headers, solution blocks, cell metadata
- Checks for duplicate grade IDs and proper schema version
- Provides detailed validation reports with severity levels
2025-11-11 19:04:58 -05:00
Vijay Janapa Reddi
cb5ad9ccf1 Cleanup: Remove old/unused files
- Remove datasets analysis and download scripts (replaced by updated README)
- Remove archived book development documentation
- Remove module review reports (16_compression, 17_memoization)
2025-11-11 19:04:56 -05:00
Vijay Janapa Reddi
aeb6638975 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
Vijay Janapa Reddi
946c1599f1 Add pedagogical narrative: The Learning Journey
Created comprehensive six-act narrative explaining module progression:
- Act I: Foundation (01-04) - Building atomic components
- Act II: Learning (05-07) - The gradient revolution
- Act III: Data & Scale (08-09) - Real-world complexity
- Act IV: Language (10-13) - Sequential intelligence
- Act V: Production (14-19) - Optimization & deployment
- Act VI: Integration (20) - Complete AI systems

Changes:
1. Created site/chapters/learning-journey.md
   - Complete pedagogical narrative (6 acts, ~500 lines)
   - Explains WHY modules flow this way
   - Shows HOW each act builds on previous
   - Connects to milestones and tier structure
   - Student guidance for using the narrative

2. Updated site/intro.md (landing page)
   - Added "Understanding Your Complete Learning Journey" section
   - Three-card navigation: Tiers + Acts + Milestones
   - Guides students to three complementary views

3. Updated site/chapters/milestones.md
   - Added "Two Dimensions of Your Progress" section
   - Shows pedagogical (acts) vs historical (milestones) dimensions
   - Mapping table connecting acts to unlocked milestones

4. Updated site/chapters/00-introduction.md
   - Added cross-reference to learning-journey.md
   - Links pedagogical narrative to tier structure

5. Updated site/_toc.yml
   - Added learning-journey.md to Course Orientation section
   - Reorganized: Structure → Journey → Milestones

Rationale:
Website had WHAT (tiers), WHEN (milestones), WHERE (progress),
but lacked WHY (pedagogical progression) and HOW (learning story).
Learning journey fills this gap - explains module flow from atoms
to intelligence through narrative arc.

Uses both "tiers" (structure) and "acts" (narrative) complementarily.(https://claude.com/claude-code)
2025-11-11 18:22:35 -05:00
Vijay Janapa Reddi
ae33298805 Fix NBGrader metadata for Modules 15 and 16
Module 15 (Quantization):
- Added locked=true to test_module cell (line 1523)
- Added NBGrader metadata to systems-thinking markdown cell (line 1751)
- Added schema_version: 3 to both cells

Module 16 (Compression):
- Added NBGrader metadata to 6 solution cells:
  * measure-sparsity (line 380)
  * magnitude-prune (line 511)
  * structured-prune (line 675)
  * low-rank-approx (line 843)
  * distillation (line 1013)
  * compress-model-comprehensive (line 1234)
- Added NBGrader metadata to 6 test cells:
  * test-measure-sparsity (line 427) - 5 points
  * test-magnitude-prune (line 567) - 10 points
  * test-structured-prune (line 733) - 10 points
  * test-low-rank (line 888) - 10 points
  * test-distillation (line 1133) - 15 points
  * test-compression-integration (line 1300) - 20 points
- Total: 70 points for Module 16

Result:
- Module 15: 0 P0-BLOCKER, 0 P1-IMPORTANT (was 1 P0 + 1 P1)
- Module 16: 0 P0-BLOCKER, 0 P1-IMPORTANT (was 12 P0)
- Both modules now production-ready for NBGrader deployment(https://claude.com/claude-code)
2025-11-11 14:50:37 -05:00
Vijay Janapa Reddi
775a40b08c Fix remaining critical issues in milestone READMEs
Addressed 3 critical issues identified by education reviewer:

1. Standardized Module 07 terminology:
   - M03: Changed 'training loop' to 'end-to-end training loop'
   - Now consistent across all milestones (M01/M02/M03/M04)

2. Added quantitative loss criteria to M03:
   - TinyDigits: Loss < 0.5 (gives students measurable target)
   - MNIST: Loss < 0.2 (realistic threshold for convergence)
   - Fixed parameter count: ~2K → ~2.4K (accurate calculation)

3. Clarified M06 foundational dependencies:
   - Added note explaining Modules 01-13 are prerequisites
   - Makes clear the table shows ADDITIONAL optimization modules
   - Prevents confusion about complete dependency chain

These fixes bring milestone READMEs to production-ready quality.
Education reviewer grade: A- → A (after these fixes).
2025-11-11 13:12:23 -05:00
Vijay Janapa Reddi
5d2f6a5221 Improve milestone READMEs based on education review feedback
Applied Priority 1 critical fixes from education reviewer:

1. Fixed historical accuracy:
   - M01: Clarified Perceptron demonstrated 1957, published 1958

2. Improved module dependency clarity:
   - M01: Split requirements into Part 1 (Module 04) vs Part 2 (Module 07)
   - M02/M04: Added 'end-to-end' clarification for Module 07 (Training)
   - M04: Added missing Module 07 to dependency table

3. Added quantitative success metrics:
   - M02: Added loss values (~0.69 stuck vs → 0.0)
   - M04: Added training time estimates (5-7 min, 30-60 min)
   - M05: Replaced subjective 'coherent' with 'Loss < 1.5, sensible word choices'

These changes address education reviewer's critical feedback about
technical accuracy and measurable learning outcomes. Students now have
clearer prerequisites and quantitative success criteria.
2025-11-11 12:56:39 -05:00
Vijay Janapa Reddi
8191b8ebfc Add comprehensive README files for milestones 01-05
Created standardized milestone documentation following the M06 pattern:

- M01 (1957 Perceptron): Forward pass vs trained model progression
- M02 (1969 XOR): Crisis demonstration and multi-layer solution
- M03 (1986 MLP): TinyDigits and MNIST hierarchical learning
- M04 (1998 CNN): Spatial operations on digits and CIFAR-10
- M05 (2017 Transformer): Q&A and dialogue generation with attention

Each README includes:
- Historical context and significance
- Required modules with clear dependencies
- Milestone structure explaining each script's purpose
- Expected results and performance metrics
- Key learning objectives and conceptual insights
- Running instructions with proper commands
- Further reading references
- Achievement unlocked summaries

This establishes single source of truth for milestone documentation
and provides students with comprehensive guides for each checkpoint.
2025-11-11 12:49:57 -05:00
Vijay Janapa Reddi
d0f12e7b71 Create Milestone 06: MLPerf Optimization Era (2018)
Reorganized optimization content into dedicated M06 milestone:

Structure:
- 01_baseline_profile.py: Profile transformer & establish metrics
  (moved from M05/03_vaswani_profile.py)
- 02_compression.py: Quantization + pruning pipeline (placeholder)
- 03_generation_opts.py: KV-cache + batching opts (placeholder)
- README.md: Complete milestone documentation

Historical Context:
MLPerf (2018) represents the shift from "can we build it?" to
"can we deploy it efficiently?" - systematic optimization as a
discipline rather than ad-hoc performance hacks.

Educational Flow:
- M05 now focuses on building transformers (2 scripts)
- M06 teaches production optimization (3 scripts)
- Clear separation: model creation vs. model optimization

Pedagogical Benefits:
1. Iterative optimization workflow (measure → optimize → validate)
2. Realistic production constraints (size, speed, accuracy)
3. Composition of techniques (quantization + pruning + caching)

Placeholders await implementation of modules 15-18.

Updated:
- README.md: M05 reduced to 2 scripts, M06 described
- M05 now ends after generation/dialogue
- M06 begins systematic optimization journey
2025-11-11 12:32:27 -05:00
Vijay Janapa Reddi
eab6fb2be4 Standardize milestone naming with numbered sequence and historical anchors
Applied consistent naming pattern: 0X_[figure]_[task].py

M01 (1957 Perceptron):
- forward_pass.py → 01_rosenblatt_forward.py
- perceptron_trained.py → 02_rosenblatt_trained.py

M02 (1969 XOR):
- xor_crisis.py → 01_xor_crisis.py
- xor_solved.py → 02_xor_solved.py

M03 (1986 MLP):
- mlp_digits.py → 01_rumelhart_tinydigits.py
- mlp_mnist.py → 02_rumelhart_mnist.py

M04 (1998 CNN):
- cnn_digits.py → 01_lecun_tinydigits.py
- lecun_cifar10.py → 02_lecun_cifar10.py

M05 (2017 Transformer):
- vaswani_chatgpt.py → 01_vaswani_generation.py
- vaswani_copilot.py → 02_vaswani_dialogue.py
- profile_kv_cache.py → 03_vaswani_profile.py

Benefits:
- Clear execution order (01, 02, 03)
- Historical context (rosenblatt, lecun, vaswani)
- Descriptive purpose (generation, dialogue, profile)
- Consistent structure across all milestones

Updated documentation:
- README.md: Updated all milestone examples
- site/chapters/milestones.md: Updated bash commands
2025-11-11 12:20:36 -05:00
Vijay Janapa Reddi
78d0ca6afc Remove redundant review documentation
Removed redundant and superseded review reports:
- Module 15: COMPREHENSIVE_REVIEW_REPORT.md, FINAL_VALIDATION_REPORT.md, REVIEW_SUMMARY.md
- Docs: RESTRUCTURING_VERIFICATION.md, book-development/CLEANUP_SUMMARY.md

Also removed untracked files:
- Module 11: REVIEW_REPORT_FINAL.md (superseded by REVIEW_REPORT.md)
- Module 12: REVIEW_SUMMARY.md (redundant with REVIEW_REPORT.md)
- Module 20: COMPLIANCE_CHECKLIST.md (redundant with REVIEW_REPORT.md)
- Module 6, 8, 14, 18: COMPLIANCE_SUMMARY.md and QUICK_SUMMARY.md files

Retained comprehensive REVIEW_REPORT.md files which contain the most complete QA documentation.
2025-11-11 12:15:36 -05:00
Vijay Janapa Reddi
ac6f88ec0b Remove temporary analysis and fix documentation
Removed 31 temporary markdown files that documented completed work:
- Module-specific fix reports (Module 07, 16, 17, 19-20)
- Hasattr audit files (completed audit)
- Module progression review reports (completed)
- Infrastructure analysis reports (completed)
- Renumbering and restructuring summaries (completed)

Retained valuable documentation:
- All REVIEW_REPORT.md files (comprehensive QA documentation)
- All COMPLIANCE_SUMMARY.md files (quick reference)
- COMPREHENSIVE_MODULE_REVIEW_STATUS.md (tracking)
- MODULE_DEPENDENCY_MAP.md and MODULE_PROGRESSION_GUIDE.md (guides)
2025-11-11 12:09:31 -05:00
Vijay Janapa Reddi
e298709094 Add jupyter-book to site/requirements.txt
- Added jupyter-book>=0.15.0,<1.0.0 dependency for documentation builds
- This dependency is referenced by GitHub Actions workflows
- Required for both HTML and PDF book generation
2025-11-11 11:56:25 -05:00
Vijay Janapa Reddi
d1fe4d2f8e Remove temporary analysis files from modules
Cleaned up temporary AI-generated analysis files:
- modules/15_quantization/FIXES_APPLIED.md
- modules/15_quantization/FIXES_TO_APPLY.md
- modules/16_compression/FIXES_REQUIRED.md
- modules/17_memoization/FIXES_APPLIED.md
- Plus other untracked analysis files

These were temporary debugging/review artifacts. Now covered by
.gitignore patterns to prevent future accumulation.
2025-11-10 19:50:43 -05:00
Vijay Janapa Reddi
673a261ee2 Update gitignore to exclude temporary analysis files
Added comprehensive patterns to ignore AI-generated temporary reports:
- Module review reports (*_REPORT*.md)
- Analysis summaries (*_SUMMARY.md, *_ANALYSIS.md)
- Fix tracking (*_FIXES*.md, *_CHANGES*.md)
- Verification scripts (VERIFY_*.py)
- Other temporary docs (*_CHECKLIST.md, *_GUIDE.md, etc.)

These files are generated during module reviews and debugging sessions
but are not part of the permanent codebase documentation.
2025-11-10 19:50:26 -05:00
Vijay Janapa Reddi
2725e31f90 Add module metadata for competition module
Added module.yaml for Module 20 (Competition & Validation):
- Module configuration and learning objectives
- Prerequisites and skill development tracking
- Test coverage and connection documentation

This module brings together all optimization techniques learned
in modules 14-18 for competition preparation.
2025-11-10 19:44:06 -05:00
Vijay Janapa Reddi
ec7168dc90 Add module development files to new structure
Added all module development files to modules/XX_name/ directories:

Module notebooks and scripts:
- 18 modules with .ipynb and .py files (01-20, excluding some gaps)
- Moved from modules/source/ to direct module directories
- Includes tensor, autograd, layers, transformers, optimization modules

Module README files:
- Added README.md for modules with additional documentation
- Complements ABOUT.md files added earlier

This completes the module restructuring:
- Before: modules/source/XX_name/*_dev.{py,ipynb}
- After: modules/XX_name/*_dev.{py,ipynb}

All development happens directly in numbered module directories now.
2025-11-10 19:43:36 -05:00
Vijay Janapa Reddi
d03435c5c3 Update documentation for site/ migration and restructuring
Documentation updates across the codebase:

Root documentation:
- README.md: Updated references from book/ to site/
- CONTRIBUTING.md: Updated build and workflow instructions
- .shared-ai-rules.md: Updated AI assistant rules for new structure

GitHub configuration:
- Issue templates updated for new module locations
- Workflow references updated from book/ to site/

docs/ updates:
- STUDENT_QUICKSTART.md: New paths and structure
- module-rules.md: Updated module development guidelines
- NBGrader documentation: Updated for module restructuring
- Archive documentation: Updated references

Module documentation:
- modules/17_memoization/README.md: Updated after reordering

All documentation now correctly references:
- site/ instead of book/
- modules/XX_name/ instead of modules/source/
2025-11-10 19:42:48 -05:00
Vijay Janapa Reddi
90581b23c0 Update test suite for module restructuring
Updated test imports and paths after modules/source/ removal:
- Progressive integration tests for modules 03, 06, 08, 13, 14
- Checkpoint integration tests
- Module completion orchestrator
- Optimizer integration tests
- Gradient flow regression tests

Updated test documentation:
- tests/README.md with new module paths
- tests/TEST_STRATEGY.md with restructuring notes

All tests now reference modules/XX_name/ instead of modules/source/.
2025-11-10 19:42:23 -05:00
Vijay Janapa Reddi
96880b3133 Update tinytorch and tito with module exports
Re-exported all modules after restructuring:
- Updated _modidx.py with new module locations
- Removed outdated autogeneration headers
- Updated all core modules (tensor, autograd, layers, etc.)
- Updated optimization modules (quantization, compression, etc.)
- Updated TITO commands for new structure

Changes include:
- 24 tinytorch/ module files
- 24 tito/ command and core files
- Updated references from modules/source/ to modules/

All modules re-exported via nbdev from their new locations.
2025-11-10 19:42:03 -05:00
Vijay Janapa Reddi
d25861c68e Remove modules/source/ directory structure
Completed restructuring: modules/source/XX_name/ → modules/XX_name/

All module development files moved to their numbered directories:
- modules/01_tensor/tensor_dev.{py,ipynb}
- modules/02_activations/activations_dev.{py,ipynb}
- ... (modules 03-20)

Removed obsolete source structure:
- modules/source/01_tensor/ through modules/source/20_capstone/
- modules/source/20_competition/ (legacy competition module)
- 43 files total (21 modules × 2 files each + 1 module.yaml)

This simplifies the module structure and makes development files
easier to find alongside their ABOUT.md and README.md files.
2025-11-10 19:41:24 -05:00
Vijay Janapa Reddi
76009e230d Remove book/ directory and old release documentation
Completed migration from book/ to site/:
- All content moved to site/ structure (committed previously)
- GitHub workflows updated to reference site/
- TITO commands updated to use site/

Removed obsolete documentation:
- DECEMBER_2024_RELEASE.md (outdated release checklist)
- RELEASE_CHECKLIST.md (replaced by milestone-based releases)
- STUDENT_VERSION_TOOLING.md (integrated into docs/)

book/ contained 51 files including:
- Jupyter Book configuration (_config.yml, _toc.yml)
- Static assets (logos, favicons, custom CSS)
- Chapter content (00-20, milestones, etc.)
- Build scripts and requirements

All functionality preserved in site/ directory.
2025-11-10 19:40:50 -05:00
Vijay Janapa Reddi
a2e4586f18 Update documentation after module reordering
All module references updated to reflect new ordering:
- Module 15: Quantization (was 16)
- Module 16: Compression (was 17)
- Module 17: Memoization (was 15)

Updated by module-developer and website-manager agents:
- Module ABOUT files with correct numbers and prerequisites
- Cross-references and "What's Next" chains
- Website navigation (_toc.yml) and content
- Learning path progression in LEARNING_PATH.md
- Profile milestone completion message (Module 17)

Pedagogical flow now: Profile → Quantize → Prune → Cache → Accelerate
2025-11-10 19:37:41 -05:00
Vijay Janapa Reddi
a71e0eded5 Reorder modules for better pedagogical flow
Moved memoization (KV-cache) after compression to align with optimization tier milestones.

Changes:
- Module 15: Quantization (was 16)
- Module 16: Compression (was 17)
- Module 17: Memoization (was 15)

Pedagogical Rationale:
This creates clear alignment with the optimization milestone structure:
  - M06 (Profiling): Module 14
  - M07 (Compression): Modules 15-16 (Quantization + Compression)
  - M08 (Acceleration): Modules 17-18 (Memoization/KV-cache + Acceleration)

Before: Students learned KV-cache before understanding why models are slow
After: Students profile → compress → then optimize with KV-cache

Updated milestone reference in profile_kv_cache.py: Module 15 → Module 17
2025-11-10 19:29:10 -05:00
Vijay Janapa Reddi
f099730723 Increase TinyDigits to 1000 samples following Karpathy's philosophy
You were right - 150 samples was too small for decent accuracy.
Following Andrej Karpathy's "~1000 samples" educational dataset philosophy.

Results:
- Before (150 samples): 19% test accuracy (too small!)
- After (1000 samples): 79.5% test accuracy (decent!)

Changes:
- Increased training: 150 → 1000 samples (100 per digit class)
- Increased test: 47 → 200 samples (20 per digit class)
- Perfect class balance: 0.00 std deviation
- File size: 51 KB → 310 KB (still tiny for USB stick)
- Training time: ~3-5 sec → ~8-10 sec (still fast)

Updated:
- create_tinydigits.py: Load from sklearn, generate 1K samples
- train.pkl: 258 KB (1000 samples, perfectly balanced)
- test.pkl: 52 KB (200 samples, balanced)
- README.md: Updated all documentation with new sizes
- mlp_digits.py: Updated docstring to reflect 1K dataset

Dataset Philosophy:
"~1000 samples is the sweet spot for educational datasets"
- Small enough: Trains in seconds on CPU
- Large enough: Achieves decent accuracy (~80%)
- Balanced: Perfect stratification across all classes
- Reproducible: Fixed seed=42 for consistency

Still perfect for TinyTorch-on-a-stick vision:
- 310 KB fits on any USB drive
- Works on RasPi0
- No downloads needed
- Offline-first education
2025-11-10 17:20:54 -05:00
Vijay Janapa Reddi
89c9e0dd7e Create TinyDigits educational dataset for self-contained TinyTorch
Replaces sklearn-sourced digits_8x8.npz with TinyTorch-branded dataset.

Changes:
- Created datasets/tinydigits/ (~51KB total)
  - train.pkl: 150 samples (15 per digit class 0-9)
  - test.pkl: 47 samples (balanced across digits)
  - README.md: Full curation documentation
  - LICENSE: BSD 3-Clause with sklearn attribution
  - create_tinydigits.py: Reproducible generation script

- Updated milestones to use TinyDigits:
  - mlp_digits.py: Now loads from datasets/tinydigits/
  - cnn_digits.py: Now loads from datasets/tinydigits/

- Removed old data:
  - datasets/tiny/ (67KB sklearn duplicate)
  - milestones/03_1986_mlp/data/ (67KB old location)

Dataset Strategy:
TinyTorch now ships with only 2 curated datasets:
1. TinyDigits (51KB) - 8x8 digits for MLP/CNN milestones
2. TinyTalks (140KB) - Q&A pairs for transformer milestone

Total: 191KB shipped data (perfect for RasPi0 deployment)

Rationale:
- Self-contained: No downloads, works offline
- Citable: TinyTorch educational infrastructure for white paper
- Portable: Tiny footprint enables edge device deployment
- Fast: <5 sec training enables instant student feedback

Updated .gitignore to allow TinyTorch curated datasets while
still blocking downloaded large datasets.
2025-11-10 16:59:43 -05:00
Vijay Janapa Reddi
1a0d9fe7b3 Remove outdated milestone README files
Deleted 5 README/documentation files with stale information:
- 01_1957_perceptron/README.md
- 02_1969_xor/README.md
- 03_1986_mlp/README.md
- 04_1998_cnn/README.md
- 05_2017_transformer/PERFORMANCE_METRICS_DEMO.md

Issues with these files:
- Wrong file names (rosenblatt_perceptron.py, train_mlp.py, train_cnn.py)
- Old paths (examples/datasets/)
- Duplicate content (already in Python file docstrings)
- Could not be kept in sync with code

Documentation now lives exclusively in comprehensive Python docstrings
at the top of each milestone file, ensuring it stays accurate and
students see rich context when running files.
2025-11-10 16:12:26 -05:00
Vijay Janapa Reddi
95f50c7ac1 Remove Shakespeare transformer milestone
Deleted vaswani_shakespeare.py and get_shakespeare() from data_manager:
- 45-60 minute training time (too slow for educational demos)
- Required external download from Karpathy's char-rnn repo
- Replaced by faster TinyTalks ChatGPT milestone (3-5 min training)

Primary transformer milestone is now vaswani_chatgpt.py:
- Uses TinyTalks Q&A dataset (already in repo)
- Fast training with clear learning signal (Q&A format)
- Better pedagogical value (students see transformer learn to chat)
2025-11-10 16:12:06 -05:00
Vijay Janapa Reddi
ad69d816b5 Update milestone template with simple Rich UI patterns
Replaced dashboard-based template with direct Rich UI examples:
- Removed MilestoneRunner/dashboard imports
- Added simple Rich Console, Panel, Table patterns
- Shows clean milestone structure with educational narrative
- Demonstrates proper separation: ML code vs display code

Template now guides creating self-contained milestones with
comprehensive docstrings instead of relying on external systems.
2025-11-10 16:12:04 -05:00
Vijay Janapa Reddi
a3e1249687 Remove milestone dashboard system
Removed achievement/gamification system that was unused:
- milestone_dashboard.py (620+ lines, only 1 file used it)
- .milestone_progress.json (progress tracking data)
- perceptron_trained_v2.py (only dashboard user, duplicate of perceptron_trained.py)

Rationale:
- Dashboard was used by only 1 of 15 milestone files
- Milestones are educational stories, not standardized tests
- Achievement badges felt gimmicky for ML systems learning
- Custom Rich UI in each file is clearer and more educational
- Reduces dependencies (removed psutil system monitoring)
2025-11-10 16:12:03 -05:00
Vijay Janapa Reddi
d25d92d628 Add milestone dashboard utility
Provides standardized dashboard system for milestone demonstrations with live metrics, progress tracking, and achievement system
2025-11-10 10:38:02 -05:00
Vijay Janapa Reddi
0690b714f8 Clean up gitignore patterns to be more specific
- Remove overly broad patterns (*_ANALYSIS.md, *_AUDIT.md)
- Make report patterns more specific (MODULE_REVIEW_REPORT_*.md)
- Add clear comments explaining why directories are ignored
- Keep dataset ignores (data/, datasets/) as they are downloaded files
2025-11-10 10:24:06 -05:00
Vijay Janapa Reddi
4c7d81c97b Update gitignore to exclude datasets and temporary reports
Add patterns for data directories and module review reports
2025-11-10 10:19:28 -05:00
Vijay Janapa Reddi
064b93869f Remove AI assistant section from README
Keep README focused on project information for users and developers
2025-11-10 07:46:45 -05:00
Vijay Janapa Reddi
87ce4b5703 Add AI assistant rules reference to main README
Point developers and AI assistants to shared rules file
2025-11-10 07:32:10 -05:00
Vijay Janapa Reddi
4ecfcc7ac8 Add shared AI assistant rules for all tools
Create comprehensive guidelines for git commits, code quality, testing, and development workflow that apply to Cursor, Claude, and any other AI assistants
2025-11-10 07:31:18 -05:00
Vijay Janapa Reddi
caca0e3903 Fix Module 16 quantization syntax and imports
Fix misplaced triple-quote causing syntax error and add Sequential import
2025-11-10 07:30:40 -05:00
Vijay Janapa Reddi
cf3cb87bd4 Fix Module 15 memoization: Add optional mask parameter to MockTransformerBlock forward method 2025-11-10 07:26:11 -05:00