XLNet против BERT: как случайные перестановки слов помогли ИИ побить рекорды

Yannic Kilcher 25,9 тыс. 30 мин 5 мин 03.07.2019
Главное

В мире искусственного интеллекта и обработки естественного языка (NLP) долгое время доминировал BERT, устанавливая рекорды один за другим. Однако исследователи из Университета Карнеги — Меллона и Google Brain представили XLNet — архитектуру, которая не просто бросила вызов лидеру, но и превзошла его в большинстве ключевых тестов. Популярный ИИ-блогер и исследователь Янник Кильхер (Yannic Kilcher) подробно разбирает, почему XLNet стал «слоном в комнате» и как объединение двух классических подходов к обучению привело к новому прорыву.

🐘 Слон в комнате: XLNet превосходит BERT 0:00

На сегодняшний день XLNet является первой моделью, которой удалось превзойти BERT (Bidirectional Encoder Representations from Transformers) во множестве задач обработки естественного языка . По словам Янника Кильхера, результаты XLNet впечатляют: модель обошла своего предшественника в 20 различных тестах, установив новые рекорды (SOTA) в 18 из них .

Среди областей, где XLNet показал преимущество:

Несмотря на схожесть архитектуры с BERT, ключевое отличие кроется в процедуре предобучения (pre-training) . Янник Кильхер подчеркивает, что разработчики XLNet решили объединить два основных метода обучения языковых моделей, чтобы избавиться от недостатков каждого из них.

🔄 Две школы обучения: Авторегрессия против Автоэнкодинга 1:07

Для понимания сути XLNet необходимо разделить современные методы предобучения на два типа. Первый тип — это авторегрессионное (AR) моделирование . В этом подходе модель предсказывает следующее слово в последовательности на основе всех предыдущих. Например, в фразе «Обучение представлений было весьма...» модель должна предсказать слово «успешным» . Каждый токен в этой цепочке может «смотреть» только назад, на уже предсказанные слова.

Второй тип — это автоэнкодинг (AE), на котором основан BERT . Вместо того чтобы предсказывать слова по порядку, BERT берет целую последовательность, маскирует в ней случайные токены (около 15%) и просит модель восстановить их . Это дает модели доступ ко всему контексту (и слева, и справа), но порождает свои проблемы.

🏙️ Проблема «Нью-Йорка» в BERT 4:13

Янник Кильхер приводит наглядный пример того, где BERT допускает ошибки из-за отсутствия авторегрессии. Рассмотрим предложение: «Нью-Йорк — это город» (New York is a city) .

Если мы замаскируем слова «Нью» и «Йорк», BERT будет пытаться предсказать их независимо друг от друга. По мнению Кильхера, это приводит к следующим рискам:

XLNet решает эту проблему, сохраняя порядок предсказания. Если модель сначала предсказывает «Нью», то при предсказании следующего слова она уже опирается на тот факт, что первым словом было «Нью», что делает выбор «Йорка» практически неизбежным .

🎲 Метод пермутаций: лучшее из двух миров 8:43

Главная инновация XLNet — это Permutation Language Modeling (языковое моделирование на основе перестановок). Авторегрессионные модели обычно ограничены направлением (слева направо). Чтобы получить двусторонний контекст, как у BERT, но сохранить зависимости авторегрессии, XLNet предлагает тренироваться на всех возможных порядках слов в предложении .

Янник Кильхер объясняет это на примере:

  1. У нас есть предложение из 5 слов.
  2. Вместо обычного порядка 1-2-3-4-5, мы можем выбрать случайную перестановку, например, 3-2-4-1-5 .
  3. Если нам нужно предсказать 3-е слово в этой перестановке, оно будет считаться первым и не иметь контекста.
  4. Но если в другой раз выпадет порядок 2-4-3-1-5, то при предсказании 3-го слова модель уже сможет «видеть» 2-е и 4-е слова .

Таким образом, за счет множества случайных перестановок в процессе обучения, модель в среднем видит весь контекст предложения (как BERT), но делает предсказания последовательно, учитывая зависимости между словами (как классические AR-модели) .

🏗️ Двухпоточное внимание (Two-Stream Attention) 19:21

Реализация идеи с перестановками потребовала архитектурных изменений в Трансформере. Возникла проблема: если мы хотим предсказать слово в позиции $i$, модель должна знать, где это слово находится, но не должна знать, какое это слово .

Для этого в XLNet введено «двухпоточное внимание»:

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

🧠 Интеграция с Transformer-XL и результаты 24:08

XLNet не ограничивается только перестановками. В модель включены наработки из Transformer-XL, которые значительно улучшают работу с длинными текстами:

В ходе тестов (Ablation Studies) было доказано, что успех XLNet — это не просто заслуга дополнительных «фишек» от Transformer-XL, а именно результат применения метода перестановок .

💸 Цена прогресса: $245 000 за обучение 28:55

В завершение обзора Янник Кильхер поднимает важный этический и практический вопрос. Согласно сторонним расчетам, обучение XLNet в том виде, в котором оно описано в научной статье, обошлось примерно в $245 000 .

Кильхер называет эту цифру «безумием» и отмечает следующие риски:

  1. Барьер для академической среды: университеты и небольшие лаборатории не могут позволить себе такие расходы, что концентрирует исследования в руках гигантов вроде Google .
  2. Воспроизводимость: проверить результаты такой работы крайне сложно из-за огромной стоимости ресурсов.
  3. Гонка бюджетов: создается впечатление, что сейчас в ИИ побеждает тот, кто может выложить больше денег на стол .

Тем не менее, автор признает, что XLNet — это «по-настоящему крутая идея», которая двинула всю индустрию вперед, несмотря на свою дороговизну.

💬 Цитаты

«XLNet — это первый алгоритм, который смог победить BERT во многих задачах, где BERT ранее доминировал.»

Янник Кильхер 00:13

«Стоимость обучения в 245 тысяч долларов — это безумие... это ставит вопросы о способности академических игроков участвовать в исследованиях.»

Янник Кильхер 29:22
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Авторегрессия (AR)
Метод обучения, где каждое следующее слово предсказывается на основе цепочки предыдущих.
Автоэнкодинг (AE)
Метод, при котором модель восстанавливает пропущенные (замаскированные) части текста, видя весь контекст.
Пермутация
Случайная перестановка элементов последовательности.
SOTA (State of the Art)
Наивысший зафиксированный результат в конкретной научной или технической задаче.
Абляция (Ablation study)
Эксперимент, в котором из системы поочередно удаляются компоненты, чтобы понять вклад каждого в итоговый результат.
📊 Цифры
🗓 Хронология
  1. 2018 Выпуск модели BERT, ставшей стандартом в NLP.
  2. 2019 Публикация статьи об XLNet и достижение новых SOTA результатов.
⚖️ Другая сторона
Искусственный интеллект XLNet BERT Google Brain Янник Кильхер Transformer-XL