tinytorch/site/intro.md
<p style="text-align: center; font-size: 2.5rem; margin: 1rem 0 0.5rem 0; font-weight: 700;">
Build Your Own ML Framework
</p>
<p style="text-align: center; margin: 0 0 1rem 0;">
<span style="background: #fef3c7; border: 1px solid #f59e0b; border-radius: 1rem; padding: 0.25rem 0.75rem; font-size: 0.75rem; color: #92400e; font-weight: 600;">π§ Preview Β· Classroom ready 2026</span>
</p>
<style>
.approach-box {
max-width: 720px;
margin: 0 auto 2rem auto;
background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
border-radius: 12px;
padding: 2rem;
border: 1px solid rgba(249, 115, 22, 0.3);
box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.approach-title {
color: #f97316;
font-size: 1.1rem;
font-weight: 600;
margin: 0 0 1rem 0;
text-align: center;
}
.approach-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
.approach-item {
display: flex;
align-items: flex-start;
gap: 0.75rem;
}
.approach-icon {
font-size: 1.25rem;
flex-shrink: 0;
}
.approach-text {
color: #e2e8f0;
font-size: 0.9rem;
line-height: 1.5;
}
.approach-text strong {
color: #fbbf24;
}
@media (max-width: 600px) {
.approach-grid { grid-template-columns: 1fr; }
}
</style>
<div class="approach-box">
<div class="approach-grid">
<div class="approach-item">
<span class="approach-icon">π§</span>
<span class="approach-text"><strong>Build each piece</strong> β Tensors, autograd, attention. No magic imports.</span>
</div>
<div class="approach-item">
<span class="approach-icon">π</span>
<span class="approach-text"><strong>Recreate history</strong> β Perceptron β CNN β Transformers β MLPerf.</span>
</div>
<div class="approach-item">
<span class="approach-icon">β‘</span>
<span class="approach-text"><strong>Understand systems</strong> β Memory, compute, optimization trade-offs.</span>
</div>
<div class="approach-item">
<span class="approach-icon">π―</span>
<span class="approach-text"><strong>Debug anything</strong> β OOM, NaN, slow trainingβbecause you built it.</span>
</div>
</div>
</div>
Walk through ML history by rebuilding its greatest breakthroughs with YOUR TinyTorch implementations. Click each milestone to see what you'll build and how it shaped modern AI.
<div class="ml-timeline-container">
<div class="ml-timeline-line"></div>
<div class="ml-timeline-item left perceptron">
<div class="ml-timeline-dot"></div>
<div class="ml-timeline-content">
<div class="ml-timeline-year">1958</div>
<div class="ml-timeline-title">The Perceptron</div>
<div class="ml-timeline-desc">The first trainable neural network</div>
<div class="ml-timeline-tech">Input β Linear β Sigmoid β Output</div>
</div>
</div>
<div class="ml-timeline-item right xor">
<div class="ml-timeline-dot"></div>
<div class="ml-timeline-content">
<div class="ml-timeline-year">1969</div>
<div class="ml-timeline-title">XOR Crisis</div>
<div class="ml-timeline-desc">Minsky & Papert expose limits of single-layer networks</div>
<div class="ml-timeline-tech">Input β Linear β Sigmoid β FAIL!</div>
</div>
</div>
<div class="ml-timeline-item left mlp">
<div class="ml-timeline-dot"></div>
<div class="ml-timeline-content">
<div class="ml-timeline-year">1986</div>
<div class="ml-timeline-title">MLP Revival</div>
<div class="ml-timeline-desc">Backpropagation enables deep learning (95%+ MNIST)</div>
<div class="ml-timeline-tech">Images β Flatten β Linear β ... β Classes</div>
</div>
</div>
<div class="ml-timeline-item right cnn">
<div class="ml-timeline-dot"></div>
<div class="ml-timeline-content">
<div class="ml-timeline-year">1998</div>
<div class="ml-timeline-title">CNN Revolution π―</div>
<div class="ml-timeline-desc">Spatial intelligence unlocks computer vision (75%+ CIFAR-10)</div>
<div class="ml-timeline-tech">Images β Conv β Pool β ... β Classes</div>
</div>
</div>
<div class="ml-timeline-item left transformer">
<div class="ml-timeline-dot"></div>
<div class="ml-timeline-content">
<div class="ml-timeline-year">2017</div>
<div class="ml-timeline-title">Transformer Era</div>
<div class="ml-timeline-desc">Attention launches the LLM revolution</div>
<div class="ml-timeline-tech">Tokens β Attention β FFN β Output</div>
</div>
</div>
<div class="ml-timeline-item right olympics">
<div class="ml-timeline-dot"></div>
<div class="ml-timeline-content">
<div class="ml-timeline-year">2018βPresent</div>
<div class="ml-timeline-title">MLPerf Benchmarks</div>
<div class="ml-timeline-desc">Production optimization (8-16Γ smaller, 12-40Γ faster)</div>
<div class="ml-timeline-tech">Profile β Compress β Accelerate</div>
</div>
</div>
</div>
import torch
model = torch.nn.Linear(784, 10)
output = model(input)
# When this breaks, you're stuck
# BUILD it yourself
class Linear:
def forward(self, x):
return x @ self.weight + self.bias
# USE it on real data
loss.backward() # YOUR autograd
Four progressive tiers take you from foundations to production systems:
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin: 1.5rem 0 2rem 0; max-width: 1100px;"> <a href="tiers/foundation.html" style="background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%); padding: 1.25rem; border-radius: 0.5rem; border-left: 4px solid #1976d2; text-decoration: none; display: block;"> <h3 style="margin: 0 0 0.5rem 0; color: #0d47a1; font-size: 1rem; font-weight: 600;">Foundation (01-08)</h3> <p style="margin: 0; color: #1565c0; font-size: 0.9rem;">Tensors, autograd, layers, training loops</p> </a> <a href="tiers/architecture.html" style="background: linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%); padding: 1.25rem; border-radius: 0.5rem; border-left: 4px solid #7b1fa2; text-decoration: none; display: block;"> <h3 style="margin: 0 0 0.5rem 0; color: #4a148c; font-size: 1rem; font-weight: 600;">Architecture (09-13)</h3> <p style="margin: 0; color: #6a1b9a; font-size: 0.9rem;">CNNs, attention, transformers, GPT</p> </a> <a href="tiers/optimization.html" style="background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%); padding: 1.25rem; border-radius: 0.5rem; border-left: 4px solid #f57c00; text-decoration: none; display: block;"> <h3 style="margin: 0 0 0.5rem 0; color: #e65100; font-size: 1rem; font-weight: 600;">Optimization (14-19)</h3> <p style="margin: 0; color: #ef6c00; font-size: 0.9rem;">Profiling, quantization, acceleration</p> </a> <a href="tiers/olympics.html" style="background: linear-gradient(135deg, #fce4ec 0%, #f8bbd0 100%); padding: 1.25rem; border-radius: 0.5rem; border-left: 4px solid #c2185b; text-decoration: none; display: block;"> <h3 style="margin: 0 0 0.5rem 0; color: #880e4f; font-size: 1rem; font-weight: 600;">Torch Olympics (20)</h3> <p style="margin: 0; color: #ad1457; font-size: 0.9rem;">Competition-ready capstone project</p> </a> </div>The Big Picture β’ Getting Started β’ Preface
Prerequisites: Python + basic linear algebra. No ML experience required.
Next Steps: Quick Start (15 min) β’ The Big Picture β’ Community