Список популярных открытых базовых моделей на основе трансформеров для решения задач по автоматической обработке русского языка
Репозиторий содержит список популярных открытых моделей русского языка на основе трансформеров.
Архитектура трансформера была предложена в статье начала 2017 года Attention is All You Need исследователями из Google Brain и Google Research. Статья была посвящена задаче машинного перевода, однако в 2018-2019 годах появились модификации классического трансформера, такие как BERT, GPT и T5, которые показали отличные результаты во многих других NLP-задачах. Примерно в это же время стали появляться мультиязычные трансформеры, а также трансформеры для обработки русского языка.
Информация о трансформерах для обработки русского языка разбросана по просторам Интернета, поэтому возникла идея её собрать в одном месте и систематизировать. Я вдохновлялся вот этим замечательным каталогом: блог, статья на arxiv. В нём охвачены модели для английского языка, а также мультиязычные трансформеры. Здесь же я хотел бы собрать наиболее востребованные предобученные базовые модели для русского языка.
Список будет пополняться. Буду благодарен за комментарии, исправления и дополнения.
Данный список не стремится быть исчерпывающим. Мне кажется, что полезнее дать информацию о ключевых моделях, а не гнаться за полнотой. Мои критерии для включения в список:
- Архитектура: трансформер (энкодер, декодер или энкодер-декодер).
- Обучающие данные: претрейн модели осуществлялся преимущественно на русскоязычных данных. Именно по этому критерию я (пока?) не включаю в свой список изначально многоязычные модели.
- Применение: базовые языковые модели, которые можно дообучать под широкий круг конкретных задач. Например, модель rubert-tiny2 подходит, потому что это энкодер предложений на русском языке. Такой энкодер можно использовать для различных задач классификации и регрессии. С другой стороны, модель rubert-tiny-sentiment-balanced не подходит, потому что она решает конкретную конечную задачу - сентимент-анализ.
- Популярность: модель должна быть достаточно широко известна. Это, конечно, несколько субъективный критерий. Показателем популярности модели может быть, например, количество скачиваний в huggingface или количество цитирований статьи, где описывается модель.
Описание: семейство моделей (1.7B и large), похожих на ruT5, но с использованием смеси денойзеров (mixture of denoisers)
Ссылки: HF 1.7B,
HF large,
Хабр,
Arxiv
Опубликована: апрель 2023
Архитектура: энкодер-декодер
Количество параметров: 1.74B, 820M
На диске: 6.96G, 3.28G
Длина контекста: используется относительное позиционное кодирование, длина контекста ограничена лишь доступным объемом памяти
Применение: сильная модель для решения задач вида "text to text" на русском языке, не требующих глубоких знаний о мире. Например, подойдёт для саммаризации, преобразования стиля и т.п.
Описание: семейство моделей (base и large) на основе классической архитектуры BERT, обученных на 30 гигабайтах русскоязычных данных
Ссылки: HF base,
HF large,
Хабр,
Arxiv
Опубликована: 2021
Архитектура: энкодер
Количество параметров: 178M, 427M
На диске: 716M, 1.71G
Длина контекста: 512 токенов
Применение: задачи классификации и сравнения текстов. Следует отметить, что ruRoBERTa-large обычно показывает более хорошие результаты по сравнению с ruBERT
Описание: маленький и быстрый BERT для русского языка
Ссылки: HuggingFace,
Хабр,
Colab
Опубликована: июнь 2022
Архитектура: энкодер
Количество параметров: 29M
На диске: 118М
Длина контекста: 2048 токенов
Применение: несложные задачи классификации и сравнения текстов. Если нужно делать инференс на CPU, то это одна из лучших моделей, особенно после дообучения под конкретную задачу.
Описание: семейство генеративных моделей, основанных на архитектуре GPT-2 и обученных на русскоязычных данных
Ссылки: HF small,
HF medium,
HF large,
GitHub,
Arxiv
Опубликована: октябрь 2020
Архитектура: декодер
Количество параметров: 1.3B, 760M, 355M, 125M
На диске: 2.63G?, 3.14G, 1.73G, 551M
Длина контекста: 2048
Применение: относительно несложные генеративные задачи на русском языке, например, чатботы-"болталки"
Описание: довольно большая генеративная модель (13 миллиардов параметров), предобученная на 300 + 100 гигабайтах русскоязычных данных
Ссылки: HuggingFace,
Хабр,
Colab
Опубликована: июль 2023
Архитектура: декодер
Количество параметров: 13B
На диске: 52,6G
Длина контекста: 2048 токенов
Применение: подходит для сложных задач генерации и понимания текстов на русском языке, но требует довольно много ресурсов. Можно попробовать квантованную версию.
Описание: BERT-подобная модель, обученная с использованием таких техник как weight sharing, PreNorm, SmallInit, RoPE и GEGLU
Ссылки: HuggingFace,
GitHub,
Хабр
Опубликована: сентябрь 2022
Архитектура: энкодер
Количество параметров: ?
На диске: 1.79G
Длина контекста: используются rotary position embeddings, длина контекста ограничена только доступным объемом памяти
Применение: задачи классификации и сравнения текстов, но в "ванильном" transformers не заведётся: нужно клонировать репозиторий авторов с реализациями кастомных классов
Описание: маленькая модель на основе cointegrated/rubert-tiny2, но с длиной контекста до 16 тысяч токенов
Ссылки: HuggingFace,
Хабр,
Colab
Опубликована: сентябрь 2023
Архитектура: энкодер
Количество параметров: 34.6М
На диске: 139М
Длина контекста: 16384 токенов
Применение: задачи классификации и сравнения длинных текстов - документов, статей и т.д.
Описание: BERT-подобная модель, обученная на 250 гигабайтах русскоязычных данных
Ссылки: HuggingFace,
Хабр,
Arxiv
Опубликована: 2021
Архитектура: энкодер
Количество параметров: 355M
На диске: 1.42G
Длина контекста: 512 токенов
Применение: довольно сильная модель для задач классификации и сравнения текстов. Обычно сильнее ruBERT, так как обучалась на большем объёме данных. Если есть возможность использовать GPU на инференсе, то лучше выбрать эту модель.
Описание: семейство моделей (base и large) на основе архитектуры T5 для задач вида "text to text"
Ссылки: HF base, HF large, Хабр,
Arxiv
Опубликована: 2021
Архитектура: энкодер-декодер
Количество параметров: 222M, 737M
На диске: 892M, 2.95G
Длина контекста: 512 токенов
Применение: задачи вида "text to text", не требующие глубоких знаний о мире: преобразования текстов (например, спелчекинг), саммаризация. Однако если ресурсы позволяют, лучше использовать FRED-T5.