Building makemore | Karpathy (серия)
Карпаты строит языковую модель с нуля — от биграмм к MLP, BatchNorm и ручному backprop. Прямое продолжение micrograd в цикле Zero to Hero.
Если micrograd объяснил backpropagation, то makemore показывает, как из этого собирается настоящая языковая модель — character-level, генерирующая правдоподобные «слова» по одному символу. Это следующий шаг цикла Zero to Hero после micrograd, и он закрывает разрыв между «понимаю backprop» и «понимаю, как обучаются языковые модели».
Серия состоит из пяти частей — смотреть лучше строго по порядку, каждая добавляет один слой понимания.
Часть 1 — интро в языковое моделирование
youtube.com
Простейшая модель «следующий символ по текущему» — на счётчиках (биграммы) и на нейросети.
Часть 2 — MLP
youtube.com
Многослойный перцептрон как языковая модель (по статье Bengio 2003).
Часть 3 — Activations & Gradients, BatchNorm
youtube.com
Почему обучение «ломается» (затухающие/взрывающиеся градиенты) и как его стабилизируют.
Часть 4 — Becoming a Backprop Ninja
youtube.com
Ручной backprop через всю сеть, без autograd — лучшая прокачка интуиции про градиенты.
Часть 5 — Building a WaveNet
youtube.com
Иерархическая архитектура, шаг к более глубоким сетям.
Код
github.com/karpathy/makemore
Весь цикл «Zero to Hero»
karpathy.ai