Бесплатный интерактивный учебник · 18 глав
Ростокязыковая модель, выращенная с нуля
Знакомьтесь: Росток-2 — 125 миллионов параметров, код и командная строка, размышления перед ответом и Python. Поговорите с ним, а потом разберитесь по учебнику, как он устроен и как вырастить такую модель самому.
- 125 млнпараметров у Ростка-2
- 9 млрдтокенов прочитано
- 30слоёв трансформера
- 0регистраций и платы
Интерактивный учебник · 18 глав
Вырастим свою языковую модель
Росток — небольшая языковая модель, которую мы выращиваем с нуля. За четырнадцать глав пройдём путь от таблицы частот до трансформера с 17 миллионами параметров: с объяснениями, Python-кодом и опытами в браузере. А потом вырастим Росток-2: 125 миллионов параметров, код и командная строка, размышления перед ответом и запуск Python.
Как рос Росток
Сравним модели курса на одном отложенном тексте: от случайного выбора символа до обученного трансформера. График показывает, как меняется точность предсказаний.
Путь
Каждая глава добавляет модели одну новую идею. В конце главы — Росток в том виде, до которого мы его дорастили.
1Основы: вероятности и обучение
-
Глава 0 Знакомьтесь: Росток Как из вероятностей следующего фрагмента получается целый ответ? Познакомимся с Ростком и проследим один шаг генерации. ✓ пройдено -
Глава 1 Считаем буквы Посчитаем, какие символы идут друг за другом в английских историях и диалогах. Из таблицы частот получится первая модель, которая сама продолжает текст. ✓ пройдено -
Глава 2 Мера удивления Как сравнить два продолжателя текста? Научимся измерять качество предсказаний и разберём, что означают функция потерь, биты и перплексия. ✓ пройдено -
Глава 3 Спуск с горы Найдём вероятности заново: начнём с таблицы логитов и будем уменьшать ошибку маленькими шагами. По пути разберём производную, градиент и скорость обучения. ✓ пройдено
2Нейросеть изнутри
-
Глава 4 Как ошибка течёт назад Как вычислить градиент, если до ошибки ведёт длинная цепочка операций? Разберём обратное распространение и напишем маленькую систему автоматического дифференцирования. ✓ пройдено -
Глава 5 Буквы как точки Заменим номер символа обучаемым вектором. Посмотрим на карту таких векторов, разберём нужную арифметику и проследим обучение по двум кривым ошибки. ✓ пройдено -
Глава 6 Токены Восемь токенов могут вместить больше текста, чем восемь букв. Разберём BPE, байтовый словарь Ростка и то, почему разные языки занимают в нём разное число позиций. ✓ пройдено
3Трансформер
-
Глава 7 Внимание Научим модель смешивать сведения из разных мест контекста. Разберём запросы, ключи, значения и посмотрим, что действительно показывает карта внимания. ✓ пройдено -
Глава 8 Трансформер Проследим путь от эмбеддинга до следующего токена. Соберём блок Ростка, разберём нормировку и позиции, затем посчитаем все параметры модели. ✓ пройдено
4Большое обучение
-
Глава 9 Корпус Ростку нужна библиотека. Посмотрим, из каких текстов она собрана, как подготовить их к обучению и почему размер корпуса ещё не говорит, сколько текста модель прочитала. ✓ пройдено -
Глава 10 Обучение Как 10 070 шагов превращают случайные веса в модель, которая пишет истории? Разберём цикл обучения, сравним оптимизаторы и посмотрим на образцы из настоящего запуска. ✓ пройдено -
Глава 11 Как модель выбирает слово У модели есть вероятности продолжений, а программе нужно выбрать один токен. Разберём температуру, top-k и top-p, затем посмотрим, как кэш и квантование ускоряют генерацию. ✓ пройдено
5Разговор и дообучение
-
Глава 12 Учим разговаривать Как превратить продолжение текста в ответ собеседнику? Подготовим разговоры, разберём служебные метки и маску ошибки, а затем посмотрим, что изменилось после дообучения. ✓ пройдено -
Глава 13 Своё дообучение Заморозим исходные веса и обучим небольшие поправки: одну для пиратского голоса, другую для стихов. На примере LoRA разберём ранг матрицы, экономию памяти и проверку старых навыков. ✓ пройдено
6Росток-2: больше данных, модели и умений
-
Глава 14 Больше данных Корпус Ростка-2 — десять с половиной миллиардов токенов интернета, кода, вопросов с ответами и математики. Откуда берётся такая груда текста, что разрешают её лицензии и что с ней нужно сделать до первого шага обучения. ✓ пройдено -
Глава 15 Модель побольше У Ростка-2 125 миллионов параметров в тридцати узких блоках. Где эти параметры сидят, что нужно модели такого размера, без чего маленькая обходилась, как мы проверили всё это на маленьких копиях и как прошли девять миллиардов токенов обучения. ✓ пройдено -
Глава 16 Думать и пользоваться Python Базовая модель продолжает текст. Формат чата с новыми ролями, четверть миллиона разговоров и четыре круга исправлений превращают её в чат, который думает перед ответом и отдаёт арифметику программе на Python — и программа действительно запускается. ✓ пройдено
Что нужно знать заранее
- Школьная математика: дроби, степени, графики. Всё остальное объясним по дороге.
- Немного Python — или готовность разбирать код построчно вместе с нами.
- Для чтения и опытов нужен браузер. Для собственного обучения — компьютер с Python и PyTorch; поддерживаемая видеокарта или Mac с Apple silicon заметно ускорят работу.
Материалы курса
Весь код, корпус, диалоги и веса модели — открытые. Можно повторить каждый шаг у себя.
- 🐙Исходный код Ростка на 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