├── README.md └── logo_cr.png /README.md: -------------------------------------------------------------------------------- 1 | # Руформеры 2 | 3 | ![logo_cr.png](logo_cr.png) 4 | 5 | Список популярных открытых базовых моделей на основе трансформеров для решения задач по автоматической обработке русского языка 6 | 7 | ## Введение 8 | 9 | Репозиторий содержит список популярных открытых моделей русского языка на основе трансформеров. 10 | 11 | Архитектура трансформера была предложена в статье начала 2017 года [Attention is All You Need](https://arxiv.org/abs/1706.03762) исследователями из Google Brain и Google Research. Статья была посвящена задаче машинного перевода, однако в 2018-2019 годах появились модификации классического трансформера, такие как BERT, GPT и T5, которые показали отличные результаты во многих других NLP-задачах. Примерно в это же время стали появляться мультиязычные трансформеры, а также трансформеры для обработки русского языка. 12 | 13 | Информация о трансформерах для обработки русского языка разбросана по просторам Интернета, поэтому возникла идея её собрать в одном месте и систематизировать. Я вдохновлялся вот этим замечательным каталогом: [блог](https://amatriain.net/blog/transformer-models-an-introduction-and-catalog-2d1e9039f376/), [статья на arxiv](https://arxiv.org/abs/2302.07730). 14 | В нём охвачены модели для английского языка, а также мультиязычные трансформеры. Здесь же я хотел бы собрать наиболее востребованные предобученные базовые модели для русского языка. 15 | 16 | Список будет пополняться. Буду благодарен за комментарии, исправления и дополнения. 17 | 18 | ### Какие модели подходят для включения в список? 19 | 20 | Данный список не стремится быть исчерпывающим. Мне кажется, что полезнее дать информацию о ключевых моделях, а не гнаться за полнотой. Мои критерии для включения в список: 21 | 22 | 1. **Архитектура**: трансформер (энкодер, декодер или энкодер-декодер). 23 | 2. **Обучающие данные**: претрейн модели осуществлялся преимущественно на русскоязычных данных. Именно по этому критерию я (пока?) не включаю в свой список изначально многоязычные модели. 24 | 3. **Применение**: базовые языковые модели, которые можно дообучать под широкий круг конкретных задач. Например, модель rubert-tiny2 подходит, потому что это энкодер предложений на русском языке. Такой энкодер можно использовать для различных задач классификации и регрессии. С другой стороны, модель rubert-tiny-sentiment-balanced не подходит, потому что она решает конкретную конечную задачу - сентимент-анализ. 25 | 4. **Популярность**: модель должна быть достаточно широко известна. Это, конечно, несколько субъективный критерий. Показателем популярности модели может быть, например, количество скачиваний в huggingface или количество цитирований статьи, где описывается модель. 26 | 27 | ## Список трансформеров для русского языка 28 | 29 | ### FRED-T5 30 | 31 | **Описание**: семейство моделей (1.7B и large), похожих на ruT5, но с использованием смеси денойзеров (mixture of denoisers) 32 | **Ссылки**: [HF 1.7B](https://huggingface.co/ai-forever/FRED-T5-1.7B), 33 | [HF large](https://huggingface.co/ai-forever/FRED-T5-large), 34 | [Хабр](https://habr.com/ru/companies/sberdevices/articles/730088/), 35 | [Arxiv](https://arxiv.org/abs/2309.10931) 36 | **Опубликована**: апрель 2023 37 | **Архитектура**: энкодер-декодер 38 | **Количество параметров**: 1.74B, 820M 39 | **На диске**: 6.96G, 3.28G 40 | **Длина контекста**: используется относительное позиционное кодирование, длина контекста ограничена лишь доступным объемом памяти 41 | **Применение**: сильная модель для решения задач вида "text to text" на русском языке, не требующих глубоких знаний о мире. Например, подойдёт для саммаризации, преобразования стиля и т.п. 42 | 43 | --- 44 | 45 | ### ruBERT (ai-forever) 46 | 47 | **Описание**: семейство моделей (base и large) на основе классической архитектуры [BERT](https://arxiv.org/abs/1810.04805), обученных на 30 гигабайтах русскоязычных данных 48 | **Ссылки**: [HF base](https://huggingface.co/ai-forever/ruBert-base), 49 | [HF large](https://huggingface.co/ai-forever/ruBert-large), 50 | [Хабр](https://habr.com/ru/companies/sberbank/articles/567776/), 51 | [Arxiv](https://arxiv.org/abs/2309.10931) 52 | **Опубликована**: 2021 53 | **Архитектура**: энкодер 54 | **Количество параметров**: 178M, 427M 55 | **На диске**: 716M, 1.71G 56 | **Длина контекста**: 512 токенов 57 | **Применение**: задачи классификации и сравнения текстов. Следует отметить, что ruRoBERTa-large обычно показывает более хорошие результаты по сравнению с ruBERT 58 | 59 | --- 60 | 61 | ### ruBERT-tiny2 62 | 63 | **Описание**: маленький и быстрый BERT для русского языка 64 | **Ссылки**: [HuggingFace](https://huggingface.co/cointegrated/rubert-tiny2), 65 | [Хабр](https://habr.com/ru/articles/669674/), 66 | [Colab](https://colab.research.google.com/drive/1mSWfIQ6PIlteLVZ9DKKpcorycgLIKZLf?usp=sharing) 67 | **Опубликована**: июнь 2022 68 | **Архитектура**: энкодер 69 | **Количество параметров**: 29M 70 | **На диске**: 118М 71 | **Длина контекста**: 2048 токенов 72 | **Применение**: несложные задачи классификации и сравнения текстов. Если нужно делать инференс на CPU, то это одна из лучших моделей, особенно после дообучения под конкретную задачу. 73 | 74 | --- 75 | 76 | ### ruGPT-3 77 | 78 | **Описание**: семейство генеративных моделей, основанных на архитектуре GPT-2 и обученных на русскоязычных данных 79 | **Ссылки**: [HF small](https://huggingface.co/ai-forever/rugpt3small_based_on_gpt2), 80 | [HF medium](https://huggingface.co/ai-forever/rugpt3medium_based_on_gpt2), 81 | [HF large](https://huggingface.co/ai-forever/rugpt3large_based_on_gpt2), 82 | [GitHub](https://github.com/ai-forever/ru-gpts?ysclid=lo5qq6e7w5304929210), 83 | [Arxiv](https://arxiv.org/abs/2309.10931) 84 | **Опубликована**: октябрь 2020 85 | **Архитектура**: декодер 86 | **Количество параметров**: 1.3B, 760M, 355M, 125M 87 | **На диске**: 2.63G?, 3.14G, 1.73G, 551M 88 | **Длина контекста**: 2048 89 | **Применение**: относительно несложные генеративные задачи на русском языке, например, чатботы-"болталки" 90 | 91 | --- 92 | 93 | ### ruGPT-3.5 94 | 95 | **Описание**: довольно большая генеративная модель (13 миллиардов параметров), предобученная на 300 + 100 гигабайтах русскоязычных данных 96 | **Ссылки**: [HuggingFace](https://huggingface.co/ai-forever/ruGPT-3.5-13B), 97 | [Хабр](https://habr.com/ru/companies/sberbank/articles/746736/), 98 | [Colab](https://colab.research.google.com/drive/1KyDX_D-rsKN8qpIvo3YMXSYmT3poaBGN) 99 | **Опубликована**: июль 2023 100 | **Архитектура**: декодер 101 | **Количество параметров**: 13B 102 | **На диске**: 52,6G 103 | **Длина контекста**: 2048 токенов 104 | **Применение**: подходит для сложных задач генерации и понимания текстов на русском языке, но требует довольно много ресурсов. Можно попробовать [квантованную версию](https://colab.research.google.com/drive/1KyDX_D-rsKN8qpIvo3YMXSYmT3poaBGN). 105 | 106 | --- 107 | 108 | ### RuLeanALBERT 109 | 110 | **Описание**: BERT-подобная модель, обученная с использованием таких техник как weight sharing, PreNorm, SmallInit, RoPE и GEGLU 111 | **Ссылки**: [HuggingFace](https://huggingface.co/yandex/RuLeanALBERT), 112 | [GitHub](https://github.com/yandex-research/RuLeanALBERT), 113 | [Хабр](https://habr.com/ru/companies/yandex/articles/688234/) 114 | **Опубликована**: сентябрь 2022 115 | **Архитектура**: энкодер 116 | **Количество параметров**: ? 117 | **На диске**: 1.79G 118 | **Длина контекста**: используются rotary position embeddings, длина контекста ограничена только доступным объемом памяти 119 | **Применение**: задачи классификации и сравнения текстов, но в "ванильном" transformers не заведётся: нужно клонировать репозиторий авторов с реализациями кастомных классов 120 | 121 | --- 122 | 123 | ### ru-Longformer-tiny-16384 124 | 125 | **Описание**: маленькая модель на основе cointegrated/rubert-tiny2, но с длиной контекста до 16 тысяч токенов 126 | **Ссылки**: [HuggingFace](https://huggingface.co/kazzand/ru-longformer-tiny-16384), 127 | [Хабр](https://habr.com/ru/companies/ru_mts/articles/761116/), 128 | [Colab](https://colab.research.google.com/drive/1qownYBbct6sZkP3kACXeSDijg0Q1nxBo?usp=sharing) 129 | **Опубликована**: сентябрь 2023 130 | **Архитектура**: энкодер 131 | **Количество параметров**: 34.6М 132 | **На диске**: 139М 133 | **Длина контекста**: 16384 токенов 134 | **Применение**: задачи классификации и сравнения длинных текстов - документов, статей и т.д. 135 | 136 | --- 137 | 138 | ### ruRoBERTa-large 139 | 140 | **Описание**: BERT-подобная модель, обученная на 250 гигабайтах русскоязычных данных 141 | **Ссылки**: [HuggingFace](https://huggingface.co/ai-forever/ruRoberta-large), 142 | [Хабр](https://habr.com/ru/companies/sberbank/articles/567776/), 143 | [Arxiv](https://arxiv.org/abs/2309.10931) 144 | **Опубликована**: 2021 145 | **Архитектура**: энкодер 146 | **Количество параметров**: 355M 147 | **На диске**: 1.42G 148 | **Длина контекста**: 512 токенов 149 | **Применение**: довольно сильная модель для задач классификации и сравнения текстов. Обычно сильнее ruBERT, так как обучалась на большем объёме данных. Если есть возможность использовать GPU на инференсе, то лучше выбрать эту модель. 150 | 151 | --- 152 | 153 | ### ruT5 154 | 155 | **Описание**: семейство моделей (base и large) на основе архитектуры [T5](https://arxiv.org/abs/1910.10683) для задач вида "text to text" 156 | **Ссылки**: [HF base](https://huggingface.co/ai-forever/ruT5-base), [HF large](https://huggingface.co/ai-forever/ruT5-large), [Хабр](https://habr.com/ru/companies/sberbank/articles/567776/), 157 | [Arxiv](https://arxiv.org/abs/2309.10931) 158 | **Опубликована**: 2021 159 | **Архитектура**: энкодер-декодер 160 | **Количество параметров**: 222M, 737M 161 | **На диске**: 892M, 2.95G 162 | **Длина контекста**: 512 токенов 163 | **Применение**: задачи вида "text to text", не требующие глубоких знаний о мире: преобразования текстов (например, спелчекинг), саммаризация. Однако если ресурсы позволяют, лучше использовать FRED-T5. 164 | -------------------------------------------------------------------------------- /logo_cr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexeyMalafeev/ruformers/f4630b1293e8cfcbc70fa96d10d48385e3d96bdb/logo_cr.png --------------------------------------------------------------------------------