Вклад ByteDance в BERTology (да, люди из TikTok!)

Когда мы подумали, что все вариации названий BERT были взяты (RoBERTa, ALBERT, FlauBERT, ColBERT, CamemBERT и т. Д.), Появляется AMBERT, еще одна инкрементальная итерация маппета-трансформера, которая взял на себя понимание естественного языка. AMBERT был опубликован 27 августа компанией ByteDance, разработчиком TikTok и Toutiao.

AMBERT предлагает простой поворот к BERT: дважды разметить входные данные, один раз с помощью мелкозернистого токенизатора и один раз с помощью крупнозернистого токенизатора.

Эта статья в основном представляет собой краткое изложение статьи AMBERT, предназначенной для выделения основных идей без мельчайших деталей, но я иногда буду вмешиваться с личными наблюдениями. Я буду ставить перед моими комментариями / идеями эмодзи 🤔.

Основная идея: двусторонняя токенизация

AMBERT предлагает простой поворот к BERT: разметить ввод дважды, один раз с помощью детального токенизатора (уровень вложенного слова или слова в английском языке, уровень символа в китайском языке) и один раз с помощью грубого -зернистый токенизатор (уровень фраз на английском, уровень слов на китайском). Мы надеемся использовать лучшее из обоих миров. Первое подразумевает меньший словарный запас, меньшее количество токенов вне словарного запаса, больше обучающих данных на токен и, следовательно, лучшее обобщение. Последнее предназначено для борьбы с сильными предубеждениями, которые модели, основанные на внимании, усваивают с помощью детализированной токенизации. Например, знак «новый» будет строго относиться к «йорку», даже если их сосуществование в предложении не связано с Нью-Йорком (например, «Новая часовня в Йоркском соборе была построена в 1154 году»).

Приведенный выше пример показывает, что, когда мелкозернистые токены «a» и «новые» объединяются в один крупнозернистый токен «a_new», модель правильно направляет свое внимание на «часовню».

Как отмечают авторы документа, грубая токенизация не всегда может быть идеальной - более длинные токены подразумевают большую двусмысленность в том, как группировать символы в токены. 🤔 Например, рассмотрите такой вариант, как «Я мечтаю о Нью-Йорке с бесконечным летом». Возможно, что указанный выше токенизатор по ошибке создаст два токена «a_new» и «york». Есть надежда, что в данном конкретном случае модель будет больше доверять мелкозернистой токенизации «a» / «new» / «york».

Два входа используют кодировщик BERT.

Прямой проход по модели состоит из следующих двух шагов:

  1. текстовые токены → вложения токенов (через отдельные веса): каждый список токенов (один мелкозернистый, один крупнозернистый) ищется в его собственном вложении матрица и превратилась в список действительных векторов.
  2. встраивания токенов → контекстные встраивания (через общие веса): два вектора с действительными значениями передаются в один и тот же кодировщик BERT (стек Transformer Layers), что может быть выполнено либо последовательно через одну копию кодировщика, либо параллельно через две копии кодировщика со связанными параметрами. В результате получается два списка контекстных встраиваний для каждого токена.

Поскольку AMBERT использует две матрицы внедрения (по одной для каждой токенизации), его количество параметров заметно больше, чем у BERT (194 млн против 110 млн для английских базовых моделей). Однако задержка остается относительно неизменной, поскольку AMBERT только добавляет новый набор поисков по словарю.

Вариации AMBERT

В оригинальной версии AMBERT есть два веских дизайнерских решения:

  1. Два входа используют общий кодировщик, как объяснялось в предыдущем разделе.
  2. Два входа независимы друг от друга. Мелкозернистые токены не обслуживают грубые токены, и наоборот. Их окончательные контекстные вложения не зависят друг от друга.

Авторы предлагают две альтернативные версии, чтобы оспорить эти решения:

  1. AMBERT-Combo имеет два отдельных кодировщика, по одному для каждой токенизации; это увеличивает размер английской модели с 194M до 280M.
  2. AMBERT-Hybrid возвращается к традиционной модели BERT и изменяет свои входные данные исключительно так, чтобы они были объединением двух токенизаций.

Прежде чем углубиться в процедуру тренировки и производительность AMBERT, давайте избавимся от этих двоих. Если рассматривать агрегированные показатели по сравнению с контрольными показателями классификации и понимания машинного чтения, ванильный AMBERT превосходит два варианта. AMBERT-Combo иногда получает более высокие баллы по отдельным задачам. Исследования абляции подтверждают следующие гипотезы:

  1. AMBERT-Combo в основном недостаточно эффективен ванильным AMBERT, потому что два отдельных кодировщика препятствуют обмену информацией между токенизациями и позволяют их соответствующим выходным контекстным вложениям расходиться.
  2. AMBERT-Hybrid позволяет тонко настроенному токену обращаться к какому-то близкому аналогу с грубым зерном (то же самое или его расширение), что ослабляет важное внимание к интра-токенизации.

