pageman/sutskever-30-implementationsPublic

Sutskever 30 implementations inspired by https://papercode.vercel.app/ | For Agents, use https://github.com/pageman/Sutskever-Agent | Polyglot / Multi-Backed version at https://github.com/pageman/sutskever-30-beyond-numpy

AI summary: Educational, NumPy-only implementations of the 30 foundational deep learning papers recommended by Ilya Sutskever.

Stars
5.2K
+213 today
Forks
665
Watchers
19
Open issues
2
Open PRs
1
Contributors
~3
Commits
32
Branches
1

Jupyter NotebookNo licenseCreated Dec 6, 2025Last push 6mo ago+615 stars this week+644 this month

Quick answers

What is sutskever-30-implementations?
Educational, NumPy-only implementations of the 30 foundational deep learning papers recommended by Ilya Sutskever.
What does sutskever-30-implementations do?
This repository provides 100% complete, from-scratch implementations of the 'Sutskever 30'—a curated reading list of crucial AI papers recommended by Ilya Sutskever. To maximize educational clarity, the code relies strictly on pure NumPy, deliberately avoiding high-level frameworks like PyTorch or TensorFlow. Each implementation is packaged as a heavily annotated, interactive Jupyter notebook containing synthetic or bootstrapped data, extensive visualizations, and detailed explanations of the core mathematical concepts. It is designed to teach the fundamental mechanics of architectures ranging from basic LSTMs to complex Transformers by building them from the ground up.
Who is sutskever-30-implementations for?
Machine learning students, AI researchers, and engineers seeking a deep, fundamental understanding of how seminal AI algorithms work under the hood.
How do I get started with sutskever-30-implementations?
pip install numpy matplotlib scipy && jupyter notebook 02_char_rnn_karpathy.ipynb
How popular is sutskever-30-implementations on GitHub?
pageman/sutskever-30-implementations has 5,183 stars and 665 forks on GitHub, and gained 615 stars in the last 7 days.

Star history

since Jul 29, 2026
02K4KJul 2026Aug 2026Sep 2026Oct 2026
5.2K stars as of Oct 3, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 8 commits2025-12-07: 0 commits2025-12-08: 9 commits2025-12-09: 9 commits2025-12-10: 3 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 1 commit2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 1 commit2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 1 commit2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 0 commits2026-08-11: 0 commits2026-08-12: 0 commits2026-08-13: 0 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 0 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 0 commits2026-09-15: 0 commits2026-09-16: 0 commits2026-09-17: 0 commits2026-09-18: 0 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 0 commits2026-09-22: 0 commits2026-09-23: 0 commits2026-09-24: 0 commits2026-09-25: 0 commits2026-09-26: 0 commits2026-09-27: 0 commits2026-09-28: 0 commits2026-09-29: 0 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
32 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Rising fast

    +615 stars this week

What sutskever-30-implementations does

This repository provides 100% complete, from-scratch implementations of the 'Sutskever 30'—a curated reading list of crucial AI papers recommended by Ilya Sutskever. To maximize educational clarity, the code relies strictly on pure NumPy, deliberately avoiding high-level frameworks like PyTorch or TensorFlow. Each implementation is packaged as a heavily annotated, interactive Jupyter notebook containing synthetic or bootstrapped data, extensive visualizations, and detailed explanations of the core mathematical concepts. It is designed to teach the fundamental mechanics of architectures ranging from basic LSTMs to complex Transformers by building them from the ground up.

Machine learning students, AI researchers, and engineers seeking a deep, fundamental understanding of how seminal AI algorithms work under the hood.

  • Framework-free coding: Implements complex deep learning models using only pure NumPy to expose the underlying mathematical fundamentals.
  • Interactive notebooks: Every single paper is paired with a dedicated Jupyter notebook for hands-on experimentation and step-by-step execution.
  • Self-contained data: Utilizes synthetic or bootstrapped datasets so code runs immediately locally without requiring massive external downloads.
  • Extensive visualizations: Includes embedded charts and graphs to illustrate how algorithms learn, handle gradient flow, and converge.
  • Comprehensive curriculum: Covers all 30 foundational papers, ranging from classic CNNs and RNNs to modern Attention mechanisms and Scaling Laws.

