mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-05-01 01:59:32 -05:00
Implements comprehensive demo system showing AI capabilities unlocked by each module export: - 8 progressive demos from tensor math to language generation - Complete tito demo CLI integration with capability matrix - Real AI demonstrations including XOR solving, computer vision, attention mechanisms - Educational explanations connecting implementations to production ML systems Repository reorganization: - demos/ directory with all demo files and comprehensive README - docs/ organized by category (development, nbgrader, user guides) - scripts/ for utility and testing scripts - Clean root directory with only essential files Students can now run 'tito demo' after each module export to see their framework's growing intelligence through hands-on demonstrations.
200 lines
5.0 KiB
Markdown
200 lines
5.0 KiB
Markdown
# 🎓 TinyTorch Student Quickstart Guide
|
||
|
||
Welcome to TinyTorch! You're about to build an ML framework from scratch and understand ML systems engineering.
|
||
|
||
## 🚀 Getting Started (5 minutes)
|
||
|
||
### 1️⃣ **Setup Your Environment**
|
||
```bash
|
||
# Clone the repository
|
||
git clone https://github.com/MLSysBook/TinyTorch.git
|
||
cd TinyTorch
|
||
|
||
# Create virtual environment (MANDATORY)
|
||
python -m venv .venv
|
||
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
||
|
||
# Install dependencies
|
||
pip install -r requirements.txt
|
||
|
||
# Verify setup
|
||
tito system doctor
|
||
```
|
||
|
||
✅ **You should see all green checkmarks!**
|
||
|
||
### 2️⃣ **Start Your First Module**
|
||
```bash
|
||
# View the first module
|
||
tito module view 01_setup
|
||
|
||
# Or open the notebook directly
|
||
jupyter notebook modules/source/01_setup/setup_dev.ipynb
|
||
```
|
||
|
||
## 📚 Learning Path
|
||
|
||
### **Module Progression**
|
||
Each module builds on the previous one:
|
||
|
||
| Module | What You'll Build | Capability Unlocked |
|
||
|--------|------------------|---------------------|
|
||
| 01 Setup | Development environment | Configure TinyTorch |
|
||
| 02 Tensor | Core data structure | Manipulate ML building blocks |
|
||
| 03 Activations | Non-linearity functions | Add intelligence to networks |
|
||
| 04 Layers | Neural network layers | Build network components |
|
||
| 05 Dense | Complete networks | Create multi-layer networks |
|
||
| 06 Spatial | Convolution operations | Process images |
|
||
| 07 Attention | Attention mechanisms | Understand sequences |
|
||
| 08 Dataloader | Data pipelines | Efficient data loading |
|
||
| 09 Autograd | Automatic differentiation | Compute gradients |
|
||
| 10 Optimizers | Training algorithms | Optimize networks |
|
||
| 11 Training | Complete training loops | End-to-end learning |
|
||
| 12 Compression | Model optimization | Deploy efficiently |
|
||
| 13 Kernels | Custom operations | Hardware acceleration |
|
||
| 14 Benchmarking | Performance analysis | Find bottlenecks |
|
||
| 15 MLOps | Production systems | Deploy and monitor |
|
||
| 16 TinyGPT | Language models | Build transformers |
|
||
|
||
## 📝 Interactive Learning
|
||
|
||
### **Answer ML Systems Questions**
|
||
Each module has 3 interactive questions where you write 150-300 word responses:
|
||
|
||
```python
|
||
# %% nbgrader={"grade": true, "grade_id": "ml_systems_q1", ...}
|
||
"""
|
||
YOUR RESPONSE HERE
|
||
|
||
[Write your analysis about memory usage, scaling, or system design]
|
||
"""
|
||
```
|
||
|
||
**Tips for Good Responses:**
|
||
- Reference the actual code you implemented
|
||
- Discuss memory/performance implications
|
||
- Compare to production systems (PyTorch, TensorFlow)
|
||
- Think about scaling to larger models
|
||
|
||
## 🎯 Track Your Progress
|
||
|
||
### **Check Your Capabilities**
|
||
```bash
|
||
# See overall progress
|
||
tito checkpoint status
|
||
|
||
# Visual timeline
|
||
tito checkpoint timeline
|
||
|
||
# Test specific capability
|
||
tito checkpoint test 01
|
||
```
|
||
|
||
### **Complete Modules**
|
||
```bash
|
||
# When you finish a module, validate it
|
||
tito module complete 02_tensor
|
||
|
||
# This will:
|
||
# 1. Export your code to the package
|
||
# 2. Run integration tests
|
||
# 3. Test your capability checkpoint
|
||
```
|
||
|
||
## 💡 Learning Tips
|
||
|
||
### **1. Build First, Understand Through Building**
|
||
Don't just read - type the code, run it, break it, fix it!
|
||
|
||
### **2. Test Immediately**
|
||
After each implementation, run the test right away:
|
||
```python
|
||
# Implementation
|
||
def my_function():
|
||
return result
|
||
|
||
# Test immediately
|
||
assert my_function() == expected
|
||
print("✅ Test passed!")
|
||
```
|
||
|
||
### **3. Think About Systems**
|
||
For every operation, ask:
|
||
- How much memory does this use?
|
||
- What's the time complexity?
|
||
- How would this scale to 1B parameters?
|
||
- What would break in production?
|
||
|
||
### **4. Use the Profiler**
|
||
Many modules include profiling code:
|
||
```python
|
||
with MemoryProfiler() as prof:
|
||
result = operation()
|
||
print(prof.report())
|
||
```
|
||
|
||
## 🆘 Getting Help
|
||
|
||
### **Module Issues**
|
||
```bash
|
||
# Check module status
|
||
tito module status
|
||
|
||
# Run tests for debugging
|
||
tito module test 02_tensor
|
||
|
||
# View detailed errors
|
||
tito module test 02_tensor --verbose
|
||
```
|
||
|
||
### **Environment Issues**
|
||
```bash
|
||
# Full system check
|
||
tito system doctor
|
||
|
||
# Reset if needed
|
||
tito system reset
|
||
```
|
||
|
||
### **Community**
|
||
- GitHub Issues: [Report problems](https://github.com/MLSysBook/TinyTorch/issues)
|
||
- Discussions: Ask questions and share insights
|
||
|
||
## 🏆 Challenge Yourself
|
||
|
||
### **After Each Module**
|
||
1. Run all tests successfully
|
||
2. Answer all ML Systems questions thoughtfully
|
||
3. Pass the capability checkpoint
|
||
4. Try modifying the code and see what breaks
|
||
|
||
### **Final Goal**
|
||
Complete all 16 modules and build TinyGPT - a working language model using the framework you built!
|
||
|
||
## 📊 Submission (For Courses)
|
||
|
||
If you're taking this as a course:
|
||
|
||
### **Submit Your Work**
|
||
```bash
|
||
# Your instructor will provide submission instructions
|
||
# Typically involves pushing to a specific repository
|
||
git add .
|
||
git commit -m "Complete module 02_tensor"
|
||
git push origin main
|
||
```
|
||
|
||
### **Grading**
|
||
Your work is graded on:
|
||
1. **Code Implementation** (auto-graded)
|
||
2. **Test Passing** (auto-graded)
|
||
3. **ML Systems Questions** (manually graded)
|
||
4. **Checkpoint Achievements** (auto-validated)
|
||
|
||
---
|
||
|
||
**Ready to build ML systems from scratch? Start with Module 01! 🚀**
|
||
|
||
```bash
|
||
tito module view 01_setup
|
||
``` |