XLM-V: Overcoming the Vocabulary Bottleneck in

Multilingual Masked Language Models




В статье поднимается следующая проблема: языковые модели увеличиваются в параметрах, растут в глубину, но словарь по размеру все тот же. Например у модели mT5 13B параметров, но размер словаря всего 250К, что еще и охватывает 100+ языков. Таким образом это примерно 2500 уникальных токенов на язык, что очевидно довольно мало.



Что решают сделать авторы? Неожиданно, но начинают обучать новую модель с 1м токенов в словаре. Был XLM-R, ну а с таким апгрейдром станет XLM-V



Что используют нового в XLM-V, чего не было в XLM-R?

💓💓💓Строят вектора лексических представлений для каждого языка следующим образом (используют подход Improving Multilingual Models with Language-Clustered Vocabularies): для каждого языка в множестве языков, они составляют бинарный вектор, каждый элемент которого это определенное слово в языке. 1 означает, что слово присутсвует в словаре этого языка. (можно посмотреть во вложениях рисуночек с графическим объяснением). Но авторы совершенствуют способ, на который идет ссылка, за счет постороения вектора с помощью отрицательной логарифмической вероятности появления каждой лексемы.



💓💓💓Затем вектора кластеризуются. И на каждом отдельном кластере обучается sentencepiece model, для того, чтобы предотвратить обмен словарным запасом между лексически несхожими языками.



💓💓💓С помощью ALP (средней логарифмической вероятности) оценивают способность словаря представлять конкретный язык. (скрин с формулкой из статьи во вложениях)



Следующим шагом используют алгоритм для постороения словарей ULM. Который начинает с большого исходного словаря, который итеративно обрезается, пока количество лексем не упадет ниже заранее определенного порога размера словаря.



Полюбоваться апгрейдом скора можно во вложениях :)