Where teams use it

Deep Learning Education

Students can trace the exact matrix operations of a Transformer or LSTM instead of relying on a black-box PyTorch module.

Interview Preparation

Machine learning engineers can use the notebooks to practice implementing foundational architectures and backpropagation from scratch.

Algorithmic Research

Researchers can easily modify core mathematical operations to test novel ideas without the abstraction overhead of deep learning frameworks.

Concept Visualization

Educators can use the provided visualizations to demonstrate concepts like gradient flow, skip connections, and attention weighting.

Getting started: pip install numpy matplotlib scipy && jupyter notebook 02_char_rnn_karpathy.ipynb

README

main branch

Sutskever 30 - Complete Implementation Suite

Comprehensive toy implementations of the 30 foundational papers recommended by Ilya Sutskever

Implementations Coverage Python

Buy the Google Colab Code for this Repo at Gumroad

Overview

This repository contains detailed, educational implementations of the papers from Ilya Sutskever's famous reading list - the collection he told John Carmack would teach you "90% of what matters" in deep learning.

Progress: 30/30 papers (100%) - COMPLETE! 🎉

Each implementation:

  • ✅ Uses only NumPy (no deep learning frameworks) for educational clarity
  • ✅ Includes synthetic/bootstrapped data for immediate execution
  • ✅ Provides extensive visualizations and explanations
  • ✅ Demonstrates core concepts from each paper
  • ✅ Runs in Jupyter notebooks for interactive learning

Quick Start

# Navigate to the directory
cd sutskever-30-implementations

# Install dependencies
pip install numpy matplotlib scipy

# Run any notebook
jupyter notebook 02_char_rnn_karpathy.ipynb

The Sutskever 30 Papers

Foundational Concepts (Papers 1-5)

# Paper Notebook Key Concepts
1 The First Law of Complexodynamics ✅ 01_complexity_dynamics.ipynb Entropy, Complexity Growth, Cellular Automata
2 The Unreasonable Effectiveness of RNNs ✅ 02_char_rnn_karpathy.ipynb Character-level models, RNN basics, Text generation
3 Understanding LSTM Networks ✅ 03_lstm_understanding.ipynb Gates, Long-term memory, Gradient flow
4 RNN Regularization ✅ 04_rnn_regularization.ipynb Dropout for sequences, Variational dropout
5 Keeping Neural Networks Simple ✅ 05_neural_network_pruning.ipynb MDL principle, Weight pruning, 90%+ sparsity

Architectures & Mechanisms (Papers 6-15)

# Paper Notebook Key Concepts
6 Pointer Networks ✅ 06_pointer_networks.ipynb Attention as pointer, Combinatorial problems
7 ImageNet/AlexNet ✅ 07_alexnet_cnn.ipynb CNNs, Convolution, Data augmentation
8 Order Matters: Seq2Seq for Sets ✅ 08_seq2seq_for_sets.ipynb Set encoding, Permutation invariance, Attention pooling
9 GPipe ✅ 09_gpipe.ipynb Pipeline parallelism, Micro-batching, Re-materialization
10 Deep Residual Learning (ResNet) ✅ 10_resnet_deep_residual.ipynb Skip connections, Gradient highways
11 Dilated Convolutions ✅ 11_dilated_convolutions.ipynb Receptive fields, Multi-scale
12 Neural Message Passing (GNNs) ✅ 12_graph_neural_networks.ipynb Graph networks, Message passing
13 Attention Is All You Need ✅ 13_attention_is_all_you_need.ipynb Transformers, Self-attention, Multi-head
14 Neural Machine Translation ✅ 14_bahdanau_attention.ipynb Seq2seq, Bahdanau attention
15 Identity Mappings in ResNet ✅ 15_identity_mappings_resnet.ipynb Pre-activation, Gradient flow

Advanced Topics (Papers 16-22)

