Курс на Stepik
Обложка курса «LLM своими руками: Transformer с нуля. Достаточно знать Python» на Stepik
3 990₽ -30%
--:--:--
2 793 ₽

LLM своими руками: Transformer с нуля. Достаточно знать Python ★ 0.000

Открыть на
STEPIK.ORG

Напишите и обучите свой Transformer на Python и PyTorch. Начните с первой генерации текста и разберитесь, как работает каждая часть модели.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python»Учеников на курсе 0
Сертификаты, выданные на курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python»Сертификатов выдано 0
Отзывы о курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python»Отзывов получено 0
Рейтинг курса «LLM своими руками: Transformer с нуля. Достаточно знать Python»Рейтинг курса 0.000
Уроки в курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python»Количество уроков 109
Тесты в курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python»Количество квизов 672
Задачи с кодом в курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python»Количество задач с кодом 64
Стоимость курса «LLM своими руками: Transformer с нуля. Достаточно знать Python»Стоимость курса 3 990 ₽ —
Обновления курса «LLM своими руками: Transformer с нуля. Достаточно знать Python»Обновления курса — —
Дата публикации курса «LLM своими руками: Transformer с нуля. Достаточно знать Python»Дата публикации курса — ———
Последнее обновление курса «LLM своими руками: Transformer с нуля. Достаточно знать Python»Последнее обновление — ———
Сложность normal — ———

Содержание курса

Разделы в курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python» 15 разделов Уроки в курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python» 109 уроков Тесты в курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python» 672 теста Задачи в курсе «LLM своими руками: Transformer с нуля. Достаточно знать Python» 64 задачи Последнее обновление курса «LLM своими руками: Transformer с нуля. Достаточно знать Python» обн. 1 октября 2026

Первая языковая модель на Python

5 уроков
1. Зачем предсказывать следующий символ ↗
2. Разминка Python перед первой моделью ↗
3. Собираем пары символов и запоминаем продолжения ↗
4. Первая генерация текста ↗
5. Вероятности и предел односимвольной модели ↗

Как учитывать два символа контекста

3 урока
1. Почему последнего символа недостаточно ↗
2. Точная память и незнакомый контекст ↗
3. Две независимые памяти и их предел ↗

От символов к обучаемым числам

8 уроков
1. Зачем снова начать с одного символа ↗
2. Одна операция для всей таблицы чисел ↗
3. Как читать форму тензора ↗
4. От тензора к обучаемой односимвольной модели ↗
5. Номера символов как адреса таблицы переходов ↗
6. От строки оценок к связанным вероятностям ↗
7. Почему деления на сумму недостаточно ↗
8. Логиты, вероятности и выбранный символ ↗

Как модель учится на ошибке

9 уроков
1. Почему «угадала или нет» недостаточно ↗
2. Ошибка одного предсказания ↗
3. Параметр и направление изменения ↗
4. Градиент и один шаг обучения ↗
5. Средняя ошибка на всём учебном тексте ↗
6. Обучаем односимвольную модель ↗
7. Вернём два символа: почему точной таблицы недостаточно ↗
8. Две обучаемые таблицы для двух позиций ↗
9. Одна ошибка для обеих позиций ↗

Нейросетевая модель фиксированного контекста

4 урока
1. Почему независимой суммы недостаточно ↗
2. От номера токена к эмбеддингу ↗
3. Как сохранить порядок двух токенов ↗
4. Как учесть две позиции вместе ↗

Обучение и генерация модели фиксированного контекста

3 урока
1. Обучаем все части модели ↗
2. Собираем модель одним объектом PyTorch ↗
3. Генерация и предел фиксированного контекста ↗

От среднего контекста к позиционному вниманию

7 уроков
1. Почему простого среднего недостаточно ↗
2. Задаём разные доли для разных позиций ↗
3. Почему доли по содержимому теряют порядок ↗
4. Добавляем в расчёт информацию о позиции ↗
5. Собираем модель с позиционным вниманием ↗
6. Обучаем модель на контекстах разной длины ↗
7. Генерация и предел позиционного внимания ↗

