Commit Graph
20 Commits
Author SHA1 Message Date
Vijay Janapa Reddi 8a101cf52d Add tito grade command for simplified NBGrader interface
Implement comprehensive grading workflow wrapped behind tito CLI:
• tito grade setup - Initialize NBGrader course structure
• tito grade generate - Create instructor version with solutions
• tito grade release - Create student version without solutions
• tito grade collect - Collect student submissions
• tito grade autograde - Automatically grade submissions
• tito grade manual - Open manual grading interface
• tito grade feedback - Generate student feedback
• tito grade export - Export grades to CSV

This allows users to only learn tito commands without needing to
understand NBGrader's complex interface. All grading functionality
is accessible through simple, consistent tito commands.
2025-09-17 19:22:02 -04:00
Vijay Janapa Reddi d04d66a716 Implement interactive ML Systems questions and standardize module structure
Major Educational Framework Enhancements:
• Deploy interactive NBGrader text response questions across ALL modules
• Replace passive question lists with active 150-300 word student responses
• Enable comprehensive ML Systems learning assessment and grading

TinyGPT Integration (Module 16):
• Complete TinyGPT implementation showing 70% component reuse from TinyTorch
• Demonstrates vision-to-language framework generalization principles
• Full transformer architecture with attention, tokenization, and generation
• Shakespeare demo showing autoregressive text generation capabilities

Module Structure Standardization:
• Fix section ordering across all modules: Tests → Questions → Summary
• Ensure Module Summary is always the final section for consistency
• Standardize comprehensive testing patterns before educational content

Interactive Question Implementation:
• 3 focused questions per module replacing 10-15 passive questions
• NBGrader integration with manual grading workflow for text responses
• Questions target ML Systems thinking: scaling, deployment, optimization
• Cumulative knowledge building across the 16-module progression

Technical Infrastructure:
• TPM agent for coordinated multi-agent development workflows
• Enhanced documentation with pedagogical design principles
• Updated book structure to include TinyGPT as capstone demonstration
• Comprehensive QA validation of all module structures

Framework Design Insights:
• Mathematical unity: Dense layers power both vision and language models
• Attention as key innovation for sequential relationship modeling
• Production-ready patterns: training loops, optimization, evaluation
• System-level thinking: memory, performance, scaling considerations

Educational Impact:
• Transform passive learning to active engagement through written responses
• Enable instructors to assess deep ML Systems understanding
• Provide clear progression from foundations to complete language models
• Demonstrate real-world framework design principles and trade-offs
2025-09-17 14:42:24 -04:00
Vijay Janapa Reddi 719507bb8f Standardize NBGrader formatting and fix test execution patterns across all modules
This comprehensive update ensures all TinyTorch modules follow consistent NBGrader
formatting guidelines and proper Python module structure:

- Fix test execution patterns: All test calls now wrapped in if __name__ == "__main__" blocks
- Add ML Systems Thinking Questions to modules missing them
- Standardize NBGrader formatting (BEGIN/END SOLUTION blocks, STEP-BY-STEP, etc.)
- Remove unused imports across all modules
- Fix syntax errors (apostrophes, special characters)
- Ensure modules can be imported without running tests