# Paper Notebook Key Concepts
16 Relational Reasoning ✅ 16_relational_reasoning.ipynb Relation networks, Pairwise functions
17 Variational Lossy Autoencoder ✅ 17_variational_autoencoder.ipynb VAE, ELBO, Reparameterization trick
18 Relational RNNs ✅ 18_relational_rnn.ipynb Relational memory, Multi-head self-attention, Manual backprop (~1100 lines)
19 The Coffee Automaton ✅ 19_coffee_automaton.ipynb Irreversibility, Entropy, Arrow of time, Landauer's principle
20 Neural Turing Machines ✅ 20_neural_turing_machine.ipynb External memory, Differentiable addressing
21 Deep Speech 2 (CTC) ✅ 21_ctc_speech.ipynb CTC loss, Speech recognition
22 Scaling Laws ✅ 22_scaling_laws.ipynb Power laws, Compute-optimal training

Theory & Meta-Learning (Papers 23-30)

# Paper Notebook Key Concepts
23 MDL Principle ✅ 23_mdl_principle.ipynb Information theory, Model selection, Compression
24 Machine Super Intelligence ✅ 24_machine_super_intelligence.ipynb Universal AI, AIXI, Solomonoff induction, Intelligence measures, Self-improvement
25 Kolmogorov Complexity ✅ 25_kolmogorov_complexity.ipynb Compression, Algorithmic randomness, Universal prior
26 CS231n: CNNs for Visual Recognition ✅ 26_cs231n_cnn_fundamentals.ipynb Image classification pipeline, kNN/Linear/NN/CNN, Backprop, Optimization, Babysitting neural nets
27 Multi-token Prediction ✅ 27_multi_token_prediction.ipynb Multiple future tokens, Sample efficiency, 2-3x faster
28 Dense Passage Retrieval ✅ 28_dense_passage_retrieval.ipynb Dual encoders, MIPS, In-batch negatives
29 Retrieval-Augmented Generation ✅ 29_rag.ipynb RAG-Sequence, RAG-Token, Knowledge retrieval
30 Lost in the Middle ✅ 30_lost_in_middle.ipynb Position bias, Long context, U-shaped curve

Featured Implementations

🌟 Must-Read Notebooks

These implementations cover the most influential papers and demonstrate core deep learning concepts:

Foundations
  1. 02_char_rnn_karpathy.ipynb - Character-level RNN

    • Build RNN from scratch
    • Understand backpropagation through time
    • Generate text
  2. 03_lstm_understanding.ipynb - LSTM Networks

    • Implement forget/input/output gates
    • Visualize gate activations
    • Compare with vanilla RNN
  3. 04_rnn_regularization.ipynb - RNN Regularization

    • Variational dropout for RNNs
    • Proper dropout placement
    • Training improvements
  4. 05_neural_network_pruning.ipynb - Network Pruning & MDL

    • Magnitude-based pruning
    • Iterative pruning with fine-tuning
    • 90%+ sparsity with minimal loss
    • Minimum Description Length principle
Computer Vision
  1. 07_alexnet_cnn.ipynb - CNNs & AlexNet

    • Convolutional layers from scratch
    • Max pooling and ReLU
    • Data augmentation techniques
  2. 10_resnet_deep_residual.ipynb - ResNet

    • Skip connections solve degradation
    • Gradient flow visualization
    • Identity mapping intuition
  3. 15_identity_mappings_resnet.ipynb - Pre-activation ResNet

    • Pre-activation vs post-activation
    • Better gradient flow
    • Training 1000+ layer networks
  4. 11_dilated_convolutions.ipynb - Dilated Convolutions

    • Multi-scale receptive fields
    • No pooling required
    • Semantic segmentation
Attention & Transformers
  1. 14_bahdanau_attention.ipynb - Neural Machine Translation

    • Original attention mechanism
    • Seq2seq with alignment
    • Attention visualization
  2. 13_attention_is_all_you_need.ipynb - Transformers

    • Scaled dot-product attention
    • Multi-head attention
    • Positional encoding
    • Foundation of modern LLMs
  3. 06_pointer_networks.ipynb - Pointer Networks

    • Attention as selection
    • Combinatorial optimization
    • Variable output size
  4. 08_seq2seq_for_sets.ipynb - Seq2Seq for Sets

    • Permutation-invariant set encoder
    • Read-Process-Write architecture
    • Attention over unordered elements
    • Sorting and set operations
    • Comparison: order-sensitive vs order-invariant
  5. 09_gpipe.ipynb - GPipe Pipeline Parallelism

    • Model partitioning across devices
    • Micro-batching for pipeline utilization
    • F-then-B schedule (forward all, backward all)
    • Re-materialization (gradient checkpointing)
    • Bubble time analysis
    • Training models larger than single-device memory
