Получи случайную криптовалюту за регистрацию!

Ещё про энкодеры предложений. FAIR в 2017 году (ещё до USE и | ̶с̶а̶м̶̶о̶изолента мёбиуса

Ещё про энкодеры предложений.

FAIR в 2017 году (ещё до USE и BERT) опубликовал LASER, мультиязычный энкодер предложений. Дальше его активно использовали для майнинга параллельных предложений из Википедии и Common Crawl. В 2020 году появился LaBSE, который давал эмбеддинги получше, специально обученные именно на задаче подбора пар переводов. А в ходе проекта NLLB в LASER добавили энкодеры для сотни новых языков, дистиллировав их из имеющегося энкодера. Я их пока не успел попробовать, но судя по получившимся в итоге майнинга параллельных корпусам, качество там нормальное. Надеюсь, их скоро добавят в какую-нибудь удобную обёртку типа laserembeddings, или даже вообще на HF выложат.

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

1) Мультиязычные энкодеры рулят: LASER, mUSE, LaBSE, и новые мультиязычные sentence-transformers на многих русских задачах обгоняют или дышат в спину моделям от Сбера и DeepPavlov, обученным специально для русского языка.

2) Обучать энкодер предложений можно по-разному:
- можно (как LASER) учить пару энкодер+декодер, заставляя декодер восстанавливать предложение из вектора;
- можно (как sentence-BERT) дообучать би-энкодер на задачах попарного сравнения предложений, типа NLI;
- можно (как LaBSE) сразу учить модель на задаче идентификации пар предложений с одинаковым смыслом;
- можно (как USE) обучаться сразу на массе разнообразных задач, чтобы создать максимально универсальную модель.
Есть ли среди этих подходов какой-то наилучший, неочевидно. Кажется, все четыре – вполне рабочие.

3) Если есть хороший энкодер предложений для одного языка, и есть параллельные датасеты, не очень сложно дистиллировать модель в мультиязычный энкодер (типа этого, см. статью) или в кучу энкодеров для отдельных новых языков (как, собственно, LASER-3, или как недавно сделали наши энтузиасты для башкирского и чувашского).

А поскольку энкодеры предложений – это основа для кучи полезных приложений (самое очевидное – классификация текстов, поиск, но вообще можно даже доучить к энкодеру декодер и использовать эту пару моделей для seq2seq задач), то доступность этих энкодеров для кучи малоресурсных языков означает, что разнообразное NLP с этими языками теперь стало более доступным.