Стэндфордский курс CME295: глубокое погружение в архитектуру Transformer

Stanford Online 704 тыс. 1 ч 41 мин 5 мин 17.10.2025
Главное

В Стэндфордском университете стартовал обновленный курс CME295, посвященный архитектуре трансформеров и большим языковым моделям (LLM). Преподаватели Афшин и Шервин Амиди, братья-близнецы с опытом работы в Uber, Google и Netflix, представили глубокий разбор механизмов, которые лежат в основе современных ИИ-инструментов вроде ChatGPT и Gemini.

🎓 Введение в курс CME295: от мастер-классов к академической дисциплине 0:05

Афшин Амиди открыл лекцию, представив себя и своего брата Шервина. Оба преподавателя получили образование во Франции (Centrale Paris), после чего Афшин обучался в MIT, а Шервин — в Стэндфорде . Их карьерные пути практически идентичны: работа в Uber, переход в Google и, наконец, в Netflix, где они специализируются на больших языковых моделях .

История этого курса началась в 2020 году с ежегодных воркшопов по NLP. Однако после выхода ChatGPT в 2022 году интерес к теме резко возрос, что привело к созданию полноценного курса CME295 в Стэндфорде весной 2024 года . Основные цели курса:

Логистика курса включает два экзамена — промежуточный (24 октября) и финальный (неделя 8 декабря), каждый из которых составляет 50% итоговой оценки . В качестве основного учебного пособия рекомендуется книга «Super Study Guide — Transformer LLMs», написанная авторами курса .

📑 Три кита NLP: задачи и метрики оценки 10:56

Естественный язык (NLP) Афшин Амиди классифицирует на три основные категории в зависимости от типа входных и выходных данных:

  1. Классификация: Текст на входе — метка на выходе. Примеры: анализ тональности (sentiment analysis), детекция намерений (intent detection) и определение языка .
  2. Мультиклассификация: Прогнозирование нескольких меток для одного текста. Ключевой пример — распознавание именованных сущностей (NER), где модель выделяет в тексте локации, имена и даты .
  3. Генерация текста: Текст на входе — текст на выходе переменной длины. Сюда входят машинный перевод, ответы на вопросы (как в ChatGPT) и суммаризация текстов .

Для оценки классификационных моделей Афшин рекомендует использовать не только общую точность (accuracy), но и метрики Precision, Recall и F1-score, так как данные часто бывают несбалансированными . В задачах генерации ситуация сложнее: традиционно используются метрики BLEU и ROUGE, основанные на сравнении с эталонным текстом . Однако получение эталонов — дорогостоящий процесс. По словам Афшина, развитие LLM позволяет постепенно переходить к «reference-free» метрикам, которые не требуют заранее написанных человеком ответов . Также важным показателем остается перплексия (perplexity), отражающая степень «неуверенности» модели в своем ответе .

✂️ Токенизация: как нейросети «едят» текст 23:05

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

В современных мультиязычных моделях размер словаря обычно составляет сотни тысяч токенов .

🧠 От Word2vec к эмбеддингам: поиск смысла в числах 30:39

Наивный метод представления слов — One-Hot Encoding (векторы из нулей и одной единицы) — не позволяет вычислять схожесть слов, так как все векторы в нем ортогональны . Решением стало обучение эмбеддингов — плотных векторов, где похожие слова имеют высокую косинусную схожесть .

Афшин напоминает о революционной работе Word2vec (2013), которая предложила два метода обучения через прокси-задачи:

  1. CBOW (Continuous Bag of Words): Предсказание целевого слова по контексту .
  2. Skip-gram: Предсказание окружающих слов по одному целевому .

Цель этих задач — не само предсказание, а получение весов скрытого слоя нейросети, которые и становятся векторными представлениями слов . Типичная размерность такого вектора сегодня составляет около 768 единиц, хотя это значение эмпирическое и зависит от сложности задач и требований к задержке (latency) .