Advanced Topics
  1. 12_graph_neural_networks.ipynb - Graph Neural Networks

    • Message passing framework
    • Graph convolutions
    • Molecular property prediction
  2. 16_relational_reasoning.ipynb - Relation Networks

    • Pairwise relational reasoning
    • Visual QA
    • Permutation invariance
  3. 18_relational_rnn.ipynb - Relational RNN

    • LSTM with relational memory
    • Multi-head self-attention across memory slots
    • Architecture demonstration (forward pass)
    • Sequential reasoning tasks
    • Section 11: Manual backpropagation implementation (~1100 lines)
    • Complete gradient computation for all components
    • Gradient checking with numerical verification
  4. 20_neural_turing_machine.ipynb - Memory-Augmented Networks

    • Content & location addressing
    • Differentiable read/write
    • External memory
  5. 21_ctc_speech.ipynb - CTC Loss & Speech Recognition

    • Connectionist Temporal Classification
    • Alignment-free training
    • Forward algorithm
Generative Models
  1. 17_variational_autoencoder.ipynb - VAE
    • Generative modeling
    • ELBO loss
    • Latent space visualization
Modern Applications
  1. 27_multi_token_prediction.ipynb - Multi-Token Prediction

    • Predict multiple future tokens
    • 2-3x sample efficiency
    • Speculative decoding
    • Faster training & inference
  2. 28_dense_passage_retrieval.ipynb - Dense Retrieval

    • Dual encoder architecture
    • In-batch negatives
    • Semantic search
  3. 29_rag.ipynb - Retrieval-Augmented Generation

    • RAG-Sequence vs RAG-Token
    • Combining retrieval + generation
    • Knowledge-grounded outputs
  4. 30_lost_in_middle.ipynb - Long Context Analysis

    • Position bias in LLMs
    • U-shaped performance curve
    • Document ordering strategies
Scaling & Theory
  1. 22_scaling_laws.ipynb - Scaling Laws

    • Power law relationships
    • Compute-optimal training
    • Performance prediction
  2. 23_mdl_principle.ipynb - Minimum Description Length

    • Information-theoretic model selection
    • Compression = Understanding
    • MDL vs AIC/BIC comparison
    • Neural network architecture selection
    • MDL-based pruning (connects to Paper 5)
    • Kolmogorov complexity preview
  3. 25_kolmogorov_complexity.ipynb - Kolmogorov Complexity

    • K(x) = shortest program generating x
    • Randomness = Incompressibility
    • Algorithmic probability (Solomonoff)
    • Universal prior for induction
    • Connection to Shannon entropy
    • Occam's Razor formalized
    • Theoretical foundation for ML
  4. 24_machine_super_intelligence.ipynb - Universal Artificial Intelligence

    • Formal theory of intelligence (Legg & Hutter)
    • Psychometric g-factor and universal intelligence Υ(π)
    • Solomonoff induction for sequence prediction
    • AIXI: Theoretically optimal RL agent
    • Monte Carlo AIXI (MC-AIXI) approximation
    • Kolmogorov complexity estimation
    • Intelligence measurement across environments
    • Recursive self-improvement dynamics
    • Intelligence explosion scenarios
    • 6 sections: from psychometrics to superintelligence
    • Connects Papers #23 (MDL), #25 (Kolmogorov), #8 (DQN)
  5. 01_complexity_dynamics.ipynb - Complexity & Entropy

    • Cellular automata (Rule 30)
    • Entropy growth
    • Irreversibility (basic introduction)
  6. 19_coffee_automaton.ipynb - The Coffee Automaton (Deep Dive)

    • Comprehensive exploration of irreversibility
    • Coffee mixing and diffusion processes
    • Entropy growth and coarse-graining
    • Phase space and Liouville's theorem
    • Poincaré recurrence theorem (will unmix after e^N time!)
    • Maxwell's demon and Landauer's principle
    • Computational irreversibility (one-way functions, hashing)
    • Information bottleneck in machine learning
    • Biological irreversibility (life and the 2nd law)
    • Arrow of time: fundamental vs emergent
    • 10 comprehensive sections exploring irreversibility across all scales
  7. 26_cs231n_cnn_fundamentals.ipynb - CS231n: Vision from First Principles

    • Complete vision pipeline in pure NumPy
    • k-Nearest Neighbors baseline
    • Linear classifiers (SVM and Softmax)
    • Optimization (SGD, Momentum, Adam, learning rate schedules)
    • 2-layer neural networks with backpropagation
    • Convolutional layers (conv, pool, ReLU)
    • Complete CNN architecture (Mini-AlexNet)
    • Visualization techniques (filters, saliency maps)
    • Transfer learning principles
    • Babysitting tips (sanity checks, hyperparameter tuning, monitoring)
    • 10 sections covering entire CS231n curriculum
    • Ties together Papers #7 (AlexNet), #10 (ResNet), #11 (Dilated Conv)

