Files
TinyTorch/docs/EXPERT_FEEDBACK_REQUEST.md
Vijay Janapa Reddi 97e0563614 Add community and benchmark features with baseline validation
- Implement tito benchmark baseline and capstone commands
- Add SPEC-style normalization for baseline benchmarks
- Implement tito community join, update, leave, stats, profile commands
- Use project-local storage (.tinytorch/) for user data
- Add privacy-by-design with explicit consent prompts
- Update site documentation for community and benchmark features
- Add Marimo integration for online notebooks
- Clean up redundant milestone setup exploration docs
- Finalize baseline design: fast setup validation (~1 second) with normalized results
2025-11-20 00:17:21 -05:00

155 lines
5.5 KiB
Markdown

# Expert Feedback Request: Community & Benchmark Features
**TinyTorch** - Educational ML Systems Framework
We're building community and benchmark features for TinyTorch, an educational framework where students build ML components from scratch. Seeking feedback from TensorFlow/PyTorch community experts and educational ML framework developers.
## Context
We're building **TinyTorch**, an educational ML systems framework where students build ML components from scratch (tensors, autograd, optimizers, CNNs, transformers, etc.). We're implementing community and benchmark features to create a "Hello World" user journey where students feel part of a global cohort.
**Key Question**: Is our design approach appropriate for an educational framework? What would you recommend?
## Our Design
### 1. Storage Approach
- **Project-local storage** (`.tinytorch/` in project root, not `~/.tinytorch/`)
- Rationale: Version control friendly, project-specific, portable
- **Question**: Is this the right approach? Should we use home directory instead?
### 2. Privacy Model
- **Anonymous UUIDs** for all users
- **All fields optional** (country, institution, course type, experience)
- **Local-first**: Data stored locally, website sync opt-in
- **Question**: Is this privacy model appropriate for students? Any concerns?
### 3. Community Features
- **Join/Leave/Update** commands for community profile
- **Cohort identification** (Fall 2024, Spring 2025, institution-based)
- **Progress tracking** (milestones, modules, capstone score)
- **No rankings** (educational focus, not competitive)
- **Question**: Does this support learning without unhealthy competition? Missing features?
### 4. Benchmark Commands
- **Baseline benchmark**: Quick setup validation ("Hello World" moment)
- **Capstone benchmark**: Full performance evaluation after Module 20
- **Auto-submit prompt**: After benchmarks, asks if user wants to submit
- **Question**: Are these benchmark types appropriate? Should we add more?
### 5. Website Integration
- **Stubs for future API**: Commands work locally, ready for website sync
- **Configuration-based**: Enable/disable website integration via config
- **Question**: Is this stub pattern correct? Better approaches?
## Specific Questions
### For TensorFlow/PyTorch Community Experts
1. **Storage Location**:
- We use project-local `.tinytorch/` directory. Is this appropriate for an educational framework?
- Should we consider home directory (`~/.tinytorch/`) instead?
- What do TensorFlow/PyTorch educational tools use?
2. **Privacy & Data Collection**:
- We collect: country, institution, course type, experience level (all optional)
- Anonymous UUIDs, no personal names
- Is this appropriate for students? Any privacy concerns?
- What data should we collect/avoid?
3. **Community Design**:
- Focus on cohort feeling, not competition
- No rankings, just progress tracking
- Is this the right approach for education?
- Should we add competitive features (opt-in)?
4. **Benchmark Design**:
- Baseline (setup validation) + Capstone (full evaluation)
- Should we add more benchmark types?
- How should we handle different hardware/performance?
5. **Website Integration**:
- Local-first with stubs for future API
- Is this pattern correct?
- Should we use a different approach?
6. **Scalability**:
- Will this design scale to thousands of students?
- What bottlenecks should we anticipate?
- Should we plan for distributed storage?
7. **Educational Best Practices**:
- What features encourage learning without creating unhealthy competition?
- Should we add peer connections, study groups, mentorship?
- What features do successful educational ML frameworks have?
8. **Integration Points**:
- Should we integrate with GitHub, LMS, or other systems?
- What integrations would be most valuable for students?
## Our Implementation
### Commands
- `tito benchmark baseline` - Quick setup validation
- `tito benchmark capstone` - Full Module 20 benchmarks
- `tito community join` - Join community (collects optional info)
- `tito community update` - Update profile
- `tito community leave` - Remove profile
- `tito community stats` - View statistics
- `tito community profile` - View profile
### Data Storage
```
.tinytorch/
├── config.json # Configuration
├── community/
│ └── profile.json # User profile
└── submissions/ # Benchmark submissions
```
### Profile Structure
```json
{
"anonymous_id": "uuid",
"joined_at": "2024-11-20T10:30:00",
"location": {"country": "United States"},
"institution": {"name": "Harvard University"},
"context": {
"course_type": "university",
"experience_level": "intermediate",
"cohort": "Fall 2024"
},
"progress": {
"milestones_passed": 0,
"modules_completed": 0,
"capstone_score": null
}
}
```
## What We're Looking For
**Feedback on**:
1. Design approach (is it right for education?)
2. Privacy model (appropriate for students?)
3. Storage location (project-local vs home?)
4. Feature set (missing anything important?)
5. Scalability (will it work at scale?)
6. Best practices (what should we do differently?)
**Recommendations on**:
1. What features to add/remove
2. How to structure data
3. How to integrate with website
4. How to scale to thousands of students
5. What successful educational frameworks do
## Contact
We'd love to hear from:
- TensorFlow/PyTorch community experts
- Educational ML framework developers
- Anyone with experience building community features for educational tools
**Thank you for your time and expertise!**