BERT и его варианты также захватили ландшафт НЛП в 2021 году. В NeurIPS2020 и ICLR2020 было опубликовано более 20 статей, продвигающих BERT или трансформаторы, и эта тенденция продолжается! В этом посте мы проанализируем, какие из последних достижений необходимы и когда они могут быть полезны.

Первоначальные улучшения по сравнению с BERT либо увеличили объем данных, либо увеличили вычислительную мощность, чтобы превзойти его. Однако в последнее время модели сделали концептуальные и архитектурные усовершенствования по сравнению с BERT, начиная со StructBERT и ALBERT.

StructBERT: он же ALICE, включает языковые структуры в процесс подготовки к обучению. В частности, он вводит новую целевую функцию, называемую WSO (слово «структурная цель»). WSO предназначен для предсказания порядка слов в предложении. Это достигается за счет маскировки 15% токенов, аналогично BERT, но с последующим обучением предсказанию правильного положения перетасованных 15% токенов. В результате модель начинает учить порядок слов! Они также вводят SSO (цель структуры предложения), которая представляет собой модифицированную версию BERT's Next Sentence Prediction (NSP task) для прогнозирования как следующего, так и предыдущего предложения, что снова улучшает возможности модели в отношении упорядочивания. Это один из первых способов превзойти BERT при использовании сопоставимых данных и вычислительной мощности.

ALBERT: является первым архитектурным улучшением по сравнению с BERT и использует модель в 18 раз меньшего размера, чтобы превзойти BERT по 5 задачам NLU. Это уменьшение размера достигается за счет двух улучшений. Во-первых, следуя идеям общих параметров для уменьшения количества свободных переменных, ALBERT вводит совместное использование параметров в карты внимания по слоям, уменьшая примерно 70 миллионов избыточных параметров. Во-вторых, ALBERT выполняет низкоразмерную проекцию огромной матрицы встраивания токенов, уменьшая до 20 миллионов дополнительных параметров. Имея ограниченные шансы на переоснащение, ALBERT также устраняет выпадение, что улучшает потребление памяти.

Однако обе эти меры приводят к приблизительному решению, снижая производительность ALBERT на 1-2% по сравнению с BERT. Чтобы обойти это, ALBERT вводит задачу прогнозирования порядка предложений (вуаля!) , аналогичную StructBERT, и добавляет в 10 раз больше данных, чем BERT (мы уже видели это раньше!) . Благодаря уменьшенному размеру, но увеличенным параметрам данных и аппроксимации, ALBERT превосходит BERT при потреблении сопоставимого количества вычислительных ресурсов.

Адаптация ширины / глубины сети? Да! может даже лучше, чем дистилляция!

- Google, Microsoft, Huawei.

DynaBERT: значительное улучшение. Представленная Huawei модель DynaBERT представляет собой адаптирующуюся к ширине и глубине модель для снижения затрат на вычисления. Хотя идея для глубокого обучения не нова, но результаты впечатляют. DynaBERT почти всегда превосходит DistilBERT на 2–3 раза меньшую стоимость вычислений для достижения сопоставимой точности!

Технически DynaBERT распараллеливает вычисление нескольких глав и слоев внимания, разделяя их. Это позволяет легко регулировать ширину модели, просто настраивая количество голов и слоев! Затем DynaBERT автоматически определяет и удаляет наименее важные головы / слои, вычисляя оценку важности во время обучения. Модели переменной глубины обучаются с использованием печально известного подхода ученик-учитель. В результате DynaBERT достигает производительности, по крайней мере, сравнимой с BERT с такими же или меньшими размерами моделей, и да, он превосходит DistilBERT. ("статья")

Преобразователь воронки. В аналогичной строке преобразователь воронки выполняет именно то, что написано в названии. Он направляет ввод, как автоэнкодер, постепенно сжимая скрытые состояния до более короткой последовательности. Сжатие происходит в трех блоках, каждый из которых представляет собой набор слоев одинакового размера. При переходе от одного блока к другому количество скрытых единиц (длина последовательности) уменьшается за счет сглаженного слоя объединения. Это удаляет хорошо известную избыточность из уровней BERT и в конечном итоге работает лучше, чем BERT, конечно!

Другая работа Microsoft на NeurIPS 2020 позволила добиться в 2,5 раза более быстрого обучения BERT с такой же или более высокой точностью путем простой настройки размера сети. Интересно, что они предложили: i) норму подвижного слоя перед многоголовым, чтобы обеспечить более высокую скорость обучения. ii) механизм стробирования, помогающий обойти подуровень; iii) график отбрасывания уровня. Концептуально похоже на адаптацию ширины / глубины!

В серии усилий были введены новые уровни внимания, чтобы сделать трансформаторы более рентабельными. Эти методы уменьшают количество записей в матрице внимания.

Наиболее заметными из них являются:

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

В результате BigBird достигает 5–10% улучшенной точности по сравнению с BERT и отображается на последовательностях длиной 4096, что в 8 раз длиннее, чем BERT. Проблемой для достижения этого была возможность вычислять разреженные операции на GPU / TPU. Это решается путем преобразования разреженных представлений в блоки и вычисления внимания в этих блоках и повторного восстановления матрицы. Модель масштабируется с O (L) для длины последовательности. Примечание. Ранее Google также представил вариант ETC, который полезен, если у вас есть график, фиксирующий семантические отношения между словами.

Longformer: Институт Аллена вычисляет внимание по диагонали, сторонам и проекциям сторон внутри матрицы. Модель была обучена и оценена на последовательностях длиной до 20К токенов и масштабируется с помощью O (L)! Следовательно, он может выполнять задачи на уровне документа.

Longformer и BigBird работают достаточно близко: BigBird показывает улучшение на 1–3%, однако он использует в 16 раз больше вычислительной мощности, чем Longformer!

Reformer: заменяет квадратичное скалярное произведение внимания Transformer на LSH. Проще говоря, внимание LSH (локально чувствительное хеширование) использует группировку токенов на основе хэша для выполнения локализованного скалярного произведения, что позволяет качественно аппроксимировать высокие значения в матрице скалярного произведения. Важно отметить, что это означает, что вместо сложности O (L²) реформатору требуется только O (L log (L)), что дает существенное ускорение. Модель показана на последовательностях размером до 30К и получает ускорение до 5–10x для последовательностей большей длины. Однако, в отличие от BigBird и Longformer, преимущество в экономической эффективности минимально для небольших последовательностей.

ConvBERT: улучшает BERT за счет использования динамической свертки на уровне диапазона. Он использует ядро ​​свертки, чтобы фиксировать локальные сходства между словами, а затем включает их в самовнимание, чтобы создать блок смешанного внимания. Благодаря новому вниманию, модель ConvBERT увеличивает производительность на 5–6% при 5-кратной эффективности затрат на вычисления по сравнению с BERT. ("статья")

Итак, какой из них использовать?

Да, теперь у нас есть модели, которые предпочтительнее использовать вместо BERT.

Длинный текст: BigBird побеждает, сопоставимый запасной вариант: Longformer

Меньшая сеть / скорость: DynaBERT, ConvBERT.

Многоязычный: если вычисления не являются проблемой, XLM-Roberta, иначе mBERT

Это вторая часть усовершенствований технологии BERT. См. Это сообщение в блоге для части 1.

С автором можно связаться через @ LinkedIn.