Repository Structure

sutskever-30-implementations/
├── README.md                           # This file
├── PROGRESS.md                         # Implementation progress tracking
├── IMPLEMENTATION_TRACKS.md            # Detailed tracks for all 30 papers
│
├── 01_complexity_dynamics.ipynb        # Entropy & complexity
├── 02_char_rnn_karpathy.ipynb         # Vanilla RNN
├── 03_lstm_understanding.ipynb         # LSTM gates
├── 04_rnn_regularization.ipynb         # Dropout for RNNs
├── 05_neural_network_pruning.ipynb     # Pruning & MDL
├── 06_pointer_networks.ipynb           # Attention pointers
├── 07_alexnet_cnn.ipynb               # CNNs & AlexNet
├── 08_seq2seq_for_sets.ipynb          # Permutation-invariant sets
├── 09_gpipe.ipynb                     # Pipeline parallelism
├── 10_resnet_deep_residual.ipynb      # Residual connections
├── 11_dilated_convolutions.ipynb       # Multi-scale convolutions
├── 12_graph_neural_networks.ipynb      # Message passing GNNs
├── 13_attention_is_all_you_need.ipynb # Transformer architecture
├── 14_bahdanau_attention.ipynb         # Original attention
├── 15_identity_mappings_resnet.ipynb   # Pre-activation ResNet
├── 16_relational_reasoning.ipynb       # Relation networks
├── 17_variational_autoencoder.ipynb   # VAE
├── 18_relational_rnn.ipynb             # Relational RNN
├── 19_coffee_automaton.ipynb           # Irreversibility deep dive
├── 20_neural_turing_machine.ipynb     # External memory
├── 21_ctc_speech.ipynb                # CTC loss
├── 22_scaling_laws.ipynb              # Empirical scaling
├── 23_mdl_principle.ipynb             # MDL & compression
├── 24_machine_super_intelligence.ipynb # Universal AI & AIXI
├── 25_kolmogorov_complexity.ipynb     # K(x) & randomness
├── 26_cs231n_cnn_fundamentals.ipynb    # Vision from first principles
├── 27_multi_token_prediction.ipynb     # Multi-token prediction
├── 28_dense_passage_retrieval.ipynb    # Dense retrieval
├── 29_rag.ipynb                       # RAG architecture
└── 30_lost_in_middle.ipynb            # Long context analysis

All 30 papers implemented! (100% complete!) 🎉

Learning Path

Beginner Track (Start here!)

  1. Character RNN (02_char_rnn_karpathy.ipynb) - Learn basic RNNs
  2. LSTM (03_lstm_understanding.ipynb) - Understand gating mechanisms
  3. CNNs (07_alexnet_cnn.ipynb) - Computer vision fundamentals
  4. ResNet (10_resnet_deep_residual.ipynb) - Skip connections
  5. VAE (17_variational_autoencoder.ipynb) - Generative models

Intermediate Track

  1. RNN Regularization (04_rnn_regularization.ipynb) - Better training
  2. Bahdanau Attention (14_bahdanau_attention.ipynb) - Attention basics
  3. Pointer Networks (06_pointer_networks.ipynb) - Attention as selection
  4. Seq2Seq for Sets (08_seq2seq_for_sets.ipynb) - Permutation invariance
  5. CS231n (26_cs231n_cnn_fundamentals.ipynb) - Complete vision pipeline (kNN → CNNs)
  6. GPipe (09_gpipe.ipynb) - Pipeline parallelism for large models
  7. Transformers (13_attention_is_all_you_need.ipynb) - Modern architecture
  8. Dilated Convolutions (11_dilated_convolutions.ipynb) - Receptive fields
  9. Scaling Laws (22_scaling_laws.ipynb) - Understanding scale

