ЧЕМ ОТЛИЧАЕТСЯ RoBERT'a ОТ BERT'а?



Ключевые отличия, которые внесла RoBERTa, это:

- убирать next sentence prediction задачу из претрейна (binary-classification задача предсказания является ли предложения парой из одного текста)

- делать динамическое маскирование, а не статическое



🥸 Чем отличается динамическое маскирование от статического?

👩🏻‍💻 В BERT'e мы брали один sequence, брали 10 разных маск, дублировали данные 10 раз, чтобы одна sequence получала 10 разных маск за эпоху. Тем самым при обучении модель видела одну и ту же маску n-epochs times.



Это не оптимально в ситуации, когда у нас гигабайты памяти и длинные предложения. Маскировать нужно по-разному. Поэтому на каждый train step генерится своя рандомная маска.



🥸 В маскинге вот прям все токены маскируются?

👩🏻‍💻 Нет, обычная настройка стоит на 15% из последовательности. Из этих 15% мы 80% меняем на [MASK], 10% не меняем и 10% меняем на рандомный токен из vocab.



🥸 Почему нельзя всегда менять?

👩🏻‍💻 Не то чтобы нельзя. Как пишут авторы BERT, a mismatch between pre-training and fine-tuning, since the [MASK] token does not appear during fine-tuning. The purpose of this is to bias the representation towards the actual observed word. Что означает:

а) в тюнинге у нас не будет токена [MASK]

б) если всегда то слово, которое мы будем предсказывать будет одним и тем же токеном, то его эмбеддинг модель выучится не считать для финального представления



пример подсчета self-attention для одного context вектора

ответ на форуме



🥸 Только 15% можно ставить?

👩🏻‍💻 Нет, есть исследования, что например 40% маскирования даже улучшает общий перформанс. Однако чем больше процент маскирования, тем больше corruption, тем сложнее модели предсказывать токены.



🥸 Какие виды маскинга еще знаете?

👩🏻‍💻 PMI маскинг - маскировать не рандомно, а на основе PMI значения, таким образом будут маскироваться близкие collocations

Span masking - маскировать не один токен, а последовательность токенов



видео про разницу от стэнфорда

материал про masked lm также от стэнфорда



🥸 Что бы вы выбрали для тюнинга?

На самом деле если брать готовые решения, то динамическое маскирование сейчас используется и для берта. Так что вопрос остается лишь к остальным параметрам - токенизации, количества параметров и данных для предобучения.