en
Feedback
NLP Core Team

NLP Core Team

Open in Telegram

Канал команды NLP соre. Здесь мы делимся нашими результами и мыслями в области NLP/PLP и не только. Мы авторы многих моделей для русского языка: ruBert, ruGPT2, ruGPT3, ruT5, ruRoberta, FRED-T5.

Show more
2 674
Subscribers
No data24 hours
No data7 days
+3430 days
Posts Archive
График трейн лосса FRED-T5 1.7B. До красной вертикальной линии модель обучалась на 3.5GB данных.
График трейн лосса FRED-T5 1.7B. До красной вертикальной линии модель обучалась на 3.5GB данных.

3.5GB is all you need!? 🧐🤔 Хотим поделиться мыслями по нашим "3.5GB is all you need". Напомню, что FRED-T5 1.7B 2/3 шагов училась на одних и тех же данных, чуть более 1% всего сета (весь сет – 300GB). Так вышло случайно, в результате нашей ошибки при обучении, когда дебажили код. Забыли убрать загрузку одного и того же сета на каждую гпу. Потом модель обучалась на полном сете. Увидев 3.5GB сета более 200 раз модель не переобучилась. Это подтверждается тем, что трейн лосс существенно не изменился, после того, как было запущено обучение модели на всем сете. Более того, она стала решать задачи RussianSuperGLUE (RSG) на 0.759. Тогда как финальный чекпойнт показал 0.762, где мы более внимательно файнтюнили на RSG. По сути, дообучение на всем сете с точки зрения решения RSG не докинуло знаний в модель.

Кстати, картинку к статье сгенерировали с помощью Kandinsky 2.1 по запросу: "Transformer learning"

🚀Статья о FRED-T5 уже на Хабре! FRED-T5. Новая SOTA модель для русского языка от SberDevices Постарались рассказать основное про наш путь обучения FRED-T5. Вероятно, не всё будет понятно. Вопросы пишите в комментах к этому посту. С радостью ответим по возможности. Мы продолжаем экспериментировать с моделями.

Новая SOTA модель для русского языка FRED-T5 доступна на HuggingFace. 🚀🚀🚀 FRED-T5-1.7B FRED-T5-large (820M) Модель 1.7B показала лучший скор на RussianSuperGLUE и на текущий момент является SOTA для русского языка. FRED-T5 основана на базе архитектуры T5. Изначально мы целились в ПРОМопригодность модели при выборе архитектуры. Мы использовали bbpe токенайзер от ruGPT3 (до large размера). Модель обучалась на миксе денойзеров. Денойзеры похожие, как в пейпере UL2. Если не слышали про UL2, то можно тут прочитать. Мы использовали равномерное распределение в задачах span corruption при выборе длины спана. И у нас было 7 денойзеров на каждый вариант семплирования (в UL2 было 3). Модель первую часть тренировки обучалась на 3.5Gb данных (чуть больше 1% от всего сета 300Gb). После она была дообучена на всем сете. Всего модель видела 1.5T токенов. Вот такие денойзеры: ‘<LM>’:(µ = L/4, r = 0.25) ‘<SC1>’:(µ = 3, r = 0.15) ‘<SC2>’:(µ = 8, r = 0.15) <SC3>’:(µ = 64, r = 0.15) ‘<SC4>’:(µ = 3, r = 0.5) ‘<SC5>’:(µ = 8, r = 0.5) ‘<SC6>’:(µ = 64, r = 0.5) µ — это средняя длина спана в токенах, а r— это доля удаленных токенов Ничего не поняли?) Через пару дней выйдет наша статья на Хабре, где мы расскажем детали. Как можно юзать модель? Берем токенизатор GPT2 и модель T5 из HF. tokenizer = GPT2Tokenizer.from_pretrained('ai-forever/FRED-T5-1.7B',eos_token='</s>') model = T5ForConditionalGeneration.from_pretrained(('ai-forever/FRED-T5-1.7B') Не забывайте руками добавлять ‘</s>’ если он нужен вам. GPT2Tokenizer не делает это по умолчанию. Советы по файнтюну. При файнтюне модели можно использовать префиксы денойзеров, которые использовались при обучении ‘<LM>’, ‘<SC1>’,...’<SC6>’. Добавляете в начале текста, подаваемого на энкодер. Если задача LM, то лучше использовать префикс ‘<LM>’, в остальных случаях можно без префикса. При файнтюне на RSG мы не увидели значимых различий в предиктах в зависимости от префикса и без его использования. Если ваша задача похожа на одну из задач денойзинга, то конечно стоит попробовать взять соответствующий префикс. Мы часто при файнтюне используем оптимизатор Adafactor c постоянным lr=0.001. Он чаще дает лучшие результаты чем AdamW.

Всем привет! Мы команда NLP Core RnD. Работаем в SberDevices. Занимаемся исследованиями в NLP и PLP (Programming Language Processing). Мы авторы ряда публичных моделей для русского языка: ruBert, ruRoBerta, ruGPТ2, ruGPT3, ruT5, FRED-T5. Более 4-х лет делаем много экспериментов в различных областях NLP (ODQA, chit-chat, NLU) и PLP. На этом канале хотим делиться с вами нашим мнением и результатами исследований, которые можем рассказать. Надеемся получится сделать канал полезным.)