Что сравнивать и какие сведения переносить

5 уроков
1. Одна таблица выполняет три разные работы ↗
2. Почему три имени ещё не разделяют роли ↗
3. Выбираем преобразования и сравниваем варианты ↗
4. Доля позиции и переносимые сведения — разные объекты ↗
5. Что переносит значение V ↗

Модель внимания с раздельными ролями

11 уроков
1. Две стороны сравнения и отдельные ключи ↗
2. Отдельный запрос и стандартные имена ролей ↗
3. Как разделить роли внимания ↗
4. Считаем внимание через Q/K/V ↗
5. Собираем расчёт Q/K/V в функцию ↗
6. Встраиваем Q/K/V в модель ↗
7. Формы и градиенты трёх проекций ↗
8. Реализуем и обучаем модель ↗
9. Возвращаем генерацию и проверяем результат ↗
10. Сравниваем простое позиционное внимание и внимание с Q/K/V ↗
11. Паспорт модели и стоимость одного ответа ↗

Почему модели нельзя смотреть в будущее

9 уроков
1. От одного ответа к цели каждой позиции ↗
2. Почему одного вызова на позицию недостаточно ↗
3. Запрос каждой позиции и таблица сравнений ↗
4. Почему расчёт всех пар позволяет подсмотреть ответ ↗
5. Как возникает утечка правильного ответа ↗
6. Какие позиции разрешено видеть ↗
7. Как устроена причинная маска ↗
8. Почему две простые маски не работают ↗
9. Нормируем каждую строку отдельно ↗

Модель с причинным самовниманием

9 уроков
1. Карта данных и уже знакомые слои ↗
2. Собираем причинный прямой проход ↗
3. Проверяем новый путь по прежним ответам ↗
4. Каждая строка оценок получает свою цель ↗
5. Честно сравниваем два способа обучения ↗
6. Одна ошибка достигает всех параметров ↗
7. Обучаем фрагмент и возвращаем генерацию ↗
8. Почему параллельное обучение не делает генерацию параллельной ↗
9. Паспорт модели и проблема больших оценок ↗

Почему оценки внимания нужно масштабировать

11 уроков
1. Почему одна позиция получает почти всю вероятность ↗
2. Как обучение увеличивает оценки внимания ↗
3. Почему оценки растут вместе с шириной вектора ↗
4. Почему постоянный делитель не решает задачу ↗
5. Почему делим на корень из ширины ↗
6. Масштабирование и причинная маска ↗
7. Масштабированные доли внимания ↗
8. Добавляем масштабирование в прямой проход ↗
9. Обучение и генерация после масштабирования ↗
10. Паспорт модели с масштабированием ↗
11. Почему одной строки долей недостаточно ↗

Модель с многоголовым причинным самовниманием

9 уроков
1. Почему одной строки долей недостаточно ↗
2. Два расчёта для одного запроса ↗
3. Как сохранить результаты голов ↗
4. Собираем две головы явно ↗
5. Одна ошибка обучает обе головы ↗
6. Переносим головы на отдельную ось ↗
7. Тензорное многоголовое внимание ↗
8. Встраиваем несколько голов в модель ↗
9. Обучение, генерация и паспорт модели ↗

Собираем один Transformer-блок

9 уроков
1. Зачем нужна обработка внутри позиции ↗
2. Зачем между слоями нужна нелинейность ↗
3. Применяем одну сеть к каждой позиции ↗
4. Как сохранить уже полезные признаки ↗
5. Зачем блоку два остаточных пути ↗
6. Нормируем признаки каждой позиции ↗
7. Куда поставить нормализацию ↗
8. Собираем Transformer-блок ↗
9. Обучаем модель с одним Transformer-блоком ↗

Собираем собственный Transformer

7 уроков
1. Зачем модели несколько раундов ↗
2. Один блок дважды или независимые блоки ↗
3. Полная модель для одного окна ↗
4. От одного окна к пакету ↗
5. Пакет учебных окон ↗
6. Обучаем весь Transformer ↗
7. Transformer продолжает текст ↗