Complete capstone competition implementation:
- Two division tracks: Closed (optimize) and Open (innovate)
- Baseline CNN model for CIFAR-10
- Validation and submission generation system
- Integration with Module 19 normalized scoring
- Honor code and GitHub repo submission workflow
- Worked examples and student templates
Module 20 is now a pedagogically sound capstone that applies
all Optimization Tier techniques in a fair competition format.
Enhancements to benchmarking module:
- Added calculate_normalized_scores() for fair hardware comparison
- Implemented speedup, compression ratio, accuracy delta metrics
- Added MLPerf principles section to educational content
- Updated module to support competition fairness
These changes enable Module 20 competition to work across different hardware.
Changes:
- Module 09: 'Spatial' → 'Spatial (CNNs)' in TOC for clarity
- Module 20: 'TinyMLPerf' → 'MLPerfEdu' to avoid confusion
* TinyMLPerf is a real benchmark for edge devices
* MLPerfEdu clearly indicates educational competition
* More accurate descriptor for this capstone
- Fixed 'Performance Tier' → 'Optimization Tier' in Module 20 objectives
Better naming makes the course structure clearer for students.
Changed tier badge text for modules 15-19 to match TOC naming:
- Was: **⚡ PERFORMANCE TIER**
- Now: **⚡ OPTIMIZATION TIER**
Ensures consistency between TOC and chapter badges.
All Foundation Tier modules (01-07) now use consistent formatting:
- Standard tier badge: **🏗️ FOUNDATION TIER** | Difficulty | Time
- Removed HTML divs and Module Info sections
- Clean Overview sections
- Consistent structure across all modules
Fixed Module 04 (Losses) which had wrong content (was about Networks)
KV Caching (Module 14) is about how transformers work efficiently,
not pure performance optimization. Moving it to Intelligence Tier.
Changes:
- Updated TOC: Intelligence Tier now 08-14 (was 08-13)
- Updated TOC: Optimization Tier now 15-19 (was 14-19)
- Changed Module 14 badge from PERFORMANCE to INTELLIGENCE
Cleaned up temporary files created during website standardization work:
- FINAL_STATUS.md, WEBSITE_USER_FEEDBACK.md, WORK_COMPLETE_README.md
- book/CONTENT_IMPROVEMENTS.md
- Tier overview placeholder files (content integrated into TOC structure)
These were working documents and are no longer needed.
Foundation Tier modules updated to final standardized version:
- Consistent YAML frontmatter with all metadata
- FOUNDATION tier badges throughout
- Professional tone with minimal emojis
- Complete learning objectives and systems thinking questions
- Real-world connections to production systems
TOC structure improvements:
- Clean 3-tier organization (Foundation, Intelligence, Performance)
- Proper tier captions and ordering
- All 20 modules properly integrated
- Capstone section clearly marked
- Add complete YAML frontmatter with metadata
- Add CAPSTONE badge with 5-star (Ninja) difficulty
- Standardize to exactly 5 learning objectives
- Implement competition structure with Closed/Open divisions
- Add comprehensive submission guidelines and validation
- Include normalized metrics for fair hardware comparison
- Add honor code and GitHub repo requirements
- Provide example optimizations at different skill levels
- Add Systems Thinking Questions on optimization priorities
- Connect to real MLPerf and industry applications
- Professional tone throughout
- Mark completion of all 20 modules!
- Add complete YAML frontmatter with metadata
- Add PERFORMANCE tier badge
- Standardize to exactly 5 learning objectives
- Implement Build → Use → Optimize pedagogical pattern
- Add Why This Matters with Google/OpenAI production context
- Add comprehensive Implementation Guide with Timer, MemoryProfiler, FLOPCounter
- Add Systems Thinking Questions on Amdahls Law and bottlenecks
- Add Real-World Connections to TPU optimization and inference serving
- Reduce emoji usage for professional tone
- Add clear What's Next navigation to Module 16
- Add complete YAML frontmatter with metadata
- Add PERFORMANCE tier badge (first Performance Tier module)
- Standardize to exactly 5 learning objectives
- Implement Build → Use → Optimize pedagogical pattern
- Add Why This Matters with ChatGPT/Claude production context
- Add historical evolution of caching in transformers
- Add comprehensive Implementation Guide with cache structures and cached attention
- Add Systems Thinking Questions on memory-speed trade-offs
- Add Real-World Connections to conversational AI and code completion
- Reduce emoji usage for professional tone
- Add clear What's Next navigation to Module 15
- Add complete YAML frontmatter with metadata
- Add INTELLIGENCE tier badge
- Standardize to exactly 5 learning objectives
- Implement Build → Use → Analyze pedagogical pattern
- Add Why This Matters with GPT-4/BERT/AlphaFold production context
- Add historical context from RNNs to Transformers revolution
- Add comprehensive Implementation Guide with scaled dot-product and multi-head attention code
- Add Systems Thinking Questions on O(n²) complexity and multi-head benefits
- Add Real-World Connections to LLMs, translation, and vision transformers
- Reduce emoji usage for professional tone
- Add clear What's Next navigation to Module 13
- Add complete YAML frontmatter with metadata
- Add INTELLIGENCE tier badge
- Standardize to exactly 5 learning objectives
- Implement Build → Use → Analyze pedagogical pattern
- Add Why This Matters with GPT-3/BERT production context
- Add historical evolution from Word2Vec to contextual embeddings
- Add comprehensive Implementation Guide with lookup tables and positional encodings
- Add Systems Thinking Questions on memory scaling and sparse gradients
- Add Real-World Connections to LLMs and recommendation systems
- Reduce emoji usage for professional tone
- Add clear What's Next navigation to Module 12
- Add complete YAML frontmatter with metadata
- Add INTELLIGENCE tier badge
- Standardize to exactly 5 learning objectives
- Implement Build → Use → Analyze pedagogical pattern
- Add Why This Matters with OpenAI/Google production context
- Add historical evolution from word-level to BPE
- Add comprehensive Implementation Guide with CharTokenizer and BPE code
- Add Systems Thinking Questions on vocab size vs sequence length trade-offs
- Add Real-World Connections to GPT, BERT, and code models
- Reduce emoji usage for professional tone
- Add clear What's Next navigation to Module 11
- Add complete YAML frontmatter with metadata
- Add INTELLIGENCE tier badge
- Standardize to exactly 5 learning objectives (systems/implementation/patterns/framework/optimization)
- Implement Build → Use → Analyze pedagogical pattern
- Add Why This Matters with production context (Tesla, Meta, medical imaging)
- Add historical context (LeNet to ResNet evolution)
- Add detailed Implementation Guide with Conv2D and pooling code
- Add Systems Thinking Questions on parameter efficiency and hierarchical features
- Add Real-World Connections to autonomous vehicles and medical imaging
- Reduce emoji usage for professional tone
- Add clear What's Next navigation to Module 10
- Complete task breakdown and statistics
- Review checklist for user
- Clear next steps and options
- Quick start commands for review
- Time investment summary
- Comprehensive summary of all improvements
- Quick quality check commands
- Clear next steps and options
- Explanation of design decisions
- Success metrics and statistics
- Analyze all improvements from user perspective
- Assess quality, consistency, and best practices
- Provide recommendations for next steps
- Review emoji reduction and professionalism
- Evaluate commit quality and structure
- Rate overall quality as Excellent (9/10)
- Add tier overview pages at start of each tier
- Update tier captions to be descriptive and professional
- Remove excessive emoji usage from captions
- Fix Performance Tier naming (was Optimization)
- Fix Module 20 title (TinyMLPerf Competition)
- Add leaderboard to Community section
- Create tier-2-intelligence.md (Modules 08-13)
- Create tier-3-performance.md (Modules 14-19)
- Professional tone with clear module roadmaps
- Link to tier milestones and prerequisites
- Consistent structure across all three tier pages
- Add Foundation Tier badge and complete metadata
- Implement complete training loops with validation
- Add checkpointing and metrics tracking
- Explain training dynamics and debugging
- Mark Foundation Tier completion with milestone unlock
- Link to Intelligence Tier (Module 08)
- Add Foundation Tier badge and complete metadata
- Implement SGD, Momentum, and Adam optimizers
- Explain adaptive learning rates and momentum
- Add memory analysis (Adam uses 2x parameter memory)
- Link to Training module next
- Add Foundation Tier badge and complete metadata
- Reduce emoji usage for professional tone
- Explain computational graphs and chain rule clearly
- Add backward pass implementation details
- Add systems thinking on memory overhead
- Link to Optimizers module next
- Correct module content to Loss Functions (MSE, Cross-Entropy, BCE)
- Add Foundation Tier badge and complete metadata
- Add numerical stability explanations
- Add systems thinking questions
- Link to Autograd module next
- Add Foundation Tier badge and complete metadata
- Reduce emoji usage for professional tone
- Add Xavier initialization explanation
- Add systems thinking questions
- Add parameter management details
- Link to next module (Losses)
- Create CONTENT_IMPROVEMENTS.md with professional content standards
- Focus on consistency, reduced emoji usage, systems thinking
- Define implementation phases and module template structure
Removed commands:
- tito module (start/complete/resume) - students just open files
- tito notebooks - redundant with export
Students now have a simpler workflow
Issue: Had two conflicting submit commands:
- tito submit (competition submission - top level)
- tito community submit (social sharing - hierarchical)
Solution:
- Renamed 'tito community submit' to 'tito community share'
- Kept 'submit' as an alias for backward compatibility
- Updated all help text and documentation references
- Changed function name from _submit_results to _share_results
Clear separation now:
- tito community share = Social progress sharing (Modules 1-19)
- tito submit = Competition submission (Module 20)
No more confusion between the two workflows
New submit command:
- Validates TinyMLPerf competition submissions from Module 20
- Performs sanity checks on speedup, compression, and accuracy
- Displays MLPerf-style scorecard with normalized metrics
- Collects GitHub repo for verification
- Confirms honor code agreement
- Generates submission_final.json ready for upload
Rename leaderboard to community:
- Renamed LeaderboardCommand to CommunityCommand
- Changed command name from 'leaderboard' to 'community'
- Updated all help text and documentation
- More inclusive naming that emphasizes collaboration over competition
- Maintains all existing functionality (join, submit, view, profile, etc.)
CLI registration:
- Added CommunityCommand and SubmitCommand to command registry
- Updated main.py help text and command list
- Updated __init__.py exports
Student workflow now complete:
1. Modules 1-19: Learn and build
2. Optional: tito community join/submit (share progress)
3. Module 20: Generate submission.json
4. tito submit submission.json (validate and finalize)
5. Upload to instructor/platform
- Import calculate_normalized_scores from Module 19 for fair comparison
- Implement validate_submission() with sanity checks for submissions
- Check for reasonable speedup (<50x), compression (<32x), accuracy preservation
- Verify GitHub repo and required fields are present
- Update generate_submission() to use normalized MLPerf-style scoring
- Add division parameter for Closed/Open Division tracking
- Include github_repo and honor_code fields in submission
- Display normalized scores: speedup, compression ratio, accuracy delta
- Guide students to use 'tito submit' for final submission workflow
- Add Section 4.5: Normalized Metrics - Fair Comparison Across Different Hardware
- Implement calculate_normalized_scores() function for MLPerf-style relative metrics
- Calculate speedup, compression ratio, accuracy delta, and efficiency score
- Add comprehensive unit tests for normalized scoring
- Ensures fairness across different hardware by measuring relative improvements
- Prepares students for Module 20 TinyMLPerf competition submissions
- Updated module title to TorchPerf Olympics Preparation
- Added OlympicEvent enum with 5 competition categories
- Removed meta-analysis sections (532 lines)
- Added section 4.5 on combination strategies and ablation studies
- Updated documentation to explain Olympic events and optimization order
- Module teaches benchmarking principles while preparing students for capstone
- Updated all imports: ProfilerComplete → Profiler
- Updated Module 16: Uses Profiler for acceleration demos
- Updated Module 19: Uses Profiler in Benchmark class
- Updated all comments and docstrings
- Simpler, more professional naming (no awkward Complete suffix)
- Added import: from tinytorch.profiling.profiler import ProfilerComplete
- Benchmark class now initializes self.profiler = ProfilerComplete()
- run_latency_benchmark() uses profiler.measure_latency()
- run_memory_benchmark() uses profiler.measure_memory() and profiler.count_parameters()
- Updated architecture diagram to show ProfilerComplete as foundation
- Added pedagogical note explaining build-once-reuse-everywhere principle
Benefits:
- Eliminates code duplication between M15 and M19
- Shows proper systems architecture (composition/reuse)
- Students see ProfilerComplete tool evolving and being reused
- Clear separation: Profiler=measure, Benchmark=compare
- Removed SimpleOptimizer class (unused after mixed precision removal)
- Replaced trainer.train_step() test with simple forward pass test
- Test now validates accelerated operations without mixed precision
- Checks numerical correctness and reasonable output values