Files
TinyTorch/modules/source/16_tinygpt
Vijay Janapa Reddi 9361cbf987 Add TinyTorch examples gallery and fix module integration issues
- Create professional examples directory showcasing TinyTorch as real ML framework
- Add examples: XOR, MNIST, CIFAR-10, text generation, autograd demo, optimizer comparison
- Fix import paths in exported modules (training.py, dense.py)
- Update training module with autograd integration for loss functions
- Add progressive integration tests for all 16 modules
- Document framework capabilities and usage patterns

This commit establishes the examples gallery that demonstrates TinyTorch
works like PyTorch/TensorFlow, validating the complete framework.
2025-09-21 10:00:11 -04:00
..

Module 16: TinyGPT - Language Models

From Vision to Language: Building GPT-style transformers with TinyTorch

Learning Objectives

By the end of this module, you will:

  1. Build GPT-style transformer models using TinyTorch Dense layers and attention mechanisms
  2. Understand character-level tokenization and its role in language model training
  3. Implement multi-head attention that enables models to focus on different parts of sequences
  4. Create complete transformer blocks with layer normalization and residual connections
  5. Train autoregressive language models that generate coherent text sequences
  6. Apply ML Systems thinking to understand framework reusability across vision and language

What Makes This Special

This module demonstrates the power of TinyTorch's foundation by extending it from vision to language models:

  • ~70% component reuse: Dense layers, optimizers, training loops, loss functions
  • Strategic additions: Only what's essential for language - attention, tokenization, generation
  • Educational clarity: See how the same mathematical foundations power both domains
  • Framework thinking: Understand why successful ML frameworks support multiple modalities

Components Implemented

Core Language Processing

  • CharTokenizer: Character-level tokenization with vocabulary management
  • PositionalEncoding: Sinusoidal position embeddings for sequence order

Attention Mechanisms

  • MultiHeadAttention: Parallel attention heads for capturing different relationships
  • SelfAttention: Simplified attention for easier understanding
  • CausalMasking: Preventing attention to future tokens in autoregressive models

Transformer Architecture

  • LayerNorm: Normalization for stable transformer training
  • TransformerBlock: Complete transformer layer with attention + feedforward
  • TinyGPT: Full GPT-style model with embedding, positional encoding, and generation

Training Infrastructure

  • LanguageModelLoss: Cross-entropy loss with proper target shifting
  • LanguageModelTrainer: Training loops optimized for text sequences
  • TextGeneration: Autoregressive sampling for coherent text generation

Key Insights

  1. Framework Reusability: TinyTorch's Dense layers work seamlessly for language models
  2. Attention Innovation: The key difference between vision and language is attention mechanisms
  3. Sequence Modeling: Language requires understanding order and context across long sequences
  4. Autoregressive Generation: Language models predict one token at a time, building coherently

Educational Philosophy

This module shows that vision and language models share the same foundation:

  • Matrix multiplications (Dense layers)
  • Nonlinear activations
  • Gradient-based optimization
  • Batch processing and training loops

The magic happens in the architectural patterns we add on top!

Prerequisites

  • Modules 1-11 (especially Tensor, Dense, Attention, Training)
  • Understanding of sequence modeling concepts
  • Familiarity with autoregressive generation

Time Estimate

4-6 hours for complete understanding and implementation


"Language is the most powerful tool humans have created. Now let's teach machines to wield it." - The TinyTorch Philosophy