Будущее архитектур обработки естественного языка (NLP) наступило с появлением XLNet. Эта модель, представленная исследователями из Университета Карнеги — Меллон и Google Brain, стала «слоном в комнате» для сообщества машинного обучения, поскольку она первой смогла систематически превзойти BERT на множестве сложнейших задач. Янник Килчер (Yannic Kilcher) подробно разбирает, почему XLNet — это не просто очередной «BERT на стероидах», а глубокое переосмысление методик предварительного обучения нейросетей.
🏆 Новый лидер в мире NLP: XLNet против BERT 0:00
На момент выхода XLNet показала ошеломляющие результаты, достигнув статуса state-of-the-art (SOTA) в 18 из 20 протестированных задач. Среди них — ответы на вопросы, естественный логический вывод и анализ тональности текста . Как отмечает Янник Килчер (Yannic Kilcher), самое примечательное здесь то, что архитектура XLNet во многом идентична BERT, а весь прорыв кроется в инновационной процедуре предварительного обучения .
🔄 Две парадигмы: Авторегрессия против Автокодирования 1:07
Чтобы понять суть XLNet, Янник Килчер (Yannic Kilcher) предлагает разделить существующие методы обучения на две категории :
- Авторегрессионное моделирование (AR): Классический подход, где модель предсказывает следующий токен в последовательности на основе предыдущих (например: «Мама мыла...» -> «раму») . Это естественный способ генерации текста, но его главный минус — однонаправленность. Модель «видит» только то, что слева, и игнорирует контекст справа .
- Автокодирование (AE), представленное BERT: Здесь модель получает всё предложение сразу, но некоторые слова в нём скрыты (маскированы). Задача — восстановить скрытые токены, используя двусторонний контекст .
По мнению автора видео, BERT совершил революцию именно за счёт двунаправленности, но принёс в жертву важные зависимости между словами .
🗽 Проблема «Нью-Йорка»: В чём BERT ошибается? 4:41
Янник Килчер (Yannic Kilcher) приводит наглядный пример с фразой «New York is a city» . Если мы маскируем слова "New" и "York", BERT будет предсказывать их независимо друг от друга.
- Для BERT вероятность того, что второе слово «York», никак не зависит от того, предсказал ли он первым словом «New» .
- В итоге модель может выдать нелепицу вроде «Los York» или «New Francisco», так как каждое слово по отдельности вписывается в контекст «... ... is a city», но вместе они не образуют логичного словосочетания .
XLNet решает эту проблему, сохраняя авторегрессионную природу: если модель сначала предсказала «New», то при предсказании второго слова она обязательно учтёт этот факт .
🎲 Магия пермутаций: Как обучить модель видеть всё сразу 10:20
Главная идея XLNet заключается в обучении на всех возможных перестановках (пермутациях) порядка токенов . Вместо того чтобы всегда идти слева направо, XLNet выбирает случайный порядок декодирования для каждого предложения .
- В одном цикле обучения модель может предсказывать «Нью» на основе «Йорк», а в другом — наоборот .
- В ожидании (in expectation) модель обучается учитывать весь двусторонний контекст, как BERT, но делает это шаг за шагом, сохраняя зависимости между предсказанными токенами .
- Янник Килчер (Yannic Kilcher) подчёркивает: это математически чистое решение, которое объединяет преимущества обоих миров — двунаправленность BERT и логическую связность AR-моделей .
🛠 Двухпотоковое внимание: Инженерный вызов 19:21
Реализация идеи пермутаций потребовала изменения архитектуры трансформера. Возникла коллизия: если мы хотим предсказать слово в позиции $i$, нам нужно знать его позицию, но нельзя знать само слово (информацию о его эмбеддинге) .
Для этого разработчики внедрили Two-Stream Self-Attention:
- Содержимый поток (Content Stream): обычное представление, включающее информацию о самом слове .
- Запросный поток (Query Stream): содержит информацию только о позиции, но не о содержимом текущего токена .
Эта «инженерная уловка» позволяет модели делать несколько предсказаний за один проход, не «подсматривая» правильные ответы в процессе обучения .
💾 Наследие Transformer-XL и проблема стоимости 24:08
Помимо основного метода, XLNet заимствует наработки Transformer-XL, такие как механизм памяти (кеширование скрытых состояний) и относительное позиционное кодирование . Это позволяет модели работать с очень длинными текстами, передавая информацию из одного сегмента в другой .
Однако Янник Килчер (Yannic Kilcher) выражает обеспокоенность стоимостью таких исследований. Согласно приведённым в обзоре данным, одно полное обучение XLNet может стоить около 245 000 долларов .
- Это вызывает вопросы о доступности передовой науки для академических кругов и небольших лабораторий .
- По мнению автора, в некоторых областях ИИ сейчас наблюдается ситуация, когда побеждает тот, кто «выложит больше денег на стол» для покупки вычислительных мощностей .
Тем не менее Янник Килчер (Yannic Kilcher) признаёт, что идея XLNet изящна и действительно двигает область вперёд, доказывая, что архитектурные инновации всё ещё важнее простого наращивания данных .