NLP Core Team
🚀Статья о FRED-T5 уже на Хабре! FRED-T5. Новая SOTA модель для русского языка от SberDevices Постарались рассказать основное про наш путь обучения FRED-T5. Вероятно, не всё будет понятно. Вопросы пишите в комментах к этому посту. С радостью ответим по возможности.…
Кстати, картинку к статье сгенерировали с помощью Kandinsky 2.1 по запросу: "Transformer learning"
🔥13👍6❤🔥2
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 не докинуло знаний в модель.
Хотим поделиться мыслями по нашим "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 не докинуло знаний в модель.
🔥17🤔8👍3❤1👨💻1
Почему модель не переобучилась? Вероятно, если бы мы показывали 200 раз сет в режиме одной задачи LM, то мы бы увидели скачок кривой лосса при переключении на весь сет. Но так как у нас 7 денойзеров и каждый сиквенс нарезался семь раз по разному, то модели сложнее его запомнить, и мы не увидели этого скачка. 3.5GB – это около 0.5B токенов.
Мы пересмотрели ряд пейперов и нашли несколько интересных фактов, на которые ранее не обращали внимание. В пейпере T5 https://arxiv.org/abs/1910.10683 авторы провели эксперименты с переобучением маленькой модели T5-base (размер модели – около 220М параметров). Для первого эксперимента они обучали модель с нуля и показали ей 34B (миллиарда) токенов из C4. Для второго брали подвыборку из 34B сета в 64 раза меньше и обучали модель так же с нуля на протяжении 64 эпох, в итоге показав модели 34B токенов. Также были проведены аналогичные эксперименты с датасетом, уменьшенным относительно исходного в 256, 1024 и 4096 раз. Напомню, что T5 обучалась на одной задаче денойзинга, а у нас их 7.
Мы пересмотрели ряд пейперов и нашли несколько интересных фактов, на которые ранее не обращали внимание. В пейпере T5 https://arxiv.org/abs/1910.10683 авторы провели эксперименты с переобучением маленькой модели T5-base (размер модели – около 220М параметров). Для первого эксперимента они обучали модель с нуля и показали ей 34B (миллиарда) токенов из C4. Для второго брали подвыборку из 34B сета в 64 раза меньше и обучали модель так же с нуля на протяжении 64 эпох, в итоге показав модели 34B токенов. Также были проведены аналогичные эксперименты с датасетом, уменьшенным относительно исходного в 256, 1024 и 4096 раз. Напомню, что T5 обучалась на одной задаче денойзинга, а у нас их 7.
👍10❤1🔥1
Вот такие кривые трейн лосса T5-base у них получились для различных вариантов размеров сета. Красная линия от синей едва ли отличается. Вероятно, если бы денойзеров было 7, как у нас, то эти линии были бы ближе друг к другу. Да и желтая рядом. А что с этими линиями было бы на 1T токенов обучения, когда модель пройдет миллионы шагов? Интересный вопрос. Нужно будет проверить это как-нибудь.
🔥8👍1
Есть еще вот такая статья: "Trained on 100 million words and still in shape: BERT meets British National Corpus" https://arxiv.org/abs/2303.09859.
Авторы берут Bert-base c некоторыми модификациями и обучают его на корпусе из British National Corpus (100M words). Обучают, показывая модели столько же токенов, сколько и для обычного Bert-base, который учился на Wikipedia + BookCorpus (3000M words). Еще авторы перебирают различные параметры MLM таски и включения задачи NSP. Они демонстрируют, что их LTG-BERT не уступает Bert-base, а в некоторых тасках и выигрывает. Если же взять MLM на уровне спанов слов (span masking), то и вовсе уверенно обходит Bert-base на GLUE. Разница в размерах сетов огромная: 3000 против 100 миллионов слов.
Авторы берут Bert-base c некоторыми модификациями и обучают его на корпусе из British National Corpus (100M words). Обучают, показывая модели столько же токенов, сколько и для обычного Bert-base, который учился на Wikipedia + BookCorpus (3000M words). Еще авторы перебирают различные параметры MLM таски и включения задачи NSP. Они демонстрируют, что их LTG-BERT не уступает Bert-base, а в некоторых тасках и выигрывает. Если же взять MLM на уровне спанов слов (span masking), то и вовсе уверенно обходит Bert-base на GLUE. Разница в размерах сетов огромная: 3000 против 100 миллионов слов.
🔥5❤2👍1
Все это указывает на то, что для того чтобы решать задачи RSG и различные другие задачи, на которые мы обычно тюним модели, то не обязательно обучать модель на огромном корпусе данных. Можно взять 10 Gb наиболее чистых и актуальных данных и на них обучать модель.
Следует сказать, что если ваша задача состоит в том, чтобы модель максимально больше запомнила фактов из выборки для того, чтобы потом на инференсе могла их воспроизводить, то конечно модели нужно показывать большой сет.
Следует сказать, что если ваша задача состоит в том, чтобы модель максимально больше запомнила фактов из выборки для того, чтобы потом на инференсе могла их воспроизводить, то конечно модели нужно показывать большой сет.
👍8🔥4
А что если существует некоторая статистика или закономерность языка, которую модель обычно аппроксимирует на последних частях обучения, когда перплексия выходит "в полку"? Ну т.е. модель сначала пытается запомнить многообразия словосочетаний, предложений, абзацев а после, когда ей уже не хватает возможности запомнить, она аппроксимирует эту статистику языка. И именно аппроксимация этой статистики ей нужна для решения сложных задач RSG или других задач NLP. В своих экспериментах с претрейном мы несколько раз замечали, что модели на последних шагах обучения “в полку”, когда лосс едва снижался, сильно прибавляли в решении RSG или других задач.
👍12🔥7🥰2
GigaChat!🚀
В основе GigaChat модели под общим названием NeONKA (NEural Omnimodal Network with Knowledge-Awareness).Там наши ruGT3.5-13B, которая основана на ruGPT3 13B и FRED-T5.
Текущая версия GigaChat в части NLP основана на претрейне ruGPT3.5 13B + SFT (supervised fine-tuning).
В side by side тестах GigaChat vs ChatGPT 30:70 в пользу последней. Это пока без PPO. Будет выше.) У нас большие планы по улучшению моделей и обучению новых.
Доступ к GigaChat пока ограничен и только по приглашениям.
Хорошая новость в том, что некоторые модели будут опубликованы в открытый доступ. Вы сами сможете попробовать их в своих задачах.
Подробности в статье на Хабре.
В основе GigaChat модели под общим названием NeONKA (NEural Omnimodal Network with Knowledge-Awareness).Там наши ruGT3.5-13B, которая основана на ruGPT3 13B и FRED-T5.
Текущая версия GigaChat в части NLP основана на претрейне ruGPT3.5 13B + SFT (supervised fine-tuning).
В side by side тестах GigaChat vs ChatGPT 30:70 в пользу последней. Это пока без PPO. Будет выше.) У нас большие планы по улучшению моделей и обучению новых.
Доступ к GigaChat пока ограничен и только по приглашениям.
Хорошая новость в том, что некоторые модели будут опубликованы в открытый доступ. Вы сами сможете попробовать их в своих задачах.
Подробности в статье на Хабре.
Хабр
Это не чат, это GigaChat. Русскоязычная ChatGPT от Сбера
Дракончик ждёт вас ниже Хайп вокруг нейросетей, выровненных при помощи инструкций и человеческой оценки (известных в народе под единым брендом «ChatGPT»), трудно не заметить. Люди разных профессий и...
🔥31👍7🎉5❤1👎1
Recurrent Memory Transformer 🔥
Не могу пройти мимо. Работа, которая привлекла внимание nlp-сообщества. Scaling Transformer to 1M tokens and beyond with RMT https://arxiv.org/abs/2304.11062 .
Особенно приятно, что мы хорошо знакомы с авторами. Юра Куратов, Миша Бурцев и Айдар Булатов вам большой респект и уважуха!💪
Ребята уже давно занимаются идеей memory transformer. Большой труд и классный результат! Прям гордость распирает!!)) Мы несколько лет назад вместе с ребятами делали совместные эксперименты на эту тему.
На эту работу сделал обзор Yannic Kilcher. Направляю вас на его обзор https://youtu.be/4Cclp6yPDuw. Обзор огонь! Юра Куратов сказал мне, что он очень хорошо объяснил суть их работы.
Не могу пройти мимо. Работа, которая привлекла внимание nlp-сообщества. Scaling Transformer to 1M tokens and beyond with RMT https://arxiv.org/abs/2304.11062 .
Особенно приятно, что мы хорошо знакомы с авторами. Юра Куратов, Миша Бурцев и Айдар Булатов вам большой респект и уважуха!💪
Ребята уже давно занимаются идеей memory transformer. Большой труд и классный результат! Прям гордость распирает!!)) Мы несколько лет назад вместе с ребятами делали совместные эксперименты на эту тему.
На эту работу сделал обзор Yannic Kilcher. Направляю вас на его обзор https://youtu.be/4Cclp6yPDuw. Обзор огонь! Юра Куратов сказал мне, что он очень хорошо объяснил суть их работы.
YouTube
Scaling Transformer to 1M tokens and beyond with RMT (Paper Explained)
#ai #transformer #gpt4
This paper promises to scale transformers to 1 million tokens and beyond. We take a look at the technique behind it: The Recurrent Memory Transformer, and what its strenghts and weaknesses are.
OUTLINE:
0:00 - Intro
2:15 - Transformers…
This paper promises to scale transformers to 1 million tokens and beyond. We take a look at the technique behind it: The Recurrent Memory Transformer, and what its strenghts and weaknesses are.
OUTLINE:
0:00 - Intro
2:15 - Transformers…
🔥29
Для тех кто не хочет смотреть видео и читать пейпер. Расскажу в пару словах.
RMT – это Recurrent Memory Transformer. Вот пейпер от тех же авторов: https://arxiv.org/abs/2207.06881. Они предложилили трансформер с механизмом рекурентности для машатабирования на длинных последовательностях.
RMT – это Recurrent Memory Transformer. Вот пейпер от тех же авторов: https://arxiv.org/abs/2207.06881. Они предложилили трансформер с механизмом рекурентности для машатабирования на длинных последовательностях.
🔥15👍1
Смысл простой. Берем предварительно обученную модель, например Bert. Длинный текст бьем на сегменты. Добавляем [mem] токены на вход модели с токенами первого сегмента текста. Пропускаем через модель и на последнем слое модели над каждым выходом [mem] токенов берем hidden state Для обработки второго сегмента мы берем hidden state с выходов берта с первого шага над каждым [mem] токеном и добовляем эмбеддинги токенов второго сегмента. Далее пропускаем через трансформер. Потом делаем так же и для сегмента 3 и т.д. Каждый раз мы как бы делаем некоторый саммари сиквенсов в hidden state над позициями [mem] токенов того, что нам нужно запомнить в этом сегменте с точки зрения решаемой нами задачи. Да, при обучении градиенты через [mem] токены текут на несколько сегментов назад, в зависимости от параметра (в пейпере про миллионы токенов до 7). Для использования декодерной архитектуры авторы подают [mem] токены в начале сиквенса и в конце.
🔥17👍3🤔1
Так вот. В работе про масштабирование на миллион и более токенов длин сиквенсов авторы показывают для нескольких задач, что трансформер, обученный с рекуррентностью через [mem] токены, способен смотреть на миллионы токенов назад и запомнить нужную информации для решения той или иной задачи. Пока эти задачи простые (смотрите картинки ниже). Но это прям мощно!
👍13🔥5👀5🤔2
Мы, кстати, с ребятами будем делать эксперименты с масштабированием их RMT на более емкие модели и замерять этот подход на различных других задачах. Как будут результаты обязательно поделимся.
🔥33👍11❤🔥4
Quantifying Memorization Across Neural Language Models. https://arxiv.org/abs/2202.07646
Довольно интересная статья. Она отчасти объясняет почему наша FRED-T5 не переобучилась после 200 эпох на одних и тех же данных. Авторы исследуют способность моделей запоминать.
Для первого эксперимента берут серию моделей GPT-Neo, которая обучалась на датасете the Pile. Из этого датасета они составляют сет из повторяемых сиквенсов. Для каждой из заданных длин сиквенсов L ∈ {50, 100, 150, . . . , 500} и заданного числа n они в сете находят 1000 сиквенсов с длиной L, которые встречаются в сете от 2 в степени n/4 до 2 в степени (n+1)/4 раз. Вообщем, для каждой из длин находят 1000 последовательностей токенов, которые встречаются в сете в заданном интервале раз, например для n=11 интервал будет (от 6 до 8 раз ), а для n=38 – от 724 до 861 раз . В итоге получился сет с 50k примеров для каждой из длин или суммарно по всем длинам 500k примеров.
Довольно интересная статья. Она отчасти объясняет почему наша FRED-T5 не переобучилась после 200 эпох на одних и тех же данных. Авторы исследуют способность моделей запоминать.
Для первого эксперимента берут серию моделей GPT-Neo, которая обучалась на датасете the Pile. Из этого датасета они составляют сет из повторяемых сиквенсов. Для каждой из заданных длин сиквенсов L ∈ {50, 100, 150, . . . , 500} и заданного числа n они в сете находят 1000 сиквенсов с длиной L, которые встречаются в сете от 2 в степени n/4 до 2 в степени (n+1)/4 раз. Вообщем, для каждой из длин находят 1000 последовательностей токенов, которые встречаются в сете в заданном интервале раз, например для n=11 интервал будет (от 6 до 8 раз ), а для n=38 – от 724 до 861 раз . В итоге получился сет с 50k примеров для каждой из длин или суммарно по всем длинам 500k примеров.
👍6🔥2
На модель подают сиквенс и если модель в жадной генерации воспроизводит следующих 50 токенов, то считается, что она запомнила этот пример. Долю таких примеров, где модель запомнила следующих 50 токенов, отмечают по оси Y. Вот какие графики у авторов получились для GPT-Neo и оригинальной GPT2, которые обучались на задачу LM (causal language modeling) т.е. предикта следующего токена. Модели GPT2 изображена желтым цветом (baseline). GPT2 обучалась на немного другом сете. Да, и считали все это на сете с повторениями, который описал выше.
👍7
Потом авторы взяли модель T5 и провели аналогичные эксперименты с ней. Модель T5 обучалась на задачу восстановления пропущенных кусочков текста (span corruption). В этой статье они называют эту задачу как Masked language model objective. Эта задача соответствует одному из денойзеров, на которых обучался FRED-T5 (‘<SC1>’:(µ = 3, r = 0.15) Из всей последовательности токенов вырезали кусочки средней длиной 3 токена и общим количеством в 15% от всей длины последовательности. И эти пропущенные кусочки учат модель восстанавливать.
Из сета C4, на котором обучалась T5, собрали сет с повторениями, аналогичный сету с повторениями для the Pile. И считали факт запоминания примера из сета чуть иначе. Например для длины 200 токенов модель должна была точно восстановить 30 (200*15%) токенов по затравке на вход модели в 170 (200*0.85) и считалась, что она запомнила пример. Такие графики у них получились.
Из сета C4, на котором обучалась T5, собрали сет с повторениями, аналогичный сету с повторениями для the Pile. И считали факт запоминания примера из сета чуть иначе. Например для длины 200 токенов модель должна была точно восстановить 30 (200*15%) токенов по затравке на вход модели в 170 (200*0.85) и считалась, что она запомнила пример. Такие графики у них получились.
👍6❤2