Advanced Track

  1. Pre-activation ResNet (15_identity_mappings_resnet.ipynb) - Architecture details
  2. Graph Neural Networks (12_graph_neural_networks.ipynb) - Graph learning
  3. Relation Networks (16_relational_reasoning.ipynb) - Relational reasoning
  4. Neural Turing Machines (20_neural_turing_machine.ipynb) - External memory
  5. CTC Loss (21_ctc_speech.ipynb) - Speech recognition
  6. Dense Retrieval (28_dense_passage_retrieval.ipynb) - Semantic search
  7. RAG (29_rag.ipynb) - Retrieval-augmented generation
  8. Lost in the Middle (30_lost_in_middle.ipynb) - Long context analysis

Theory & Fundamentals

  1. MDL Principle (23_mdl_principle.ipynb) - Model selection via compression
  2. Kolmogorov Complexity (25_kolmogorov_complexity.ipynb) - Randomness & information
  3. Complexity Dynamics (01_complexity_dynamics.ipynb) - Entropy & emergence
  4. Coffee Automaton (19_coffee_automaton.ipynb) - Deep dive into irreversibility

Key Insights from the Sutskever 30

Architecture Evolution

  • RNN → LSTM: Gating solves vanishing gradients
  • Plain Networks → ResNet: Skip connections enable depth
  • RNN → Transformer: Attention enables parallelization
  • Fixed vocab → Pointers: Output can reference input

Fundamental Mechanisms

  • Attention: Differentiable selection mechanism
  • Residual Connections: Gradient highways
  • Gating: Learned information flow control
  • External Memory: Separate storage from computation

Training Insights

  • Scaling Laws: Performance predictably improves with scale
  • Regularization: Dropout, weight decay, data augmentation
  • Optimization: Gradient clipping, learning rate schedules
  • Compute-Optimal: Balance model size and training data

Theoretical Foundations

  • Information Theory: Compression, entropy, MDL
  • Complexity: Kolmogorov complexity, power laws
  • Generative Modeling: VAE, ELBO, latent spaces
  • Memory: Differentiable data structures

Implementation Philosophy

Why NumPy-only?

These implementations deliberately avoid PyTorch/TensorFlow to:

  • Deepen understanding: See what frameworks abstract away
  • Educational clarity: No magic, every operation explicit
  • Core concepts: Focus on algorithms, not framework APIs
  • Transferable knowledge: Principles apply to any framework

Synthetic Data Approach

Each notebook generates its own data to:

  • Immediate execution: No dataset downloads required
  • Controlled experiments: Understand behavior on simple cases
  • Concept focus: Data doesn't obscure the algorithm
  • Rapid iteration: Modify and re-run instantly

Extensions & Next Steps

Build on These Implementations

After understanding the core concepts, try:

  1. Scale up: Implement in PyTorch/JAX for real datasets
  2. Combine techniques: E.g., ResNet + Attention
  3. Modern variants:
    • RNN → GRU → Transformer
    • VAE → β-VAE → VQ-VAE
    • ResNet → ResNeXt → EfficientNet
  4. Applications: Apply to real problems

Research Directions

The Sutskever 30 points toward:

  • Scaling (bigger models, more data)
  • Efficiency (sparse models, quantization)
  • Capabilities (reasoning, multi-modal)
  • Understanding (interpretability, theory)

Resources

Original Papers

See IMPLEMENTATION_TRACKS.md for full citations and links

Additional Reading

Courses

  • Stanford CS231n: Convolutional Neural Networks
  • Stanford CS224n: NLP with Deep Learning
  • MIT 6.S191: Introduction to Deep Learning

Contributing

These implementations are educational and can be improved! Consider:

  • Adding more visualizations
  • Implementing missing papers
  • Improving explanations
  • Finding bugs
  • Adding comparisons with framework implementations