Процедура обучения

Для предварительного обучения авторы используют стандартную задачу Маскированной языковой модели (MLM), маскируя одни и те же отрезки текста в обеих лексемах (например, если маскируется крупнозернистый токен «a_new», то же самое можно сказать о доработанных токенах «а» и «новых»). Окончательная потеря суммирует стандартные потери кросс-энтропии от обеих токенизаций.

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

Результаты тестов NLU

В среднем AMBERT иногда превосходит другие модели, основанные на BERT, с большим отрывом от китайских тестов, чем от английских.

  • По сравнению с другими моделями, основанными на BERT, с точностью, указанной в соответствующих оригинальных статьях, AMBERT получает 0,9% по классификации CLUE (китайский язык) и теряет 0,4% по классификации GLUE (английский язык). . Как отмечают авторы AMBERT, это сравнение следует интерпретировать осторожно, поскольку базовые уровни обучались в несколько разных режимах.
  • По сравнению со стандартной моделью BERT (с обычной токенизацией словесных фрагментов), повторно обученной авторами в тех же условиях, что и AMBERT, последняя получает 2,77% по классификации CLUE (китайский язык) и выросла на 1,1% на GLUE (английский). 🤔 При этом сравнении следует учитывать, что базовые показатели BERT имеют значительно меньше параметров (110 млн против 194 млн для английского языка).

🤔 Примечание о крупнозернистой токенизации

Я должен начать с оговорки о том, что я очень мало знаю о китайской токенизации; объем моих знаний ограничен тем, что предлагают авторы статьи. Судя по их описанию, крупнозернистая лексема на китайском языке - это естественное объединение символов в слова:

Иероглифы в китайских текстах естественно воспринимаются как мелкие жетоны. Мы проводим сегментацию слов по текстам и обрабатываем слова как токены общего назначения. Для этой задачи мы используем инструмент сегментации слов, разработанный в ByteDance.

Вместо этого я сосредоточусь на грубой токенизации на английском языке:

Грубую токенизацию английских текстов мы проводим следующим образом. В частности, мы сначала вычисляем n-граммы в текстах, используя KenLM (Heafield, 2011) и Википедию. Затем мы создаем словарь на уровне фраз, состоящий из фраз, частота которых достаточно высока и последние слова которых сильно зависят от своих предыдущих слов. Затем мы используем жадный алгоритм для токенизации текстов на уровне фраз.

Это описание несколько волнистое, особенно для статьи, в названии которой есть слово «токенизация». Хотя точная процедура заслуживает большей ясности, алгоритм высокого уровня выглядит следующим образом: 1) построить словарь фраз из Википедии, 2) сократить его на основе частот и эвристики, которая определяет фразы, в которых изменение стартовых токенов сильно влияет на значение конечные жетоны.

Проблема в том, что более длинные токены неизбежно становятся более специфичными для домена, особенно если они выбираются на основе частоты. Если характер набора данных точной настройки (скажем, юридических документов) отличается от Википедии, большинство крупнозернистых токенов могут быть вне словарного запаса, и в этом случае модель будет полагаться исключительно на мелкозернистые токены (т. Е. Вернуться к стандартный BERT). Фактически, эта проблема видна даже без сдвига предметной области: исследование абляции, проведенное в статье AMBERT, грубо токенизирует 10 тысяч английских предложений (предположительно из Википедии) и обнаруживает, что 86% из них перекрываются с мелкозернистыми токенами.

Другой вопрос, может ли крупнозернистая лексема сделать доступными многоязычные модели - общий объем словарного запаса может быть чрезмерно дорогим.

В целом исследования в области понимания естественного языка движутся в противоположном направлении, от более грубой к более мелкой гранулярности: BERT заменил стандартные лексемы word на sub-word единицы. Действительно, есть исследование [2], показывающее, что маскирование более длинных промежутков в MLM полезно, но в таких статьях говорится о степени детализации выходных, а не входных.

Заключение

AMBERT дополняет BERT двумя уровнями детализации токенизации, показывая многообещающие результаты на тестах на китайском языке. Прирост ниже для английских наборов данных, где грубая токенизация более неоднозначна. Тем не менее идея нескольких уровней токенизации остается привлекательной. Можно было бы рассмотреть даже более тонкие уровни детализации для английского языка или токенизации с той же степенью детализации, произведенные разными алгоритмами.

использованная литература

  1. Чжан и Ли, AMBERT: Предварительно подготовленная языковая модель с многоуровневой токенизацией (август 2020 г.)
  2. Джоши и др .: SpanBERT: Улучшение предварительного обучения путем представления и прогнозирования промежутков времени (2019)