Интерактивный учебник · 15 глав
Вырастим свою языковую модель
Это Росток — крошечная LLM на 17 миллионов параметров. Её обучили с нуля на английских историях и диалогах, и она живёт прямо в вашем браузере. За пятнадцать глав мы соберём такую же своими руками: от подсчёта букв до чата — с математикой, кодом и живыми виджетами на каждом шаге.
- 17 млнпараметров
- 8 192токена в словаре
- ~330 млнтокенов на обучении
- 0серверов: всё считается в браузере
Поговорите с Ростком
Росток понимает только английский и иногда ошибается — он очень маленький. Всё считается на вашем устройстве.
Как рос Росток
Каждая глава добавляет модели одну идею — и ошибка падает. Здесь все версии Ростка, от случайного выбора буквы до полной модели, на одном и том же тексте.
Путь
Каждая глава добавляет модели одну новую идею. В конце главы — Росток в том виде, до которого мы его дорастили.
1Основы: вероятности и обучение
-
0 Знакомьтесь: Росток Языковая модель — это машина, которая угадывает следующее слово. Посмотрим, как она это делает, и договоримся, что будем строить. ✓ пройдено -
1 Считаем буквы Самая простая языковая модель на свете — таблица: какая буква за какой идёт в 41 миллионе букв детских историй. Соберём её и дадим ей что-нибудь написать. ✓ пройдено -
2 Мера удивления Как понять, хороша ли языковая модель? Показать ей настоящий текст и измерить, насколько он её удивил, — так мы придём к битам и натам, энтропии и главному числу всего обучения: функции потерь. ✓ пройдено -
3 Спуск с горы Хорошие вероятности можно не только подсчитать: можно начать с любых чисел и шаг за шагом спускаться туда, где ошибка меньше. Так учатся все нейросети — от биграммы до Ростка. ✓ пройдено
2Нейросеть изнутри
-
4 Как ошибка течёт назад Чтобы учить модель спуском, нужно знать, насколько каждое её число виновато в ошибке. Обратное распространение находит это для всех чисел сразу — и к концу главы вы напишете его сами. ✓ пройдено -
5 Буквы как точки Нейросеть из прошлой главы держала для каждой буквы короткий список чисел. Посмотрим, что это за числа, почему похожие буквы оказываются рядом и как учить такую сеть на миллионах примеров. ✓ пройдено -
6 Токены Буква — слишком мелкий кусок, слово — слишком крупный. Разберёмся, как Росток режет текст, откуда взялись его 8 192 токена и почему русский текст он видит как россыпь байтов. ✓ пройдено
3Трансформер
-
7 Внимание Как токен находит в прошлом нужные ему слова: запросы, ключи и значения — главная идея трансформера, разобранная по винтику. ✓ пройдено -
8 Трансформер Собираем Ростка целиком: блок из внимания и маленькой сети, остаточный поток, нормировка, позиции-вращения — и весь model.py, строчка за строчкой. ✓ пройдено
4Большое обучение
-
9 Корпус Модель — это то, что она прочитала. Откуда взялись 1,4 миллиарда токенов Ростка, как мы их чистили и сколько текста на самом деле нужно модели такого размера. ✓ пройдено -
10 Обучение Десять тысяч шагов, 330 миллионов токенов, три с половиной часа на одном Mac. Цикл обучения строчка за строчкой, оптимизатор, который дал нам фору, расписание скорости обучения — и замедленная съёмка того, как Росток учится писать. ✓ пройдено -
11 Как модель выбирает слово Росток выдаёт 8 192 вероятности, а какое слово попадёт в текст, решаем мы. Температура, top-k, top-p, штраф за повторы — и почему модель пишет быстро даже на телефоне. ✓ пройдено
5Разговор и дообучение
-
12 Учим разговаривать Базовая модель продолжает текст, а не отвечает. Четыре служебных токена, двадцать тысяч разговоров и функция потерь, которая пропускает мимо ушей всё, что пишет человек, превращают рассказчика в собеседника. ✓ пройдено -
13 Своё дообучение Как научить Ростка новой манере речи, не трогая его 17 миллионов чисел: две тонкие матрицы рядом с каждым слоем и несколько сотен примеров. ✓ пройдено -
14 Что дальше Все версии Ростка в одном саду, законы, которые отделяют его от гигантов, и эксперименты, с которых можно начать уже завтра. ✓ пройдено
Что нужно знать заранее
- Школьная математика: дроби, степени, графики. Всё остальное объясним по дороге.
- Немного Python — или готовность разбирать код построчно вместе с нами.
- Компьютер: для первых глав хватит браузера, для обучения большой модели — любой ноутбук с видеокартой или Mac с чипом M.
Материалы курса
Весь код, корпус, диалоги и веса модели — открытые. Можно повторить каждый шаг у себя.
- 🐙Исходный код Ростка на GitHub: модель, обучение и движок для браузера (MIT)GitHub
- 🐍Код модели на Python: токенизатор, трансформер, обучение, дообучение28 KB zip
- 🔤Токенизатор: 8 192 токена99 KB
- 💬Диалоги для обучения разговору9.8 MB
- 📚Готовый корпус: 1,43 млрд токенов (corpus/train.bin, рядом val.bin)2.9 GB
- 🌱Веса чат-Ростка (PyTorch); базовая модель и стили — рядом, в checkpoints/≈70 MB
- 🧾Список всех файлов с размерами и SHA-256JSON