Citation

If you use these implementations in your work or teaching:

@misc{sutskever30implementations,
  title={Sutskever 30: Complete Implementation Suite},
  author={Paul "The Pageman" Pajo, pageman@gmail.com},
  year={2025},
  note={Educational implementations of Ilya Sutskever's recommended reading list, inspired by https://papercode.vercel.app/}
}

License

Educational use. See individual papers for original research citations.

Acknowledgments

  • Ilya Sutskever: For curating this essential reading list
  • Paper authors: For their foundational contributions
  • Community: For making these ideas accessible

Latest Additions (December 2025)

Recently Implemented (21 new papers!)

  • ✅ Paper 4: RNN Regularization (variational dropout)
  • ✅ Paper 5: Neural Network Pruning (MDL, 90%+ sparsity)
  • ✅ Paper 7: AlexNet (CNNs from scratch)
  • ✅ Paper 8: Seq2Seq for Sets (permutation invariance, attention pooling)
  • ✅ Paper 9: GPipe (pipeline parallelism, micro-batching, re-materialization)
  • ✅ Paper 19: The Coffee Automaton (deep dive into irreversibility, entropy, Landauer's principle)
  • ✅ Paper 26: CS231n (complete vision pipeline: kNN → CNN, all in NumPy)
  • ✅ Paper 11: Dilated Convolutions (multi-scale)
  • ✅ Paper 12: Graph Neural Networks (message passing)
  • ✅ Paper 14: Bahdanau Attention (original attention)
  • ✅ Paper 15: Identity Mappings ResNet (pre-activation)
  • ✅ Paper 16: Relational Reasoning (relation networks)
  • ✅ Paper 18: Relational RNNs (relational memory + Section 11: manual backprop ~1100 lines)
  • ✅ Paper 21: Deep Speech 2 (CTC loss)
  • ✅ Paper 23: MDL Principle (compression, model selection, connects to Papers 5 & 25)
  • ✅ Paper 24: Machine Super Intelligence (Universal AI, AIXI, Solomonoff induction, intelligence measures, recursive self-improvement)
  • ✅ Paper 25: Kolmogorov Complexity (randomness, algorithmic probability, theoretical foundation)
  • ✅ Paper 27: Multi-Token Prediction (2-3x sample efficiency)
  • ✅ Paper 28: Dense Passage Retrieval (dual encoders)
  • ✅ Paper 29: RAG (retrieval-augmented generation)
  • ✅ Paper 30: Lost in the Middle (long context)

Quick Reference: Implementation Complexity

Can Implement in an Afternoon

  • ✅ Character RNN
  • ✅ LSTM
  • ✅ ResNet
  • ✅ Simple VAE
  • ✅ Dilated Convolutions

Weekend Projects

  • ✅ Transformer
  • ✅ Pointer Networks
  • ✅ Graph Neural Networks
  • ✅ Relation Networks
  • ✅ Neural Turing Machine
  • ✅ CTC Loss
  • ✅ Dense Retrieval

Week-Long Deep Dives

  • ✅ Full RAG system
  • ⚠️ Large-scale experiments
  • ⚠️ Hyperparameter optimization

"If you really learn all of these, you'll know 90% of what matters today." - Ilya Sutskever

Happy learning! 🚀

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Code frequency

additions and deletions
+21.9K-21.9KWeek of 2025-11-30: +13,040 linesWeek of 2025-11-30: -155 linesWeek of 2025-12-07: +21,917 linesWeek of 2025-12-07: -243 linesWeek of 2025-12-14: +0 linesWeek of 2025-12-14: -0 linesWeek of 2025-12-21: +0 linesWeek of 2025-12-21: -0 linesWeek of 2025-12-28: +0 linesWeek of 2025-12-28: -0 linesWeek of 2026-01-04: +0 linesWeek of 2026-01-04: -0 linesWeek of 2026-01-11: +0 linesWeek of 2026-01-11: -0 linesWeek of 2026-01-18: +0 linesWeek of 2026-01-18: -0 linesWeek of 2026-01-25: +0 linesWeek of 2026-01-25: -0 linesWeek of 2026-02-01: +0 linesWeek of 2026-02-01: -0 linesWeek of 2026-02-08: +27 linesWeek of 2026-02-08: -35 linesWeek of 2026-02-15: +0 linesWeek of 2026-02-15: -0 linesWeek of 2026-02-22: +2 linesWeek of 2026-02-22: -0 linesWeek of 2026-03-01: +0 linesWeek of 2026-03-01: -0 linesWeek of 2026-03-08: +0 linesWeek of 2026-03-08: -0 linesWeek of 2026-03-15: +6 linesWeek of 2026-03-15: -1 linesWeek of 2026-03-22: +0 linesWeek of 2026-03-22: -0 linesWeek of 2026-03-29: +0 linesWeek of 2026-03-29: -0 linesWeek of 2026-04-05: +0 linesWeek of 2026-04-05: -0 linesWeek of 2026-04-12: +0 linesWeek of 2026-04-12: -0 linesWeek of 2026-04-19: +0 linesWeek of 2026-04-19: -0 linesWeek of 2026-04-26: +0 linesWeek of 2026-04-26: -0 linesWeek of 2026-05-03: +0 linesWeek of 2026-05-03: -0 linesWeek of 2026-05-10: +0 linesWeek of 2026-05-10: -0 linesWeek of 2026-05-17: +0 linesWeek of 2026-05-17: -0 linesWeek of 2026-05-24: +0 linesWeek of 2026-05-24: -0 linesWeek of 2026-05-31: +0 linesWeek of 2026-05-31: -0 linesWeek of 2026-06-07: +0 linesWeek of 2026-06-07: -0 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +0 linesWeek of 2026-06-28: -0 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesWeek of 2026-08-02: +0 linesWeek of 2026-08-02: -0 linesWeek of 2026-08-09: +0 linesWeek of 2026-08-09: -0 linesWeek of 2026-08-16: +0 linesWeek of 2026-08-16: -0 linesWeek of 2026-08-23: +0 linesWeek of 2026-08-23: -0 linesNov 30, 2025Aug 23, 2026
+35K lines added, -434 removed over the last year.

Commits per week

last 52 weeks
210Week of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 8 commitsWeek of 2025-12-07: 21 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 1 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 1 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 1 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 0 commitsWeek of 2026-08-09: 0 commitsWeek of 2026-08-16: 0 commitsWeek of 2026-08-23: 0 commitsWeek of 2026-08-30: 0 commitsWeek of 2026-09-06: 0 commitsWeek of 2026-09-13: 0 commitsWeek of 2026-09-20: 0 commitsWeek of 2026-09-27: 0 commitsOct 4, 2025Sep 27, 2026
32 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 0 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 0 commitsSun 22:00 — 0 commitsSun 23:00 — 0 commitsMon 0:00 — 3 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 1 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 0 commitsMon 11:00 — 5 commitsMon 12:00 — 0 commitsMon 13:00 — 2 commitsMon 14:00 — 0 commitsMon 15:00 — 0 commitsMon 16:00 — 0 commitsMon 17:00 — 0 commitsMon 18:00 — 0 commitsMon 19:00 — 0 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 0 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 0 commitsTue 11:00 — 0 commitsTue 12:00 — 0 commitsTue 13:00 — 1 commitsTue 14:00 — 0 commitsTue 15:00 — 5 commitsTue 16:00 — 0 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 4 commitsTue 20:00 — 0 commitsTue 21:00 — 0 commitsTue 22:00 — 0 commitsTue 23:00 — 0 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 0 commitsWed 11:00 — 0 commitsWed 12:00 — 0 commitsWed 13:00 — 0 commitsWed 14:00 — 0 commitsWed 15:00 — 1 commitsWed 16:00 — 1 commitsWed 17:00 — 0 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 1 commitsWed 21:00 — 0 commitsWed 22:00 — 0 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 0 commitsThu 11:00 — 0 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 0 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 0 commitsFri 19:00 — 0 commitsFri 20:00 — 0 commitsFri 21:00 — 0 commitsFri 22:00 — 0 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 4 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 0 commitsSat 16:00 — 3 commitsSat 17:00 — 1 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits1 (3%)
Community commits31 (97%)

32 commits in total over the last year.

DateListRankStars gained
Jan 19, 2026daily#13+264
Jan 18, 2026daily#4+455