🔄 Эволюция моделей: RNN, LSTM и проблема «забывчивости» 54:14

Для учета порядка слов долгое время использовались рекуррентные нейросети (RNN). Они обрабатывают токены последовательно, сохраняя «скрытое состояние» (hidden state) как память о прочитанном . Однако у RNN есть фатальный недостаток — затухающий градиент (vanishing gradient).

По словам Афшина, при обработке длинных предложений модель «забывает» начало текста, так как градиенты при обратном распространении ошибки стремятся к нулю . Попытки решить это с помощью архитектуры LSTM (Long Short-Term Memory) добавили «состояние ячейки» для долгосрочной памяти, но не решили проблему медленных вычислений: последовательная природа RNN не позволяет эффективно задействовать мощности современных GPU .

🔦 Механизм внимания: «Внимание — это всё, что вам нужно» 1:05:14

В 2014 году появилась идея механизма внимания (Attention), позволяющего модели устанавливать прямые связи между текущим словом и любым словом в прошлом, независимо от расстояния между ними . Вершиной этой эволюции стала статья 2017 года «Attention is All You Need», представившая архитектуру Transformer .

Главная инновация — отказ от рекурсии в пользу Self-Attention (самовнимания). Теперь каждый токен может смотреть на все остальные токены в последовательности одновременно . Это позволяет модели понимать контекст: например, слово «bank» получит разные представления в контексте «river bank» (берег реки) и «robbing a bank» (ограбление банка) .

Для реализации внимания используются три вектора:

Схожесть вычисляется через скалярное произведение Query и Key, что затем используется для взвешивания значений Value . Поскольку эти операции можно представить в виде матриц, они идеально подходят для параллельных вычислений на GPU .

🏗️ Архитектура Трансформера: Энкодер и Декодер 1:14:01

Шервин Амиди подробно разобрал классическую архитектуру, состоящую из двух блоков:

  1. Энкодер (слева): Принимает входной текст и создает богатые контекстные представления токенов .
  2. Декодер (справа): Генерирует выходную последовательность шаг за шагом .

В декодере используется «маскированное самовнимание» (masked self-attention), чтобы модель не могла «подсматривать» в будущие слова при обучении генерации . Также в декодере есть слой кросс-внимания (cross-attention), где запросы приходят из декодера, а ключи и значения — из энкодера .

Дополнительные важные компоненты:

Процесс генерации в декодере продолжается итеративно, пока модель не выдаст специальный токен EOS (End of Sequence) — конец последовательности .

💬 Цитаты

«Если к концу курса у вас сложится ментальная карта этих аббревиатур, значит, мы хорошо справились со своей работой.»

Афшин Амиди 10:30

«Внимание — это механизм, позволяющий иметь прямую связь между тем, что мы предсказываем, и чем-то из прошлого.»

👥 Спикеры
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
OOV (Out-Of-Vocabulary)
Проблема появления в тексте слов, которых не было в обучающем словаре модели.
Self-Attention (Самовнимание)
Механизм, позволяющий каждому элементу последовательности взаимодействовать со всеми остальными для вычисления контекста.
Эмбеддинг (Embedding)
Представление слова или токена в виде вектора чисел в многомерном пространстве.
Label Smoothing
Метод регуляризации, предотвращающий чрезмерную уверенность модели в предсказании одной конкретной метки.
📊 Цифры
🗓 Хронология
  1. 2013 Выход статьи о Word2vec, изменившей подход к созданию эмбеддингов слов.
  2. 2017 Публикация архитектуры Transformer, отказавшейся от рекуррентных связей.
  3. 2022 Релиз ChatGPT, вызвавший взрывной интерес к теме больших языковых моделей.
  4. весна 2024 Запуск первой итерации полноценного курса CME295 в Стэндфорде.
⚖️ Другая сторона
Искусственный интеллект Transformer LLM Stanford Online Self-Attention Tokenization