Affected modules: All 17 development modules (00-16)
Agent workflow: Module Developer → QA Agent → Package Manager coordination
Testing: Comprehensive QA validation completed
2025-09-16 19:48:54 -04:00
Vijay Janapa Reddi 78fec04f1b Resolve merge conflicts in capstone module - use consistent test execution pattern 2025-09-16 01:43:19 -04:00
Vijay Janapa Reddi d9f28d7418 Add ML systems content to Module 13 (Kernels) - 70% implementation
- Added KernelOptimizationProfiler class with CUDA performance analysis
- Implemented memory coalescing and warp divergence analysis
- Added tensor core utilization and kernel fusion detection
- Included multi-GPU scaling patterns and optimization
- Added comprehensive ML systems thinking questions
2025-09-16 01:02:20 -04:00
Vijay Janapa Reddi 34a59e2064 Fix module test execution issues
- Fixed test functions to only run when modules executed directly
- Added proper __name__ == '__main__' guards to all test calls
- Fixed syntax errors from incorrect replacements in Module 13 and 15
- Modules now import properly without executing tests
- ProductionBenchmarkingProfiler (Module 14) and ProductionMLSystemProfiler (Module 16) fully working
- Other profiler classes present but require full numpy environment to test completely
2025-09-16 00:17:32 -04:00
Vijay Janapa Reddi 36edc9f441 Add ML systems content to Module 13 (Kernels) - 70% implementation
- Added KernelOptimizationProfiler class with CUDA performance analysis
- Implemented memory coalescing and warp divergence analysis
- Added tensor core utilization and kernel fusion detection
- Included multi-GPU scaling patterns and optimization
- Added comprehensive ML systems thinking questions
2025-09-15 23:52:59 -04:00
Vijay Janapa Reddi 9ae1292e9d Removes development headers
Removes development headers from several files.

These headers were used during the development process and are no longer needed.
2025-07-20 17:41:57 -04:00
Vijay Janapa Reddi 3427be8780 Add section organization to 13_kernels module: Add DEVELOPMENT section header
- Insert ## 🔧 DEVELOPMENT header before first test function
- Organizes module according to educational structure guidelines
- Maintains all existing functionality and test execution
- Improves readability and navigation for educational use
2025-07-20 17:29:39 -04:00
Vijay Janapa Reddi cc9cdee97d Deprecate AUTO TESTING: Remove run_module_tests_auto from all _dev.py modules. Standardize on full-module test execution for reliable, context-aware testing. 2025-07-20 13:28:10 -04:00
Vijay Janapa Reddi 98a7228bf5 Removes development headers from notebooks
Removes redundant "DEVELOPMENT" headers from several notebook files.

These headers are no longer necessary and declutter the notebook content, improving readability and focus on the core content and testing sections.
2025-07-20 12:39:21 -04:00
Vijay Janapa Reddi bd852ef015 Standardize section headers for 13_kernels module 2025-07-20 12:31:42 -04:00
Vijay Janapa Reddi 6a483d713c Replace manual test calls with automatic discovery 2025-07-20 12:19:49 -04:00
Vijay Janapa Reddi f2713f0fef 🧪 Fix test function name mismatches in 13_kernels module
- Fixed test_matmul_baseline() → test_unit_matmul_baseline()
- Fixed test_vectorized_operations() → test_unit_vectorized_operations()
- Fixed test_cache_friendly_matmul() → test_unit_cache_friendly_matmul()
- Fixed test_parallel_processing() → test_unit_parallel_processing()
- Fixed test_simple_kernel_timing() → test_unit_simple_kernel_timing()
- Fixed test_compressed_kernels() → test_unit_compressed_kernels()

Ensures correct function names are called to match their definitions.
2025-07-20 10:40:21 -04:00
Vijay Janapa Reddi c8e0cf6b76 Add structural organization headers to 13_kernels module
- Added ## 🔧 DEVELOPMENT section before Step 1 where development begins
- Added ## 🤖 AUTO TESTING section before nbgrader block
- Updated to ## 🎯 MODULE SUMMARY: Hardware-Optimized Operations

Improves notebook organization without changing any code logic or content.
2025-07-20 10:09:46 -04:00
Vijay Janapa Reddi 4e28bbc6ff Fix 13_kernels: Move integration test BEFORE testing, clean structure
CORRECTED PATTERN NOW:
1.  Integration test (test_module_kernel_sequential_model) - BEFORE ## 🧪 Module Testing
2.  ## 🧪 Module Testing (markdown section)
3.  STANDARDIZED MODULE TESTING (nbgrader cell)
4.  if __name__ == '__main__' block with run_module_tests_auto
5.  ## 🎯 Module Summary (immediately after, no code between)

