mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-04-29 15:22:54 -05:00
- 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
155 lines
5.5 KiB
Markdown
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!**
|
|
|