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

5.5 KiB

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

{
  "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!