FIXES APPLIED:
 Moved integration test function from AFTER testing section to BEFORE it
 Removed duplicate integration test function and markdown section
 Added integration test to the if __name__ == '__main__' block
 Clean STANDARDIZED MODULE TESTING structure

Module 13_kernels now follows the exact pattern
2025-07-20 09:45:38 -04:00
Vijay Janapa Reddi 35bf079749 🧹 Remove backup files - Clean repository maintenance
- Delete 8 *_backup.py files from modules/source directories
- Remove tito/commands/test.py.backup file
- Eliminates obsolete backup files from version control
- Keeps repository clean and focused on current implementations
- Reduces repository size and improves maintainability

Removed files:
- modules/source/02_tensor/tensor_dev_backup.py
- modules/source/03_activations/activations_dev_backup.py
- modules/source/04_layers/layers_dev_backup.py
- modules/source/05_dense/dense_dev_backup.py
- modules/source/06_spatial/spatial_dev_backup.py
- modules/source/08_dataloader/dataloader_dev_backup.py
- modules/source/09_autograd/autograd_dev_backup.py
- modules/source/13_kernels/kernels_dev_backup.py
- tito/commands/test.py.backup
2025-07-20 08:42:59 -04:00
Vijay Janapa Reddi 771ed98a80 🧹 Remove Jupyter notebooks from modules/source - Python-first workflow
- Delete all 15 .ipynb files from modules/source directories
- Align with TinyTorch's Python-first development philosophy
- .py files are the source of truth, .ipynb files are temporary outputs
- Prevents version control conflicts with notebook metadata
- Students work directly with .py files using Jupytext format
- Notebooks can be regenerated when needed via 'tito nbdev generate'

Removed files:
- All *_dev.ipynb files across modules 01-15
- Keeps repository clean and focused on source code
2025-07-20 08:41:26 -04:00
Vijay Janapa Reddi f77db43975 Production: Standardize test naming in optimization and deployment modules
- Compression: test_compression_metrics → test_unit_compression_metrics
- Compression: test_magnitude_pruning → test_unit_magnitude_pruning
- Compression: test_quantization → test_unit_quantization
- Compression: test_distillation → test_unit_distillation
- Compression: test_structured_pruning → test_unit_structured_pruning
- Compression: test_comprehensive_comparison → test_unit_comprehensive_comparison
- Kernels: All test_* → test_unit_* except test_kernel_integration_* → test_module_*
- Benchmarking: All test_* → test_unit_* except test_comprehensive_* → test_module_*
- MLOps: All test_* → test_unit_* except test_comprehensive_integration → test_module_*
- Finalizes test naming standardization across production-ready modules
2025-07-20 08:39:27 -04:00
Vijay Janapa Reddi 59d58718f9 refactor: Implement learner-focused module progression with better naming
 Renamed modules for clearer pedagogical flow:
- 05_networks → 05_dense (multi-layer dense/fully connected networks)
- 06_cnn → 06_spatial (convolutional networks for spatial patterns)
- 06_attention → 07_attention (attention mechanisms for sequences)

 Shifted remaining modules down by 1:
- 07_dataloader → 08_dataloader
- 08_autograd → 09_autograd
- 09_optimizers → 10_optimizers
- 10_training → 11_training
- 11_compression → 12_compression
- 12_kernels → 13_kernels
- 13_benchmarking → 14_benchmarking
- 14_mlops → 15_mlops
- 15_capstone → 16_capstone

 Updated module metadata (module.yaml files):
- Updated names, descriptions, dependencies
- Fixed prerequisite chains and enables relationships
- Updated export paths to match new names

New learner progression:
Foundation → Individual Layers → Dense Networks → Spatial Networks → Attention Networks → Training Pipeline

Perfect pedagogical flow: Build one layer → Stack dense layers → Add spatial patterns → Add attention mechanisms → Learn to train them all.
2025-07-18 00:12:50 -04:00