AI и машинное обучение

Учебник LLM для начинающих

27 уроков · 6 разделов · бесплатно, без регистрации

Этот курс заглядывает внутрь больших языковых моделей и объясняет, что на самом деле происходит между вашим вопросом и ответом ChatGPT или Claude. От токенизации и эмбеддингов через механизм внимания и архитектуру трансформера к обучению (предобучение, SFT, RLHF) и генерации текста. Ключевые механизмы — BPE, веса self-attention, сэмплирование — даны запускаемыми Python-примерами, которые можно выполнить прямо в браузере. Курс рассчитан на тех, кто знаком с основами нейросетей и Python, и честно говорит как о силе LLM, так и о её границах.

Курс «LLM: как устроены большие языковые модели» состоит из 6 разделов и 27 уроков: Что такое LLM, Токены и эмбеддинги, Механизм внимания (attention), Архитектура трансформера, Обучение LLM и Генерация и использование. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Что такое LLM

    1. Языковая модель как предсказатель следующего токена

      Что такое большая языковая модель: в основе ChatGPT и Claude — одна задача, предсказание следующего токена по предыдущим. Разбираем идею на пальцах.

    2. От n-грамм к нейросетям: краткая предыстория

      Как развивались языковые модели: от частотных n-грамм к рекуррентным сетям и трансформерам. Почему статистика слов упёрлась в потолок и что её заменило.

    3. Масштаб и эмерджентность: почему размер решает

      Параметры, данные и вычисления: что значит «большая» в Large Language Model. Законы масштабирования и эмерджентные способности, появляющиеся с ростом модели.

    4. Как из предсказания слова получается диалог

      Путь от голой языковой модели к чат-боту: чат-разметка, роли system/user/assistant, дообучение под инструкции и почему ассистент вежливо отвечает, а не просто продолжает текст.

  2. 2 Токены и эмбеддинги

    1. Токенизация: почему не слова и не буквы, а подслова

      Как текст превращается в токены: почему модели используют подслова, а не целые слова или отдельные буквы. Баланс между размером словаря и длиной последовательности.

    2. BPE: как строится словарь токенов (запускаемый пример)

      Byte-Pair Encoding шаг за шагом: алгоритм, который сливает самые частые пары символов в новые токены. Запускаемый Python-пример со слияниями на маленьком корпусе.

    3. Эмбеддинги токенов: вектор на токен (запускаемая близость)

      Как токены превращаются в обучаемые векторы-эмбеддинги, где близость означает смысловую похожесть. Запускаемый пример косинусной близости и проблема one-hot.

    4. Позиционные кодировки: зачем модели порядок (запускаемый пример)

      Почему механизм внимания сам по себе не различает порядок слов и как это чинят позиционные кодировки. Синусоидальные позиции в запускаемом Python-примере.

  3. 3 Механизм внимания (attention)

    1. Проблема: на что смотреть в контексте

      Зачем вообще нужно внимание: токену для понимания нужны не все слова контекста одинаково, а избирательно. Разрешение неоднозначностей и дальние связи в тексте.

    2. Query, Key, Value: идея механизма

      Тройка query, key, value как сердце внимания: запрос ищет подходящие ключи, а возвращает связанные с ними значения. Аналогия с поиском и роль обучаемых матриц.

    3. Расчёт весов внимания: softmax(QKᵀ)·V вручную (запускаемый пример)

      Полная формула self-attention на маленьких векторах: скалярное произведение Q и K, масштабирование, softmax и взвешенная сумма V. Запускаемый Python-пример по шагам.

    4. Multi-head attention: зачем несколько голов (запускаемый пример)

      Почему трансформер использует не одно, а несколько параллельных вниманий-голов. Разные головы ловят разные типы связей. Запускаемый пример с двумя расходящимися головами.

    5. Self-attention против cross-attention

      Два режима внимания: self-attention внутри одной последовательности и cross-attention между двумя. Где какой применяется в GPT, в переводчиках и в энкодер-декодерах.

  4. 4 Архитектура трансформера

    1. Блок трансформера: attention, feed-forward, residual, нормализация

      Из чего состоит один блок трансформера: внимание, полносвязная сеть, остаточные связи и нормализация слоя. Запускаемый пример residual + LayerNorm.

    2. Стек блоков: как контекст течёт через слои

      Почему трансформеры глубокие: десятки одинаковых блоков один над другим. Как представление токена обогащается от слоя к слою — от поверхностных признаков к смыслу.

    3. Декодер-онли и причинная маска (запускаемый пример)

      Архитектура GPT-типа: декодер-онли и причинная (каузальная) маска, запрещающая токену смотреть в будущее. Зачем это нужно для обучения и генерации. Запускаемый пример.

    4. Контекстное окно: память модели в токенах

      Что такое контекстное окно: сколько токенов модель удерживает одновременно. Почему окно ограничено, как оно тратится на промпт и ответ и что происходит при переполнении.

  5. 5 Обучение LLM

    1. Предобучение: предсказание следующего токена на всём интернете

      Как обучают базовую LLM: self-supervised предсказание следующего токена на гигантских текстах. Откуда берётся обучающий сигнал без ручной разметки.

    2. Функция потерь, perplexity и масштаб

      Как измеряют качество предсказания токена: кросс-энтропийная потеря и perplexity. Запускаемый пример связи уверенности и потери, и почему масштаб снижает потерю.

    3. Дообучение под инструкции (SFT)

      Supervised fine-tuning: как из базовой модели делают послушного ассистента на парах «инструкция → ответ». Зачем это нужно и чем отличается от предобучения.

    4. RLHF и выравнивание: почему модель вежливая

      Обучение с обратной связью от человека (RLHF) и выравнивание: как из послушной модели делают полезного, честного и безопасного ассистента. Идея reward-модели и предпочтений.

    5. Галлюцинации: почему модель уверенно ошибается

      Откуда берутся галлюцинации LLM: модель оптимизирована на правдоподобие, а не на истину. Почему она выдумывает факты с уверенным тоном и как с этим бороться.

  6. 6 Генерация и использование

    1. Инференс: авторегрессия токен за токеном

      Как модель генерирует ответ во время работы: авторегрессивный цикл, добавление токена к контексту, роль KV-кэша и почему длинные ответы генерируются дольше.

    2. Сэмплирование: greedy, temperature, top-k, top-p (запускаемый пример)

      Как из распределения выбирается следующий токен: жадный выбор, температура, top-k и top-p (nucleus). Запускаемый пример влияния temperature на распределение.

    3. Чего LLM не умеет: счёт, арифметика, свежие факты (запускаемый пример)

      Честно об ограничениях: почему LLM ошибается в подсчёте букв и арифметике, не знает свежих событий и не выполняет вычислений. Запускаемый пример и обходные пути.

    4. Квантизация и размеры моделей: обзор

      Что значат 7B, 70B и квантизация: как размер модели и точность чисел влияют на качество, скорость и возможность запуска. Компромиссы между большой и маленькой моделью.

    5. Мост к промпт-инжинирингу и RAG

      Куда двигаться дальше: промпт-инжиниринг как управление моделью через вход и RAG как способ дать модели свежие, проверенные знания. Связь с ограничениями LLM.