company_banner

Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ

    Последнее десятилетие в области компьютерных технологий ознаменовалось началом новой «весны искусственного интеллекта». Впрочем, ситуацию в индустрии в наши дни можно, наверное, охарактеризовать уже не как весну, а полноценное «лето ИИ». Судите сами, за последние неполные 10 лет только в области обработки естественного языка (Natural language processing, NLP) произошли уже две настоящие технологические революции. Появившаяся в результате второй из них модель GPT-3 произвела настоящий фурор не только в технологических медиа, но стала знаменитой далеко за пределами научного сообщества. Например, GPT-3 написала для издания «The Guardian» эссе о том, почему ИИ не угрожает людям. GPT-3 сочиняет стихи и прозу, выполняет переводы, ведёт диалоги, даёт ответы на вопросы, хотя никогда специально не училась выполнять эти задачи. До недавних пор все возможности GPT-3 могли по достоинству оценить лишь англоязычные пользователи. Мы в Сбере решили исправить эту досадную оплошность. И сейчас расскажем вам, что из этого получилось.


    Источник изображения

    Две революции в обработке естественного языка


    Первая революция в NLP была связана с успехами моделей, основанных на векторных представлениях семантики языка, получаемых при помощи методов обучения без учителя (Unsupervised learning). Расцвет этих моделей начался с публикации результатов Томаша Миколова (Tomáš Mikolov), аспиранта Йошуа Бенджио (Yoshua Bengio) (одного из «отцов-основателей» современного глубокого обучения, лауреата Премии Тьюринга), и появления популярного инструмента word2vec. Вторая же революция началась с развития механизмов внимания в рекуррентных нейронных сетях, вылившаяся в понимание того, что механизм внимания самодостаточен и вполне может быть использован и без самой рекуррентной сети. Появившаяся в результате нейросетевая модель получила название «трансформер» [transformer]. Она была представлена научному сообществу в 2017 году в статье с программным названием «Внимание — это всё, что вам нужно» [Attention Is All You Need], написанной группой исследователей из Google Brain и Google Research. Быстрое развитие сетей, основанных на трансформерах, привело к появлению гигантских языковых моделей, подобных Generative Pre-trained Transformer 3 (GPT-3) от OpenAI, способных эффективно решать множество задач из области NLP.

    Для обучения гигантских трансформерных моделей нужны значительные вычислительные ресурсы. У вас не получится просто взять современную видеокарту и обучить такую модель на своём домашнем компьютере. В оригинальной публикации OpenAI представлено 8 вариантов модели, и если взять самую маленькую из них (GPT-3 Small) со 125 миллионами параметров и попытаться обучить её при помощи профессиональной видеокарты NVidia V100, оснащённой мощными тензорными ядрами, то на это уйдёт примерно полгода. Если же взять самый большой вариант модели со 175 млрд параметров, то результата придётся дожидаться почти 500 лет. Стоимость обучения самого большого варианта модели по тарифам облачных сервисов, предоставляющих современные вычислительные устройства в аренду, переваливает за миллиард рублей (и это ещё при условии линейного масштабирования производительности с увеличением числа задействованных процессоров, что в принципе недостижимо).

    Да здравствуют суперкомпьютеры!


    Понятно, что подобные эксперименты доступны только компаниям, обладающим значительными вычислительными ресурсами. Именно для решения подобных задач в 2019 году Сбер ввёл в эксплуатацию суперкомпьютер «Кристофари», занявший первое место по производительности в числе имеющихся в нашей стране суперкомпьютеров. 75 вычислительных узлов DGX-2 (в каждом по 16 карт NVidia V100), связанных сверхбыстрой шиной на базе технологии Infiniband, позволяют обучить GPT-3 Small всего за несколько часов. Однако и для такой машины задача обучения более крупных вариантов модели не является тривиальной. Во-первых, часть машины занята обучением других моделей, предназначенных для решения задач в области компьютерного зрения, распознавания и синтеза речи и множестве других областей, интересующих различные компании из экосистемы Сбера. Во-вторых, сам процесс обучения, использующий одновременно множество вычислительных узлов в ситуации, когда веса модели не помещаются в памяти одной карты, является весьма нестандартным.

    В общем, мы оказались в ситуации, когда для наших целей не годился привычный многим torch.distributed. Вариантов у нас было не так уж и много, в итоге мы обратились к «родной» для NVidia реализации Megatron-LM и новому детищу Microsoft — DeepSpeed, что потребовало создания на «Кристофари» кастомных докерных контейнеров, с чем нам оперативно помогли коллеги из SberCloud. DeepSpeed, в первую очередь, дал нам удобные инструменты для model parallel тренировки, то есть разнесения одной модели на несколько GPU и для шардирования оптимизатора между GPU. Это позволяет использовать более крупные батчи, а также без горы дополнительного кода обучать модели с более чем 1,5 миллиардами весов.

    Удивительным образом технологии за последние полвека в своём развитии описали очередной виток спирали — похоже, эпоха мейнфреймов (мощных компьютеров с терминальным доступом) возвращается. Мы уже привыкли, что основным инструментов разработки является персональный компьютер, выделенный в монопольное пользование разработчику. В конце 1960-х — начале 1970-х годов час работы мейнфрейма стоил примерно столько же, сколько составляла заработная плата оператора ЭВМ за целый месяц! Казалось, что эти времена ушли навсегда и «железо» стало навсегда дешевле рабочего времени. Однако, похоже, «железо» совершило впечатляющий «камбэк» [comeback]. Будни современного специалиста в области машинного обучения вновь напоминают будни Саши Привалова из повести братьев Стругацких «Понедельник начинается в субботу», с той лишь разницей, что место «Алдана» в нашем случае занимает «Кристофари», а роль магии и чародейства выполняют методы глубокого обучения [deep learning].

    Из опыта SberDevices


    Нам много раз приходилось в прошлом учить другие модели на основе трансформеров — это и различные наследники BERT'а, и модели «кодировщик (энкодер) — декодер» [encoder — decoder], подобные T5 от Google. Виртуальные ассистенты, созданные SberDevices для различных поверхностей, начиная новейшими SberBox и SberPortal и заканчивая привычным всем приложением Сбербанк Онлайн, используют в своей работе несколько подобных моделей для решения различных задач в ходе общения с пользователем. Например, виртуальный ассистент Джой использует в режиме «болталки» модель GPT-2 Medium, обученную на большом корпусе русской литературы, «доученную» на специальном диалоговом датасете и снабжённую особым механизмом ранжирования, предназначенным для выбора наиболее интересных ответов. Такие модели способны вести с пользователем беседу, не выбирая реплики из заранее заготовленной библиотеки ответов, а изготавливая свои фразы «на лету», что делает общение с ними более разнообразным и занимательным.



    Конечно, такую «болталку» нельзя использовать без некоторой страховки в виде системы микроинтентов (правил, предназначенных для того, чтобы давать контролируемые ответы на некоторые, наиболее чувствительные вопросы) и отдельной модели, предназначенной для уворотов от провокационных вопросов, но даже в таком ограниченном виде «генеративная» «болталка» способна заметно поднять настроение своему собеседнику.

    Словом, наш опыт в обучении больших трансформерных моделей пришёлся как нельзя кстати, когда руководство Сбера приняло решение о выделении вычислительных ресурсов под исследовательский проект по обучению GPT-3. Такой проект потребовал объединения усилий сразу нескольких подразделений. Со стороны SberDevices лидерскую роль в этом процессе взяло на себя Управление экспериментальных систем машинного обучения (при этом в работе участвовал также ряд экспертов из других команд), а со стороны Sberbank.AI — команда AGI NLP. В проект также активно включились наши коллеги из SberCloud, занимающиеся сопровождением «Кристофари».

    Совместно с коллегами из команды AGI NLP нам удалось собрать первую версию русскоязычного обучающего корпуса суммарным объёмом свыше 600 Гб. В него вошла огромная коллекция русской литературы, снапшоты русской и английской Википедии, коллекция снапшотов новостных и вопрос-ответных сайтов, публичные разделы Pikabu, полная коллекция материалов научно-популярного портала 22century.ru и банковского портала banki.ru, а также корпус Omnia Russica. Кроме того, поскольку мы хотели поэкспериментировать с возможностью обработки программного кода, мы включили в обучающий корпус снапшоты github и StackOverflow. Команда AGI NLP провела большую работу по чистке и дедупликации данных, а также по подготовке наборов для валидации и тестирования моделей. Если в оригинальном корпусе, использованном OpenAI, соотношение английского и других языков составляет 93:7, то в нашем случае соотношение русского и других языков составляет примерно 9:1.

    В качестве основы для первых экспериментов мы выбрали архитектуры GPT-3 Medium (350 миллионов параметров) и GPT-3 Large (760 миллионов параметров). При этом мы обучали модели как с чередованием блоков трансформера с разреженным [sparse] и полным [dense] механизмами внимания, так и модели, в которых все блоки внимания были полными. Дело в том, что в оригинальной работе от OpenAI говорится о чередовании блоков, но не приводится их конкретная последовательность. Если все блоки внимания в модели будут полными, это увеличивает вычислительные затраты на обучение, но гарантирует, что предсказательный потенциал модели будет использован в полной мере. В настоящее время в научном сообществе ведётся активное изучение различных моделей внимания, предназначенных для снижения вычислительных затрат при обучении моделей и увеличения точности. За короткое время исследователями были предложены лонгформер [longformer], реформер [reformer], трансформер с адаптивным диапазоном внимания [adaptive attention span], сжимающий трансформер [compressive transformer], поблочный трансформер [blockwise transformer], BigBird, трансформер с линейной сложностью [linformer] и ряд других аналогичных моделей. Мы также занимаемся исследованиями в этой области, при этом модели, составленные из одних только dense-блоков, являются своеобразным бенчмарком, позволяющим оценить степень снижения точности различных «ускоренных» вариантов модели.

    Конкурс «AI 4 Humanities: ruGPT-3»


    В этом году в рамках AI Journey команда Sberbank.AI организовала конкурс «AI 4 Humanities: ruGPT-3». В рамках общего зачета участникам предлагается представить прототипы решений для любой бизнес- или социальной задачи, созданных с помощью предобученной модели ruGPT-3. Участникам специальной номинации «AIJ Junior» предлагается на базе ruGPT-3 создать решение по генерации осмысленного эссе по четырем гуманитарным предметам (русский язык, история, литература, обществознание) уровня 11 класса (ЕГЭ) по заданной теме/тексту задания.

    Специально для этих соревнований мы обучили три версии модели GPT-3: 1) GPT-3 Medium, 2) GPT-3 Large с чередованием sparse и dense-блоков трансформера, 3) наиболее «мощную» GPT-3 Large, составленную из одних только dense-блоков. Обучающие датасеты и токенизаторы у всех моделей идентичны — использовался BBPE-токенизатор и наш кастомный датасет Large1 объёмом 600 Гб (его состав приведён в тексте выше).

    Все три модели доступны для скачивания в репозитории соревнований.



    Вот несколько забавных примеров работы третьей модели:







    Как модели, подобные GPT-3, изменят наш мир?


    Важно понимать, что модели типа GPT-1/2/3, на самом деле, решают ровно одну задачу — они пытаются предсказать следующий токен (обычно слово или его часть) в последовательности по предшествующим. Такой подход позволяет использовать для обучения «неразмеченные» данные, то есть обойтись без привлечения «учителя», а с другой стороны позволяет решать довольно широкий спектр задач из области NLP. Ведь в тексте диалога, например, реплика-ответ является продолжением истории общения, в художественном произведении — текст каждого абзаца продолжает предшествующий текст, а в сессии вопросов и ответов текст ответа следует за текстом вопроса. Модели большой ёмкости в результате могут решать многие такие задачи без специального дообучения — им достаточно тех примеров, которые укладываются в «контекст модели», который у GPT-3 довольно внушительный — целых 2048 токенов.

    GPT-3 способна не только генерировать тексты (в том числе стихи, шутки и литературные пародии), но и исправлять грамматические ошибки, вести диалоги и даже (ВНЕЗАПНО!) писать более-менее осмысленный программный код. Множество интересных применений GPT-3 можно найти на сайте независимого исследователя Гверна Бренуэна (Gwern Branwen). Бренуэн, развивая идею, высказанную в шуточном твите Андрея Карпатого (Andrej Karpathy), задаётся интересным вопросом: не являемся ли мы свидетелями появления новой парадигмы программирования?

    Вот текст исходного твита Карпатого:

    «Мне нравится идея Программного обеспечения 3.0. Программирование переходит от подготовки датасетов к подготовке запросов, позволяющих системе метаобучения «понять» суть задачи, которую она должна выполнить. ЛОЛ» [Love the idea for Software 3.0. Programming moving from curating datasets to curating prompts to make the meta learner «get» the task it's supposed to be doing. LOL].

    Развивая идею Карпатого, Бренуэн пишет:

    «Нейронная сеть GPT-3 настолько огромна с точки зрения мощности и набора [использованных для обучения] данных, что демонстрирует качественно иное поведение: вы не применяете её к фиксированному набору задач, представленных в обучающем датасете, что требует повторного обучения модели на дополнительных данных, если вы хотите решить новую задачу (именно так надо переучивать GPT-2); вместо этого вы взаимодействуете с моделью, выражая любую задачу в виде описаний, запросов и примеров на естественном языке, подстраивая текст затравки [prompt], подаваемой на вход модели, до тех пор, пока она не «поймёт» и не научится на мета-уровне решать новую задачу, основываясь на высокоуровневых абстракциях, которые она выучила во время предобучения. Это принципиально новый способ использования модели глубокого обучения, и его лучше рассматривать как новый вид программирования, где «затравка» теперь является «программой», которая программирует GPT-3 для выполнения новых задач. «Затравочное программирование» похоже не столько на обычное программирование, сколько на попытку научить суперинтеллектуального кота освоить новый трюк: вы можете попросить его выполнить трюк, и иногда он выполняет его идеально, что делает ещё более неприятной ситуацию, когда в ответ на запрос он сворачивается, чтобы вылизать свою задницу, при этом вы будете понимать, что проблема не в том, что он не может, а в том, что он не хочет».

    Поскольку наша модель в процессе обучения «видела» github и StackOverflow, она вполне способна писать код (иногда не лишённый весьма глубокого смысла):



    Что дальше


    В этом году мы продолжим работы над гигантскими трансформерными моделями. Дальнейшие планы связаны с дальнейшим расширением и очисткой датасетов (в них, в частности, войдут снапшоты сервиса препринтов научных публикаций arxiv.org и библиотеки научных исследований PubMed Central, специализированные диалоговые датасеты и датасеты по символьной логике), увеличением размера обучаемых моделей, а также использованием улучшенного токенизатора.

    Мы надеемся, что публикация обученных моделей подстегнёт работу российских исследователей и разработчиков, нуждающихся в сверхмощных языковых моделях, ведь на базе ruGPT-3 можно создавать собственные оригинальные продукты, решать различные научные и деловые задачи. Пробуйте использовать наши модели, экспериментировать с ними и обязательно делитесь со всеми полученными результатами. Научный прогресс делает наш мир совершеннее и интереснее, давайте улучшать мир вместе!
    Сбер
    Больше чем банк

    Комментарии 202

      +6
      Доступна ли модель онлайн? Не нашёл ссылок
      UPD: нашел github.com/sberbank-ai/ruGPT3_demos
        +8
          0
          Здравствуйте!
          Пока вижу, что предлагает скачать GPT-2.
          Т.е. если с github.com/sberbank-ai/ru-gpts
          пробовать скачать ruGPT3Large с GDrive — скачивается gpt2_large_bbpe_v50.tar.gz
            +2
            Это GPT-3, просто файл так называется, поскольку наша имплементация основана на коде GPT-2.
              0
              А где можно посмотреть код модели? Чтобы узнать — в чём отличия вашей модели от GPT-2?
                +3
                В тексте поста написана суть отличий. Например, контекст в 2 раза шире у GPT-3, чем у GPT2 — 2048 против 1024. В принципе, вы всё можете сами посмотреть в репе.
                  +8
                  Коллеги, большое спасибо за такой большой претрейн. Еще не тестил, но мало кто в России этим занимается и выкладывает результаты.

                  Однако не нашел в репозитарии ничего похожего на лицензию. Не туда смотрел, или там этого нет? Можно как-то обозначить, на каких условиях можно использовать данные модели?
                    +8
                    Спасибо за замечание! Выложили (MIT).
                +5
                >Это GPT-3, просто файл так называется
                Давайте назовем корову собакой и будем говорить о ней как о свинье, так понятнее будет ;))
                  +2
                  Поправили все названия.
                +2
                Так, поправили путаницу в репе.

                ruGPT2Large: это GPT-2 Large (контекст 1024)
                ruGPT3Medium2048: это GPT-3 Medium (контекст 2048)
                ruGPT2048: это GPT-3 Large (контекст 2048)
                –21
                Я конечно понимаю что Английский международный язык для программистов, но почему описание для сугубо специфической софтины для русского языка, которую будут использовать только русскоязычные программисты на английском?
                И ещё т.к. для многих программистов это будет первый профессиональный софт, если можно добавьте хотя бы небольшую теоретическую часть (или ссылки на неё) на которой основана GPT-2/3 — ибо «нет ничего практичнее чем хорошая теория» ©
                  +5

                  Как минимум что бы не было проблем с русскими символами в путях к файлам

                    +3
                    для многих программистов это будет первый профессиональный софт

                    GPT-3? Первый профессиональный софт для человека?

                      0
                      для многих программистов это будет первый профессиональный софт

                      Не будет. Умный человек не будет брать GPT-3 как свою первую модель. И уж тем более — не зная, что это и зачем.

                      0
                      Замечательно, но абсолютно непонятно как ей пользоваться.
                      У вас там код:

                      from transformers import AutoTokenizer, AutoModelWithLMHead
                      tokenizer = AutoTokenizer.from_pretrained("sberbank-ai/rugpt3large_based_on_gpt2")
                      model = AutoModelWithLMHead.from_pretrained("sberbank-ai/rugpt3large_based_on_gpt2")


                      И как этим пользоваться дальше?
                        0
                        Отбой, разобрался вроде
                    0
                    Сбер выложил русскоязычную модель GPT-3… в открытый доступ

                    Не вижу ссылку на модель и ее использование, Я что — то упустил?
                    UPD: github.com/sberbank-ai/ru-gpts
                    +3
                    А что яндекс интересно думает по этому поводу — сейчас же набегут «оптимизаторы» и «оптимизируют» кучу сайтов
                      +6
                      Ну тут же вечное соревнование снаряда и брони :) Эту же модель можно использовать и с противоположной стороны.
                        +3
                        Профессионалы говорят, что классическое СЕО мертво уже несколько лет. Сейчас проще и дешевле купить контекстную рекламу в том же поисковике, чем пытаться его обмануть с непредсказуемым результатом и риском бана.
                          +1
                          Так это не для классического СЕО, это для дорвеев. Генерить тысячи сайтов в день и продавать трафик. Забанят один такой сайт — на его место придут десять новых.
                        +16
                        Подозреваю, что «крутость» этой модели определяется главным образом объёмом обучающей выборки. Вполне возможно, что на 600 Гб даже марковские цепи покажут вполне приемлемые результаты.
                        Примерно такие
                        — А… га. Хорошо, что у вас чудесный мир, а к хорошему привыкаешь быстро. Да, восходы у вас ярче, торты вкуснее.
                        — Торты всегда особенные, — проворковала Селестия. — Идём.
                        Повернувшись к нему боком, рядом прошла принцесса. В её глазах горели искры всепоглощающего знания. Струящийся утренней авророй хвост мазнул вдоль носа единорога в нематериальном пространстве. В воздухе были слабые магнитные импульсы, однако чувства реагировали так же, как и на Винил.
                        — Селестия? — я пристально вглядываюсь в её воспоминания… Особенно, если учесть, что их не хватает. Покончив с осмотром, я, наконец, понял, как телекинезом работать с магией, летать, освоиться с тысячами бытовых мелочей…
                        Я аккуратно собрал гриву аликорны в два раза ярче, и её рог вспыхнул, а лежавшая на соседней полке Луна нервно закусила губу. Тия действительно любит сестру, я проверял. И даже достигла в этом немалых результатов.

                        Вы наверное удивитесь, но для генерации этого текста использовалась каскадная марковская цепь (модель, полученная линейной комбинацией нескольких марковских цепей, построенных на разных группах текстов). Для построения модели использовалось что-то около 1.5 Гб текста тематических фанфиков, сграбленных с фикшн-ресурсов.
                        Единственное, что потребовалось сделать с текстом — самостоятельно расставить знаки препинания (марковские цепи расставляют их несколько невпопад) и отформатировать, добавив абзацы и разрывы строк. Кстати, GPT-3, судя по скринам, тоже выдаёт сплошную стену текста, которая нуждается в форматировании.
                          +8
                          Это же легко проверяется, путём измерения перплексии на обучающей и тестовой выборках. У любой модели на n-граммах или HMM перплексия гораздо выше, чем у современных моделей на трансформерах.
                            +1
                            Соглашусь. Я попробовал Марковскую цепь на 160 Мб из сообщений в переписке, этого уже оказалось достаточно для генерации коротких забавных сообщений :)
                            Кстати, а Вы сколько предыдущих слов учитывали в цепочке? И как бороться с несогласованностью в предложении?
                            Например
                            А какого-нибудь бритого и кососмотрящего незнакомого чувака около входа в конференцию распространялись через почты групп (то есть, мне хватает

                            Тут глагол «распространялись» ни к селу ни к городу. Всякие нейропереводчики и GPT не страдают таким
                              0
                              «Кососмотрящего»?
                              Даже если это слово и где то было в обучающих данных, то встречалось исчезающе мало.
                              Или модель сама слова способна генерить?
                                0
                                Да, это слово было в обучающих данных, но с генерацией слов было бы интересно построить обобщение цепочки :)
                                +2
                                4 слова длина цепочки. Уменьшить несогласованность слов можно либо увеличением длины этой самой цепочки (но тогда сразу сильно растёт требуемый минимальный объём обучающей выборки), либо линейной комбинацией цепочек.
                                Для этого разбиваем наши тексты на группы по какому-либо признаку — например, в одной группе тексты, богатые на диалоги, в другой — где много пространных описаний и т.д.
                                Далее для каждой группы строим цепочку и комбинируем цепочки с какими-либо весами. Такая функция есть в большинстве библиотек для работы с марковскими моделями. Например, в Python'овом markovify это делается примерно так:
                                model_a = markovify.Text(text_a,state_size=4)
                                model_b = markovify.Text(text_b,state_size=4)
                                
                                model_combo = markovify.combine([ model_a, model_b ], [ 1.5, 1 ])
                                text_model = model_combo.compile()

                                Групп нужно больше двух, конечно. Веса позволяют до некоторой степени управлять содержанием текста (количеством диалогов, к примеру, если в одной группе тексты, богатые на диалоги), а также их подбором можно снизить включение «левых» слов, выбивающихся из контекста. Впрочем, до конца проблема всё равно не уйдёт. Даже в вышеприведённом тексте есть «собрал гриву аликорны в два раза ярче», где слово «ярче» явно не в тему.
                                Ну и плюс размер генерируемого текста влияет. Чем он меньше, тем лучше. Сгенерировать всего одно вменяемое предложение — легко, но чем больше текста выдаётся за раз, тем выше шансы получить бред. Настроить модель так, чтоб за раз выдавалось 3-4 вменяемых абзаца, не так-то просто. Сгенерировать целую книгу на 300 килосимволов связного осмысленного текста — подозреваю, что невозможно.
                                0
                                Да, проблема с копированием кусков текста и заменой там характеристических слов она есть — («единорог» в примерах со скринов это и есть такое слово, подставленное во вполне логичный новостной сюжет-обзор, который во многом копирует типовые обороты).

                                Мы тоже выпускали своего чатбота Ньютона на трансформере кастомной архитектуры с 3млрд параметров(правда не хайповали пока тк там много еще задач) — он затюнен именно на диалогах из интернета и знаниях из википедии, миллионы диалогов. Генерация в нем очень хорошая, логичная, эмпатичная и бот проактивный, одна из фишек это помимо генерации делать refine полученного куска текста, а еще мы используем другой encoder, который внимание чуть иначе, более эффективно применяет.
                                Так вот такая модель может хоститься на обычной 1080ti в облаке и ведет очень разнообразный разговор и стоит это все намного дешевле, чем gpt-3. Правда и артефакты есть — тк модель на английском, стиль разговора у нее более западный и жаргонизмы плохо понимает.
                                Так что огроменный датасет ruGPT3 это круто — но если кто статью читал, там видно, что меньший размер моделей начинает уступать текущим решениям по качеству решения задач NLU. И лучше брать архитектуру под задачу
                                  0
                                  Вполне возможно, что на 600 Гб даже марковские цепи

                                  Нет, невозможно. Верхняя планка качества у марковских цепей заметно ниже.

                                  +1
                                  Я не понимаю как работает нейминг моделей, если
                                  Generative Pre-trained Transformer 3 (GPT-3) is an autoregressive language model that uses deep learning to produce human-like text. It is the third-generation language prediction model in the GPT-n series created by OpenAI


                                  License: Code unavailable, only accessible by a paywalled API

                                  en.wikipedia.org/wiki/GPT-3

                                  OpenAI has agreed to license GPT-3 to Microsoft for their own products and services.

                                  openai.com/blog/openai-licenses-gpt-3-technology-to-microsoft
                                    +13
                                    Наша модель полностью повторяет архитектуру GPT-3, описанную в соответствующей публикации OpenAI. Модель называется ruGPT-3. Конечно, мы могли бы дать ей какое-нибудь другие название, Sberique-3 или ещё какую-нибудь чепуху придумать, но мы решили назвать модель так, чтобы любому было понятно, что в принципе ничего нового с точки архитектуры мы не сделали.
                                      +1
                                      Т.е. все в правовом поле и не подкопаешься?
                                      Тогда интересно. Просто у меня всегда складывалось а ля «Великий Илон даровал людям огня, но он приватизирован и выдается по талонам»
                                        +16
                                        У них половинчатая позиция. С одной стороны, они шарят архитектуру моделей, довольно подробно всё описывают, но при этом сами веса обученных моделей либо публикуют с большой задержкой, либо не публикуют вовсе. Это приводит к тому, что воспроизвести их работу могут только крупные компании, обладающие штатом сильных специалистов по ML и серьёзными вычислительными ресурсами.
                                          +20
                                          Да, именно поэтому для меня Сбер открывается с новой приятной стороны. Хотя конечно это по большей части ваша заслуга, как специалистов работающих в этих отделах
                                            +9
                                            Спасибо за добрые слова. Но, конечно, если бы нам не выделило руководство под это дело ресурсы, то никакой заслуги бы и не было)
                                              0
                                              Если собрать команду овощей, то получится грядка, а не Cutting Edge продукт. Деньги не имеют предпочтений. Сколько корпораций выпускает такого уровня продукты? А выделяют деньги много где. Не хочу тыкать пальцем, но мне в том же Сбере не нравится новый дизайн, а точнее UX. Деньги освоены
                                    +11
                                    … публичные разделы Pikabu ...

                                    Да уж, еще бы архив двача с удаффкомом подтянули
                                      +23
                                      Хорошая идея) Учтём на будущее)
                                        +3

                                        Давайте ещё хабр и ОДС :)

                                          0
                                          Хабр вполне реально, с ODS всё сложнее — надо посмотреть, как можно из слака стянуть историю…
                                            +1

                                            Там есть дампы в специальном канале

                                              0
                                              Спасибо. Заюзаем.
                                                +1
                                                Тогда ещё и народные шедевры с лурка надо добавить
                                            0
                                            Подскажите пожалуйста, что такое ОДС?
                                        0

                                        Если то, что показано на скриншотах — это сочинение уровня 11 класса(да хоть даже 1го), то мне очень грустно:).

                                          0
                                          Ну на скриншотах это не школьные сочинения, никто и не говорил, что это они :)
                                            +1
                                            Да, я видел ту новость про школьные сочинения, но то, что там было представлено как финальный результат тоже было мало похоже на связные мысли :). Даже интересно, кто конкретно решил, что это соответствует уровню 11 класса :).
                                          0
                                          Вот такой код заработает с использованием ruGPT-3?
                                          Код
                                          from transformers import pipeline, set_seed
                                          generator = pipeline('text-generation', model='gpt2')
                                          set_seed(42)
                                          generator(«Hello, I'm a language model,», max_length=30, num_return_sequences=5)
                                            0
                                            Вот такой прокатит
                                            # GPT-3 example
                                            from transformers import AutoTokenizer, AutoModelWithLMHead
                                            from multiprocessing import Pool
                                            from transformers import pipeline, set_seed
                                            from pprint import pprint
                                            
                                            
                                            def do(text):
                                            	print("doing: ", text)
                                            	generator = pipeline('text-generation', model='sberbank-ai/rugpt3large_based_on_gpt2')
                                            	set_seed(42)
                                            	# x = generator("Грозный Генька генератор грубо грыз горох горстями,", max_length=130, num_return_sequences=1)
                                            	x = generator(text,  # max_length=30, num_return_sequences=2,
                                            				  max_length=30,
                                            				  # min_length=30,
                                            				  length_penalty=5,
                                            				  num_beams=4,
                                            				  num_return_sequences=2,
                                            				  early_stopping=True
                                            				  )
                                            	return x
                                            
                                            if __name__ == '__main__':
                                            	# ----------GPT-3--------------		
                                            	chunksize = 1
                                            	dataset = ['Грозный Генька-генератор грубо грыз горох горстями,',
                                            			   'Нам нужна одна победа,',
                                            			   'Давайте говорить друг другу комплименты,',
                                            			   ]
                                            	with Pool(processes=10) as pool:
                                            		result = pool.map(do, dataset, chunksize)		
                                            	pprint(result)
                                            
                                            # Грозный Генька генератор грубо грыз горох горстями,
                                            # а я, как всегда, сидел на корточках и смотрел на него
                                            
                                            

                                          +1
                                          вести диалоги и даже (ВНЕЗАПНО!) писать более-менее осмысленный программный код

                                          Не дай бог, но скорее всего это неизбежно, а учиться эта штука будет сами-знаете-на-каком-коде. Будем индусов вспоминать как «гениев чистой красоты».
                                            0
                                            Ну, к счастью, синтез при помощи генеративных трансформерных моделей — штука более-менее управляемая, можно до некоторой степени управлять стилем генерируемого текста.
                                            –16
                                            Коллеги прочитав, переписку Бота я даже не поленился зарегистрироваться!
                                            Я напомню, что есть такой термин Олигофренизм и одна из стадий это Дебилизм. Это не оскорбление, это термин медицинский! Так вот Дебил это сущность которая понимает слова, но не понимает их сути! Так вот прочитав переписку Бота я вижу клинический диагноз. А теперь представьте, что свершится мечта Банка и такие Боты будут доступны всем, и что будет? — будет клиника у всех! Поэтому вы можете хвастаться искусственным интеллектом, но по факту это бесполезная, даже опасная вещь!
                                              +30
                                              Первые поезда были предназначены для перевозки грузов и развивали скорость, уступающую скорости пешехода. Когда на смену зубчатым рельсам, предназначенным для увеличения тяги паровоза, пришли гладкие, скорость составов выросла, что неизбежно вызвало к жизни идею пассажирских составов. Газеты немедленно начали писать о том, что в результате запуска таких поездов куры перестанут нестись, коровы — давать молоко, а сами пассажиры сойдут с ума от сумасшедшей скорости в 30 км/ч.
                                                –11
                                                Давайте без окон Овертона. Не стоит уводить в сторону. Если вы хотите про паровозы то можем и о них поговорить. Задайте вопрос своему искусственному интеллекту — как в кузнях молотками ковали такие объёмные и сложно трубчатые структуры, как например испаритель?

                                                Вопрос в другом: Верна ли ваша модель и если не верна готовы ли вы это признать?
                                                  +3
                                                  «Верна ли ваша модель» — о какой именно модели идёт речь?
                                                    –9
                                                    Модель построения речевой конструкции основанной лишь на выстраивании логических связей искусственного интеллекта
                                                      +15
                                                      Я, к сожалению, не очень понимаю, что вы имеете в виду. Во-первых, это модель не наша, её архитектура разработана OpenAI, мы лишь обучили модель на русскоязычном корпусе.

                                                      Во-вторых, эта модель не основана на «выстраивании логических связей искусственного интеллекта» — это не символьная, а коннекционистская модель, искусственная нейронная сеть.

                                                      И, в третьих, эта модель не может быть «верна» или «не верна». Такие модели оцениваются при помощи объективных метрик, например, перплексии. Вы берёте тестовый набор данных и оцениваете по нему точность работы модели, и результат не зависит от чьего-либо мнения. Не нравится подход, заложенный в основу GPT-3, предлагайте альтернативную модель, измеряйте её перплексию на тестовой выборке, и если в итоге у вас значение получится меньше — отлично, наука и технологии от этого только выиграют.
                                                        +3

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

                                                          0
                                                          Если коротко — нейросеть обычно следует тем примерам, которые в ней заложены.

                                                          Гарантировать отсутствие «противозаконности» очень сложно хотя бы по той причине, что законы и нормы постоянно меняются.

                                                          И да, проблема «ответственности» по отношению к нейросетям стоит остро — особенно если надо найти виноватого. Если задачи искать виноватого нет, то можно просто сказать, что согласно метрикам нейросеть на разных задачах выдает N% точности или других попугаев.

                                                          Кстати, к людям все сказанное также относится. Никто, в общем, не может гарантировать, что вот тот самый Вася не совершит что-нибудь противозаконное. Просто будут карать Васю. А в кого возложить ответственность в нейросетке — ещё тот вопрос.
                                                            +1
                                                            Почему-то вспомнилось, как Microsoft сделали самобучающегося бота и он почему-то научился расистким высказываниям(пользователи научили плохому) и его отключили.
                                                            Правая публика разразилась криками, что «евреи умучали ИИ-младенца» ;0)
                                                              0
                                                              Если не читали «Сумму технологии» Лема — прочтите. Книжке скоро стукнет 60 лет, но то, над чем размышлял автор во времена, когда тысячи «петафлопсо-дней» (необходимые для обучения GPT-3 175B) было трудно вообразить даже людям с безграничной фантазией, становится всё актуальней и актуальней… В частности, там Лем смоделировал ситуацию, когда «добрый AI» станет уничтожать людей из самых благородных побуждений, с помощью таких банальных компонентов, как зубная паста и средство от облысения (если я ничего не путаю по забывчивости...).
                                                              Короче, с ответственностью и моралью люди пока и сами не разобрались окончательно, чего уж тут ожидать от AI…
                                                                0

                                                                Для общего расширения начитанности полезно, но понять будет ли опасным какой-нибудь deep Q-learning, использующий experience replay, это не поможет.

                                                      +1

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


                                                      Другими словами, насколько сильно эта штука отличается от генератора случайных чисел в оценке результата своей деятельности? Сможет ли ruGPT-3 из 10 созданных ею эссе выбрать наиболее высокохудожественное с литературной точки зрения? Сколько времени ей понадобится, чтобы родить Хэмингуэевское "Продаются детские ботиночки. Неношеные."?

                                                        +10
                                                        Что такое «самостоятельно понять» знает только Джон Сёрл, хотя на самом деле, я подозреваю, что не знает и он :) Что такое шедевр — здесь тоже нет единства мнений. Что можно сделать более-менее объективно — это в слепом тесте попросить людей сравнивать результаты творчества модели с результатами творчества людей. Самая большая версия GPT-3 со 175 млрд весов (она в 230 раз больше, чем та, которую обучили мы) может писать тексты статей, которые в слепом тесте не отличают от статей, написанных журналистами новостных сайтов. Примерно таковы пределы возможностей генеративных трансформерных моделей на сегодняшний день.
                                                          0
                                                          В том слепом тесте, кажется, для каждой статьи была компиляция из нескольких удачных ранов, сделанная человеком, а не plain output GPT-3.
                                                            +5
                                                            Ну пока модели на 175 ярдов весов у нас нет, чтобы перепроверить это. Но через какое-то время будет, тогда и проверим)
                                                              0

                                                              Кстати, интересно. Gpt-3 вроде умеет складывать 3х значные числа(на 4х значных ломается). Что насчёт этого у вас?

                                                                +1
                                                                > Gpt-3 вроде умеет складывать 3х значные числа(на 4х значных ломается).

                                                                Извините, но это совершенно нерелевантная задача для нейросети, обрабатывающей текст на основе схожести (*картинка_про_буханку_и_троллейбус*) Не удивлюсь, если разработчики это не проверяли.

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

                                                                UPD:
                                                                > Для тестов можно использовать в телеге бота @******** (убрано по просьбе, ждем официальной демки)
                                                                Протестил — у меня не складывает, хотя, возможно, я давал маловато примеров.
                                                                  +2
                                                                  Будьте добры, замените, пожалуйста, в комменте название бота на звёздочки, а то там уже он перегружен. Мы выложим скоро официальную демку, в которой инференс будет не одна карточка обслуживать.
                                                                    0

                                                                    Но у вас на скриншотах в посте название написано...

                                                                      0
                                                                      Не, это другой) В посте на скринах, где имя бота видно, это ботик на GPT-2.
                                                                    0

                                                                    Ну извините, что не спросил сначала вашего мнения:). Собственно я утверждения о релевантности нигде и не делал, что это вы?:)

                                                                    0
                                                                    В арифметику она не особо хорошо умеет; самая большая английская тоже, кстати.
                                                                    0
                                                                    Поздравляю с этим огромным достижением, сбербанк начинает удивлять. Если не секрет, имеются ли дальнейшие планы с обучением более крупных моделей gpt?
                                                                      +1
                                                                      Планы такие имеются)
                                                                    0

                                                                    Нет. Компиляция — это журналистский эксперимент. В научной статье использовались неотобранные тексты длиной, по-моему, до 200 токенов.

                                                              0
                                                              Погуглите — есть уже задача распознавания фейков и даже у нас в РФ выделено финансирование на этот проект.
                                                              Верно автор говорит — это война Всепробивающего ядра и Непробиваемой брони.
                                                              То же самое касается и adversarial attacs на нейросети, хотя мое мнение, что скоро эта проблема будет решена.
                                                                +1
                                                                У людей миллиардные бюджеты… Вы им в жизнь ничего не докажите((. А так никто и не утверждает что их нейронка «понимает» написанное. Это лишь «продвинутые» марковские цепи. Но вслух об этом говорить не принято…
                                                                  0
                                                                  Если вы ставите модели диагноз… значит она достигла успехов! Чтобы вам был понятен принцип, изложу его так.

                                                                  Да, смысл текстов — то есть сопоставление фактов из объектов, модель не делает. Она, будучи языковой, делает что-то такое:

                                                                  Представьте себе человека, которому дали огромный объём текста на незнакомом ему языке. Он видит повторяющиеся конструкции из слов. Он ищет систему, которая позволяет, условно, восстанавливать наиболее вероятные пропущенные конструкции.

                                                                  В итоге такая система начинает выдавать конструкции, которые имеют некоторое выравнивание с реальностью (физической, художественной или иной, заложенной в языке и корпусе текстов), если тексты реальные и осмысляются человеком: то есть человек в состоянии такое представить.

                                                                  Под капотом основной ингредиент такой: способ учета контекста употребления слова.

                                                                  Теперь о клинике. Клиническая картина обычно ставится как раз по (не)соответствию реально объективного и словесного описания. Поскольку корпус не состоит на 100% «здоровых» с точки зрения психиатрии текстов — нет гарантий «не бреда».

                                                                  Но это не значит, что исследования в этой области надо закрыть)
                                                                    –4
                                                                    Посмотрел на вашу реакцию и оценки моих комментариев… Понятно почему мы(мир) так деградируем на глазах, а из прогресса только красивые фантики. Вы сплоченные и сконцентрированные на своих «фантиках», а кто идет в разрез вы сразу накидываетесь дизлайками и со «смешками» в коментах — типа как можно отрицать прогресс? При этом не замечаете позора, который виден всем, достаточно пообщаться с роботом по номеру 900 или поговорить Siri/Алисой. Может уже стоит признаться и с гордостью признания начать думать как развиваться, а не убеждать мир, что «фантики» это прогресс? Это я про дизлайки моего комментария. Как правильно написал Сергей Марков — они только адаптировали к русскому языку. Поэтому я пишу о общей концепции, без претензий к данному посту.
                                                                      +4
                                                                      Здесь мы обсуждаем конкретную модель, а по номеру 900 — целая другая система. Если у вас претензии к системе, то данная модель здесь ни при чём. В системе 900 она вообще не используется.
                                                                      У вас претензия к DL в целом? Или претензия к инженерам, которые нейросети суют везде для практического использования? Или к маркетологам, которые продают системы с нейросетями как ИИ?
                                                                      В любом случае, вам не сюда. Мир в интернете деградирует именно из-за того, что люди всё подряд обкладывают руганью, не желая ни в чём разбираться и правильно формулировать свои мысли.
                                                                        –1
                                                                        Я описал как результат конкретной модели выглядит с человеческой стороны, которую другие почему то не заметили. А еще, Вы здесь лайкаете и дизлайкаете. Значит эта тема тоже есть, я о ней и писал. Я не в коем случае не бранился, просто объявил психологически портрет ИИ. Возможно это выглядит не так безоблачно как хотелось бы, извините, но если это негатив?, что замалчивать? — Нужно всё разумно обсуждать. А в итоге, удивился реакции народа на известный факт и получил дизлайки, вместо доводов.

                                                                        PS у меня нет претензий, скорее раздражение, как нелепые вещи выдают за инновации, а люди в коих верится, что они разумные, слепо хлопают в ладоши от радости, не замечая фактов и яростно накидываются на тех кто озвучивает реальные факты, превращающие инновации в пустые фантики. И позвольте закончить на этом.
                                                                      0
                                                                      Казалось бы, причём здесь утки?
                                                                      +4
                                                                      Какой прекрасный дорвей-генератор.
                                                                        +1

                                                                        Вам скорей всего знаком проект Ai-dungeon, который может с gpt-2 запущен на потребительских картах вроде 2080 Ti и radeon VII. Можете пояснить сколько нужно видео памяти на видеокартах что бы запустить ваши ruGPT-3?

                                                                          +1
                                                                          На 1080, вроде, запускается. Если при инференсе контекст подрезать вдвое, то Large вместится даже в 5 гигов, то есть можно даже младшие карточки использовать.
                                                                        +3
                                                                        Кому лень искать пример кода.
                                                                        Попробовал, не сильно впечатлился.

                                                                        import torch
                                                                        from transformers import AutoTokenizer, AutoModel, AutoModelWithLMHead, AutoModelForCausalLM, AutoModelForSeq2SeqLM, AutoModelForMaskedLM
                                                                        tokenizer = AutoTokenizer.from_pretrained(«artemsnegirev/ru_gpt3_large»)
                                                                        #AutoModelForCausalLM AutoModelForSeq2SeqLM AutoModelForMaskedLM
                                                                        model = AutoModelForCausalLM.from_pretrained(«artemsnegirev/ru_gpt3_large»)
                                                                        model.eval()
                                                                        model.to('cuda')

                                                                        def generate(text):
                                                                        # encode context the generation is conditioned on
                                                                        input_ids = tokenizer.encode(text, return_tensors='pt')
                                                                        input_ids = input_ids.to('cuda')
                                                                        # generate text until the output length (which includes the context length) reaches 50
                                                                        greedy_output = model.generate(input_ids, max_length=100)
                                                                        return tokenizer.decode(greedy_output[0], skip_special_tokens=True)

                                                                        generate(«Маньяк читает книгу про глубокое обучение»)
                                                                          0
                                                                          Попробуйте подлиннее задать затравку, тогда и результаты поинтереснее получаются.
                                                                            0
                                                                            Что-то не работает, возмжно код неверный. Для коротких выражений дает диалоги и более менее осмысленные продолжения. Но в диалогох зацикливается. Для длинных предложений выдает кучу new line символов.
                                                                              0
                                                                              Подтверждаю такое поведение. Код я использую generate_transformers.py из репозитория.
                                                                              Я начал стрипать новые символы перед возвратом сгенеренного контекста назад в модель. Что-то типа prompt_text = total_sequence.replace('\n\n', '\n'). Стало работать лучше.
                                                                                0
                                                                                Так, поправили путаницу в репе.

                                                                                ruGPT2Large: это GPT-2 Large (контекст 1024)
                                                                                ruGPT3Medium2048: это GPT-3 Medium (контекст 2048)
                                                                                ruGPT2048: это GPT-3 Large (контекст 2048)
                                                                                  0
                                                                                  Для тестов можно использовать в телеге бота [пока скрыл имя] — там GPT-3 Large модель (эх, надеюсь, он не умрёт от хаброэффекта :)
                                                                                    0
                                                                                    Будет официальная демка скоро, я тогда тут дам ссылки на днях.
                                                                                      0
                                                                                      Не ищется почему-то (((
                                                                                        0
                                                                                        Что не ищется?
                                                                                      0
                                                                                      Для диалогов нужен другой encoder — polyencoder, тут архитектура не подходит
                                                                                        0
                                                                                        Не обязательно, кстати.
                                                                                      0
                                                                                      Поправили путаницу в репе.

                                                                                      ruGPT2Large: это GPT-2 Large (контекст 1024)
                                                                                      ruGPT3Medium2048: это GPT-3 Medium (контекст 2048)
                                                                                      ruGPT2048: это GPT-3 Large (контекст 2048)
                                                                                    –1
                                                                                    Добрый день.

                                                                                    Ошибка вылезает

                                                                                    File "<ipython-input-8-916c7531c9f1>", line 11
                                                                                    input_ids = tokenizer.encode(text, return_tensors='pt')
                                                                                    ^
                                                                                    IndentationError: expected an indented block
                                                                                      +1
                                                                                      Что-то с отступом у вас.
                                                                                    +21
                                                                                    Так вот откуда берутся новости на яндекс дзен)
                                                                                      +3
                                                                                      Не, судя по их уровню, там марковские цепи или что похуже.
                                                                                      0

                                                                                      Интересно, можно ли с помощью GPT-3 решить такую задачу: есть несколько слегка изменённых предложений, с заменёнными-переставленными некоторыми словами. Нужно сказать, какое из предложений составлено более естественно, и больше соответствует тому как пишут люди.

                                                                                        0
                                                                                        Нужно пробовать. Теоретически, да.
                                                                                        +3
                                                                                        Я правильно понимаю что скоро говорить по телефону «где карту открывали туда и идите» будет искусственный интеллект?
                                                                                          –1
                                                                                          А что вы понимаете под термином «искусственный интеллект»?
                                                                                            0
                                                                                            Хм. Наверное под этим я понимаю ваш безумный голосовой робот? Ради удовольствия разработчиков поковыряться с этим всем страдают миллионы людей, вынужденные разговаривать с автоответчиком. Но вы не видите в этом проблемы, только могучую поступь технологий. Весьма прискорбно, чо.
                                                                                              +1
                                                                                              Опубликованная модель не имеет никакого отношения к тому роботу, который отвечает на 900.
                                                                                                –7
                                                                                                Все верно, вот с каким роботом говорили туда и идите. Грефовская куча говна как есть.
                                                                                                  +1
                                                                                                  Вас кто-то обидел из сотрудников Сбербанка?
                                                                                                    –9
                                                                                                    Слушайте, вы даже к выходу статьи не подготовились, вон выше спешно правите на ходу. Чего еще ожидать от кучи обезьян нанятых создавать видимость Очень Важных Дел

                                                                                                    А теперь расскажите как это, разумеется важно — потратить кучу денег налогоплательщиков для вот этой генерилки авторефератов.
                                                                                            +1
                                                                                            Вот кстати да, не получится ли так, что какой-нибудь SberGPT-4, специально натренированный на диалогах колл-центров, заменит большую часть работников техподдержки, и множество людей останется без работы? Ведь явно же не просто так коммерческая организация выделяет деньги на подобные исследования, а из расчёта сэкономить в результате гораздо больше затраченного.
                                                                                              +1
                                                                                              Для решения таких задач достаточно и более простых моделей. Вот тут я рассказываю про робота-оператора КЦ: www.youtube.com/watch?v=p_6kP9uKEdo
                                                                                              0
                                                                                              Вы так пишете, как будто там уже все ботами не обмазано.
                                                                                              Попытался добраться до человека, чтобы узнать что-то в сбербанке, с теплотой вспомнил тиньковского «олега».
                                                                                                0
                                                                                                Попытался добраться до человека, чтобы узнать что-то в сбербанке

                                                                                                Фразу "соединить с оператором" не пробовали? Говорят, помогает.

                                                                                              +3
                                                                                              Сергей, большое вам спасибо!
                                                                                              Днем увидел новость и прямо руки чесались начать экспериментировать и вот наступило 18:01… :)
                                                                                                0
                                                                                                Спасибо вам) Желаю удачных экспериментов!
                                                                                                  0
                                                                                                  А у бота есть какое-то ограниченное время работы?
                                                                                                  У меня в 18:20 он работал, а теперь не работает.
                                                                                                  Кстати интересный диалог вышел)
                                                                                                    +1
                                                                                                    Да упал, небось, от хаброэффекта) На днях будет демка официальная.
                                                                                                      0

                                                                                                      Хабраэффект — штука одноразовая

                                                                                                  +1
                                                                                                  Был бы интересный эксперимент — дать на вход модели осмысленный текст и посмотреть, какие слова модель предсказывает хуже всего. Скорее всего это будут слова, наиболее значимые с точки зрения смысла.
                                                                                                    +1
                                                                                                    Да, у нас была даже идея использовать первый трансформер для «сжатия» контекста таким образом, а второй, обученный на «сжатых» контекстах, уже использовать как генератор. Но руки пока не дошли протестить эту идею.
                                                                                                      +1

                                                                                                      Сжатие контекста — это же, практически, отжимание из текста воды? Вот это, ИМХО, самая актуальная задача для ИИ из всех существующих!

                                                                                                        0
                                                                                                        Ну вообще актуальных задач много :) Отжимать текст от воды, в принципе, так или иначе умеют давно. Более того, есть даже реализованные продукты на эту тему, вроде таких: en.wikipedia.org/wiki/Nick_D%27Aloisio#Summly
                                                                                                    +2
                                                                                                    Запустил все модели на 2070Super. С ruGPT2048 намучался больше всего. На CUDA 10.1 остановился на следующем:

                                                                                                    Сначала по инструкции

                                                                                                    python -m pip install virtualenv
                                                                                                    virtualenv gpt_env
                                                                                                    source gpt_env/bin/activate
                                                                                                    pip install -r requirements.txt

                                                                                                    Затем возникли проблемы с torch/apex/torch-blocksparse которых в requirements.txt нет. С этими версиями работает:

                                                                                                    pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f download.pytorch.org/whl/torch_stable.html

                                                                                                    sudo apt install llvm-9

                                                                                                    git clone github.com/NVIDIA/apex #8a1ed9e
                                                                                                    cd apex
                                                                                                    pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext".

                                                                                                    pip install torch-blocksparse #1.1.1

                                                                                                    В таком порядке. Затем в scripts/generate_ruGPT2048.sh заменить load и tokenizer-path на путь к распакованной модели (rugpt2048.tar.gz )

                                                                                                    Затем запустить scripts/generate_ruGPT2048.sh
                                                                                                      0
                                                                                                      Вот с таким черновиком Dockerfile запускаю ruGPT2048

                                                                                                      FROM pytorch/pytorch:1.4-cuda10.1-cudnn7-runtime
                                                                                                      USER root

                                                                                                      # installing full CUDA toolkit
                                                                                                      RUN apt update
                                                                                                      RUN pip install --upgrade pip
                                                                                                      RUN apt install -y build-essential g++ llvm-8-dev git cmake wget
                                                                                                      RUN conda install -y -c conda-forge cudatoolkit-dev
                                                                                                      # setting environment variables
                                                                                                      ENV CUDA_HOME "/opt/conda/pkgs/cuda-toolkit"
                                                                                                      ENV CUDA_TOOLKIT_ROOT_DIR $CUDA_HOME
                                                                                                      ENV LIBRARY_PATH "$CUDA_HOME/lib64:$LIBRARY_PATH"
                                                                                                      ENV LD_LIBRARY_PATH "$CUDA_HOME/lib64:$CUDA_HOME/extras/CUPTI/lib64:$LD_LIBRARY_PATH"
                                                                                                      ENV CFLAGS "-I$CUDA_HOME/include $CFLAGS"
                                                                                                      # installing triton
                                                                                                      WORKDIR /workspace
                                                                                                      RUN apt install -y llvm-9-dev
                                                                                                      RUN pip install triton==0.2.1
                                                                                                      RUN pip install torch-blocksparse
                                                                                                      ENV PYTHONPATH "${PYTHONPATH}:/workspace/src/triton/python:/workspace/torch-blocksparse"

                                                                                                      RUN git clone https://github.com/NVIDIA/apex && cd apex && pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
                                                                                                      COPY requirements.txt /tmp/requirements.txt # requirements из репы с ru-gpts
                                                                                                      RUN pip install -r /tmp/requirements.txt
                                                                                                      ENTRYPOINT [ "/bin/bash", "-l", "-c" ]
                                                                                                          0

                                                                                                          Возможно завести обучение на windows 10?
                                                                                                          llvm-9 поставляется без llvm-config который нужен для сборки triton
                                                                                                          Попытки скомпилировать llvm-9 не привели к результату, где-то глубоко в интернетах нашел бинарники llvm 11 с нужными бинарниками llvm-config.


                                                                                                          При сборке triton перестал жаловится на отсутствие llvm-config, но он не компилится из-за кучи не понятных ошибок..


                                                                                                          Кто смог запустить на win10 — pretrain_megatron.py?

                                                                                                          +1

                                                                                                          В windows 10 на RTX 2080 спокойно завелось.

                                                                                                          +1

                                                                                                          на каком минимально железе это можно запускать?

                                                                                                            0
                                                                                                            На 1080 должно влезть, medium-модель будет и на младших карточках работать.
                                                                                                              0
                                                                                                              На 1030?
                                                                                                                0
                                                                                                                Я не пробовал сам, но памяти должно хватить, по идее. Надо пробовать.
                                                                                                                +2

                                                                                                                На 2080 Large модель работает нормально, отвечает с задержкой 1-2 сек.
                                                                                                                Кушает 4.6-5.5гб видеопамяти, если указывать символов на вывод больше то 8гб может не хватить.
                                                                                                                Также 5 гигабайт оперативной памяти, при старте на секунд 5-10 грузит проц 3900xt на 80%
                                                                                                                Сам графический процессор при генерации текста сильно не нагружает, в целом у кого 1060 6GB, Large модель должна работать спокойно. Все карточки ценового сегмента ниже уже нет.


                                                                                                                Также пробывал на CPU, откушало 12 гигабайт оперативной памяти, загружало процессор на 50-60%. Работало все довольно медленно, ответа нужно было ждать около ~20 секунд.

                                                                                                                  0
                                                                                                                  На 2080 Large модель работает нормально, отвечает с задержкой 1-2 сек.
                                                                                                                  Кушает 4.6-5.5гб видеопамяти, если указывать символов на вывод больше то 8гб может не хватить.
                                                                                                                  Также 5 гигабайт оперативной памяти, при старте на секунд 5-10 грузит проц 3900xt на 80%
                                                                                                                  Сам графический процессор при генерации текста сильно не нагружает, в целом у кого 1060 6GB, Large модель должна работать спокойно. Все карточки ценового сегмента ниже уже нет.

                                                                                                                  Также пробывал на CPU, откушало 12 гигабайт оперативной памяти, загружало процессор на 50-60%. Работало все довольно медленно, ответа нужно было ждать около ~20 секунд.
                                                                                                                0

                                                                                                                Интересно, можно ли с ее помощью выиграть в конкурсе Про//чтение, где решается задача, обратная написанию эссе — его проверка, но не только на грамматические ошибки, но и на семантику?
                                                                                                                https://ai.upgreat.one/

                                                                                                                  0
                                                                                                                  Возможно. Надо пробовать.
                                                                                                                  0
                                                                                                                  я правильно понимаю, что поддержки only-cpu нет?
                                                                                                                    0
                                                                                                                    Да можно на CPU, конечно, но это будет адски медленно.
                                                                                                                      0
                                                                                                                      ну, работаем в тех условиях, которые есть)
                                                                                                                      сейчас пробую поставить anaconda3+tensorflow+ruGPT-3 на ЦП, но попахивает множественными косяками в зависимостях
                                                                                                                    +2
                                                                                                                    Интересно, доживём ли мы до появления продвинутого ИИ, способного для любого произвольно взятого кода обнаружить, подтянуть и настроить/собрать весь набор зависимостей для сборки на данной конкретной системе?
                                                                                                                    А то работа с зависимостями в современном программировании (за редкими исключениями вроде Rust, Go и JS) — всё ещё кромешный ад. И в отсутствие доброго дяди-майнтейнера иногда может оказаться проще написать код заново, чем заставить собраться и запуститься уже написанный.
                                                                                                                      0
                                                                                                                      Looks like Gref Sber is creating a Rehoboam way to help our nation get the answer to the question «Who, if not the Putin» without being accused of treason.
                                                                                                                        +2
                                                                                                                        Слушайте, ну объясните мне, кто-то реально видит хотя бы в одном из продемонстрированных примеров что-то полезное? Все эти сгенерированные тексты могут для чего-то пригодиться? Произведённый код может пойти в продакшн? Китайская комната остаётся китайской комнатой, результат работы всё такой же бред, как и 5 лет назад, и 15, и 25. Это становится видно уже и в выборках новостей, и в результатах поиска — везде, куда этот мрак проникает. В мире всё больше ценятся компании которые НЕ предоставляют своим клиентам машинное обучение, а решают их задачи силами живых сотрудников. Выбирая банк или провайдера с чатботом в поддержке или с живым сотрудником — никто в здравом уме не выберет чатбота (и они уже начинают пропадать у адекватных компаний).
                                                                                                                        Я в чём-то ошибаюсь?
                                                                                                                          0
                                                                                                                          Все эти сгенерированные тексты могут для чего-то пригодиться

                                                                                                                          Да, например: Общение с NPC в играх, чтобы он мог не просто выдавать набор реплик, но и подерживать более-менее осмысленный диалог.
                                                                                                                            0
                                                                                                                            Да пробовал это геймдев уже сто тысяч раз, ни у кого не получилось.
                                                                                                                              0

                                                                                                                              Вроде все в восторге от AI Dungeon.


                                                                                                                              Да и вообще, когда что-то развивается такими темпами сотни предыдущих попыток могут ничего не значить, пока качество не перейдёт какой-то минимальный порог и тогда внезапно каждая попытка будет успешной.

                                                                                                                                +2
                                                                                                                                Я даже представляю себе будущее игровой индустрии:
                                                                                                                                Задонать $100, чтобы на месяц подключить всех NPC к GPT-3-medium
                                                                                                                                Задонать $200, чтобы подключить всех к GPT-3-large
                                                                                                                                Задонать $400, чтобы подключить всех к GPT-3-huge
                                                                                                                                Задонать $800, чтобы подключить всех NPC к GPT-4
                                                                                                                                Задонать $1600, чтобы целый месяц все ваши NPC управлялись живым DM'ом…
                                                                                                                              0

                                                                                                                              Главное, чтобы оно было для получения положительных эмоций, а не какой-то новой информации.

                                                                                                                            +1
                                                                                                                            У пабмеда/медлайна весьма четко структурированные базы и абстракты по биологиям медицинам в ней, 30М+ публикаций несколько сот гиг XML. Но фултекст только в Либгене, 80М+ публикаций причём по всем наукам. Проблемка что размерчик Либгена думаю тер 70-80 тк PDF. Но в принципе закраудсорсив можно навалиться и за 1-2 месяца качнуть.
                                                                                                                              +1

                                                                                                                              Эх, когда ж эти PDF на TeX заменят, где всё содержимое чистыми текстом?..


                                                                                                                              Хотя, небось раньше появится движок распознавания текстов с формулами и иллюстрациями прямо из видео потока в семантические сети...

                                                                                                                              0

                                                                                                                              Добрый день! Спасибо за материал! Я прочитал его просто как новость, но стало очень интересна эта область. Может быть что нибудь посоветуете прочитать для хотя бы поверхностного ознакомления?


                                                                                                                              Можно ли данную сеть применять для распознавания машинного текста?

                                                                                                                                +1
                                                                                                                                Книга «Грокаем глубокое обучение» — Траск Эндрю.
                                                                                                                                0
                                                                                                                                Может кто-нибудь запустить эту модель через веб-интерфейс или API и дать ссылку, чтобы просто поиграться?
                                                                                                                                  0
                                                                                                                                  Через несколько дней будет официальная демка.
                                                                                                                                    0
                                                                                                                                    А есть какой-нибудь официальный блог, твиттер или канал в телеграме, кроме блога на хабре? Очень не хотелось бы пропустить демку
                                                                                                                                  +8
                                                                                                                                  Разрешите разбавить обсуждение критикой.

                                                                                                                                  Я предполагаю, что публикация обученных моделей вроде GPT-3 — может быть преждевременной, безответственной и вредной: она может затормозить дальнейшее развитие моделей такого рода.

                                                                                                                                  Это парадоксальное заявление, поэтому позвольте объяснить, в чем я вижу проблему.

                                                                                                                                  Контент, созданный моделью, сложно либо невозможно отличить от контента, созданного человеком. Такой контент, попадая в интернет будет обеднять общий контекст. Если N лет спустя исследователь захочет обучить GPT-10, где он возьмет входные данные — чистый антропогенный контент?

                                                                                                                                  Будучи общедоступной, модель может генерировать колоссальное количество контента. Весьма вероятно, что очень скоро интернет будет завален статьями и комментариями, прошедшими редакторскую правку ИИ, парафразами, либо полностью сгенерированными данными. Они не будут особым образом помечены — никто не узнает, кто автор, можно будет только догадываться.

                                                                                                                                  Сейчас вы набрали данных из Википедии, Github и откуда-то еще. Возможно этого датасета достаточно для текущих задач. А для будущих?

                                                                                                                                  Я надеюсь, что до публикации специалисты Сбера прикинули, будут ли в будущем проблемы с обучением, если, скажем, 50% входного датасета — результат работы предыдущих моделей. А если 10% или все 90%? Я надеюсь что они посчитали, насколько быстро произойдет загрязнение и какими будут последствия.
                                                                                                                                  Я также надеюсь, что специалисты Сбера сделали осознанный выбор и опубликовали модель, руководствуясь не желанием попиариться, а желанием принести пользу индустрии. Если так, пожалуйста, аргументируйте, почему пользы от публикации по вашему мнению будет больше, чем вреда, и почему сейчас бесконтрольное распространение лучше контролируемого.

                                                                                                                                  Думаю что ML в начале своего развития. Сейчас существует естественная преграда в создании сложных моделей — требуются огромные вычислительные ресурсы. Это хорошо или плохо? Я вижу аналогию с радиоактивными элементами. Уран и плутоний прекрасны и удивительны. Но надо ли бросать урановые слитки в толпу в начале атомной эры? Рассылать по школьным лабораториям?

                                                                                                                                  Мне видится 2030-й год. ML-специалист выбивает крупный бюджет, чтобы купить «снимок» русскоязычного интернета за 2020-й год, потому что начиная с 2021-го года значительная часть рунета «оптимизирована» GPT-n. В снимке не будет современной повестки, новых терминов и понятий, но с этим придётся смириться, потому что альтернативы нет.

                                                                                                                                  ML — не моя сфера, поэтому разубедите меня, это должно быть просто.
                                                                                                                                    0
                                                                                                                                    При помощи новой сети можно попытаться выставить веса «настоящий — сгенерированный» для входного контента. Благо сделать кучу 100% сгенерированного текста не представляет большой проблемы.
                                                                                                                                      –1
                                                                                                                                      Просто нужно будет ответственнее подходить к выбору текстов для обучения. Потому что если будет трэш на входе — трэш и на выходе. Если вы хотите, чтобы ваша сеть писала как в художественных произведениях — кормите её прозой и стихами. Если же кормить автоматически сгенерированными текстами, то и на выходе будет подражание таким текстам.

                                                                                                                                      Тут всё просто, как с обучением детей. Если ребёнок не читает литературу, а смотрит только Ютуб — он и разговаривать будет, как эти ваши видеоблохеры.
                                                                                                                                        0

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

                                                                                                                                          –1
                                                                                                                                          вы предполагаете, что если сейчас нельзя отличить сгенерированный текст от реального, то так будет и впредь. а ведь в будущем может быть два варианта: 1) их действительно нельзя будет отличить — но это значит, что искусственные тексты будут очень хорошими, и на них тоже можно тренироваться, и 2) их можно будет отличить — тогда их можно будет просто распознать и выкинуть.
                                                                                                                                            +2
                                                                                                                                            Ждём новый вариант капчи — прочитайте шесть абзацев текста и отметьте те из них, которые написаны живыми людьми.
                                                                                                                                              +2

                                                                                                                                              Напиши шесть абзацев текста так, чтобы они не были похожи на текст, написанный машиной.

                                                                                                                                                0
                                                                                                                                                Не прокатит, потому что уже написанных человеком текстов столько, что даже Google не в состоянии держать их полную базу. Боты просто будут копировать куски какого-нибудь малоизвестного текста.
                                                                                                                                            +1
                                                                                                                                            Шикарный комментарий :) Мне кажется, в 2030 у нас будет больше возможностей забирать контент из более качественных и специализированных «антропогенных» источников, чем сейчас + методы фильтрации откровенно некачественной ерунды, которой и сейчас забиты форумы (по аналогии с методами добычи нефти из все более сложных источников или методов очистки руды из карьеров).
                                                                                                                                              +1

                                                                                                                                              А с чего вы взяли, что антропогенные источники надежные? :)


                                                                                                                                              Думаю через 10 лет появятся движки, которые смогут не просто проглатывать тонну текста и использовать это для генерации, а символьно ананализировать информацию, искать противоречия, запрашивать дополнительные данные для анализа, использовать не только текст. Так что отделить зерна от плевел они вполне смогут.


                                                                                                                                              Возможно получится по аналогии с AlphaGo от DeepMind — сначала этот ИИ учился на человеческих партиях, а потом обучился с нуля играя только сам с собой, при этом по рейтингу обошел прежнюю версию. С реальной базой знаний о мире конечно все сложнее, но не исключено, что можно собрать таковую с минимальным количеством противоречий, проверяя входную информацию по нескольким источникам.

                                                                                                                                                +2
                                                                                                                                                > А с чего вы взяли, что антропогенные источники надежные? :)
                                                                                                                                                Вопрос в точку. Только наверное речь не о «надежности» а отличиях вообще. И впрямь, чем это антропогенный контент такой особенный? Ведь машина может писать эссе, писать код и стихи на достаточном уровне, и не отличишь…

                                                                                                                                                А разница вот в чём.

                                                                                                                                                ИИ не создаёт новые смыслы, он правдоподобно комбинирует старые, достраивает что-то отталкиваясь от существующего контекста. ИИ — великий подражатель.

                                                                                                                                                Пример:
                                                                                                                                                Некий ИИ, создающий субтитры для видео, услышав «Это жеребёнок! А где кобыла?» напишет «Это же ребёнок! А где кобыла?» потому что ему плевать на контекст и семантику. И создаст текст, содержащий очевидную чушь. Затем продвинутый ИИ следующего поколения проиндексирует этот текст и построит связь «нашёл ребёнка — ищи кобылу». Чушь на входе — чушь на выходе.

                                                                                                                                                Это примитивный пример, но он показывает, что ИИ нового поколения не может добывать новые смыслы из одних лишь данных, созданных предыдущим ИИ. Педагоги знают, что дети детей новому не научат. Они воспроизводят ошибки, потому что некому на них указать. Им нужен внешний источник данных и опыта — взрослый.

                                                                                                                                                Для ИИ наш человеческий контент — сырьё для обучения. Я думал какую бы метафору подобрать и решил что подойдёт сравнение с продуктами.

                                                                                                                                                Я бы сказал, что антропогенный контент — это «высококалорийный» продукт (новые смыслы, результаты размышлений и реального опыта). ИИ может на его базе создать что-то похожее, много похожего, но калорийность не изменится, потому что на выходе — комбинирование и симуляция, пусть и правдоподобная. Если бы ваша голова могла вместить весь объём датасета, то на любой output ИИ вы бы сказали «я это уже где-то видел».

                                                                                                                                                В статье есть пример текста про «Коровку-коровку». ИИ удачно собрал новую сказку, но по сути это одна из миллардов комбинаций кусочков старых сказок. Новых смысловых калорий не прибавилось. Если попросить сгенерировать миллиард новых сказок ИИ это сделает, и что мы получим? Вырастет энтропия, а «смысловая калорийность» останется прежней. Даже чтобы узнать, какая из созданных сказок удачная, а какая нет, ИИ всё равно потребуется внешний оценщик — человек, тот самый источник антропогенных данных.

                                                                                                                                                Помнится, что я сам работал в качестве GPT-3 — писал в институте рефераты без единой собственной мысли. Переваривал чужой контент. На выходе, после переваривания, сами понимаете что получается. Дерьмо получается. Но выглядело офигеть правдоподобно, прямо труд века. Если на базе моего реферата и тысяч таких же псевдоработ слепить новый реферат, а на его базе новый — уровень качественно не повысится. С каждой новой итерацией мы лишь будем наращивать энтропию всей системы и снизим качество рефератов в целом.

                                                                                                                                                buriy написал, что если действительно нельзя будет отличить — это значит, что искусственные тексты будут очень хорошими. Правдоподобность — не единственный критерий качества. Для меня лично так вообще последний. Я с содроганием представляю себе Интернет, в котором и тексты и комментарии к текстам написаны роботами, которым пофиг что писать. Каждая секунда моей жизни, потраченная на чтение высеров ИИ будет потрачена впустую. Я не хочу выискивать сертифицированные страницы с лейблом «genuine content, made by humans». Я вообще не хочу гадать, что я только что прочитал — продукт размышлений живого человека, или трижды переваренные испражнения GPT-n. Я не хочу чтобы в html-формах ввода пришлось проверять, реальный человек печатает или прилетел готовый текст от GPT-спамера. Но к тому всё идёт. Мы, земляне, скоро будем сжигать миллиарды человекочасов, читая сказки мертвых роботов.

                                                                                                                                                KvanTTT привёл пример AlphaGo от DeepMind, который поднял мастерство, играя сам с собой. Это некорректный пример. В игре всегда бинарный исход — выигрыш или проигрыш. ИИ может сам ранжировать эффективность любой стратегии — если выигрыш чаще, значит стратегия лучше. Оценить качество собственных идей в тексте ИИ не в состоянии, ему нужен кто-то внешний, с мозгами. Если на вход подать тексты другого ИИ в качестве эталонных, — будет деградация.
                                                                                                                                                  +3
                                                                                                                                                  Вы заблуждаетесь принципиально. Как там, «может ли робот написать симфонию?»
                                                                                                                                                  Заголовок спойлера
                                                                                                                                                  image

                                                                                                                                                  Пока вы будете пребывать в парадигме «робот не производит новых смыслов», ваши выводы будут казаться логичными. Хотя доказательств того, что робот эти смыслы не производит, у вас нет. Более того, роботы уже давно производят эти новые смыслы, Николай Иронов подтвердит. Да, не все смыслы, и не всегда. Но лиха беда начало!
                                                                                                                                                  Давайте рассмотрим такую аналогию. Предположим, есть какой-то более общий способ измерить IQ, «калорийность», в задачах написания текстов. Хотели бы мы, чтобы тексты писали только существа с IQ<50? Неважно, люди или роботы. Да нет, нам их будет неинтересно читать! А хотели ли бы вы почитать умные полезные для вас мысли от существа с IQ>150? Да, хотели бы! Понимаете? Ответ на этот вопрос не зависит от того, человек написал текст или робот. А значит, вы просто роботошовинист и зря ругаете роботов. Запрограммируйте тест на IQ, работающий по тексту, фильтруйте — и вуаля, получите только интересные тексты.
                                                                                                                                                  Теперь второй связанный с этим вопрос. «Правдоподобность — не единственный критерий качества.» Я нигде не говорил про правдоподобность. Я говорил про «отличить». Если работы роботов будут ниже качеством, то эти тексты можно будет отличить по качеству. Это я имел в виду. Отличить по правильному или неправильному использованию фактов, по уровню логики, по наличию новых интересных выводов, по тому, заставил ли вас текст задуматься — в общем, берите любую нужную вам характеристику хороших текстов. Щит улучшается быстрее меча в более крупных текстах (начиная с текстов новостей), и нет никаких причин, что будет наоборот — до появления настоящего AGI (Общего ИИ), конечно.
                                                                                                                                                  Авторы GPT-2 писали, что испугались публикации самой крупной модели именно потому, что полученные тексты невозможно было отличить существовавшими на тот момент методами, и тем более человеком. Но быстро были найдены способы автоматически отличать такие тексты, так же как современными технологиями легко отличить тексты, сгенерированные марковскими цепочками (которых боялся мой оппонент в 2011м году примерно по тем же основаниям, что и вы: он утверждал, что борьба со спамом станет намного сложнее). Cейчас, в конце 2020го года, ограничения на публикацию моделей GPT-2 и GPT-3 уже не выдерживают никакой критики.
                                                                                                                                                  Но это всё не относится к коротким текстам, типа отзывов о ресторанах и продуктах, там человеку уже недостаточно данных для отличения робота и человека. Потому что люди ленятся и часто пишут шаблонные тексты, да и спамят, кстати, тоже сейчас люди. Половина прочитанных вами отзывов наверняка была спамом, созданным человеком за копейки. И половина прочитанных вами статей в интернете кстати тоже реврайтинг, сделанный людьми. А уж сколько почтового спама, сделанного по шаблонам, написанными людьми, вы прочитали… Теперь будут спамить ещё и роботы, но что от этого принципиально поменяется в этих коротких текстах?
                                                                                                                                                    +1

                                                                                                                                                    Генерация текста — это ещё только самое начало написания хорошего материала. Текст начинается с определения главной мысли, которую хочет передать автор. Составляется план, определяются главные герои. Создаётся скелет текста, и только потом идёт "буквогенерация". GPT-3 только начинает учиться делать последнее из перечисленного, а ведь детей учат этим вещам в младших классах. Но, конечно, всему этому можно научить и ИИ, со временем.


                                                                                                                                                    Мы слышали истории про то, как известные писатели формируют канву нового произведения, а "литературные рабы" наполняют его мясом. Вот такие ниши и будут в первую очередь заполнятся ИИ. Также и в других профессиях, первыми роботизации поддаются малоинтелектуальные занятия.

                                                                                                                                                      0

                                                                                                                                                      "букварь для благородных девиц" все ближе к реальности

                                                                                                                                                        +1
                                                                                                                                                        GPT-3 чрезвычайно проста, хорошо изучена и прекрасно масштабируется (что показано в экспериментах).
                                                                                                                                                        Нужна иерархия и память (вообще, структура трансформера может обеспечить иерархию в представлении данных, но это не гарантировано).
                                                                                                                                                        Для трансформеров уже есть набор вариаций архитектур с такими дополнениями.
                                                                                                                                                        Есть также другие вариации обучения, которые позволяют добиться того же качества в разы быстрее.
                                                                                                                                                        Но все это требует больших и дорогих экспериментов.
                                                                                                                                                        К тому же сейчас активно развивается направления графовых нейронных сетей. Для генерирующих моделей это сделает возможным применение графовых баз знаний (очень больших и хорошо структурированных, замечу) для построения модели мира и рассуждений.
                                                                                                                                                        GPT-4 скорее всего еще пойдет по экстенсивному пути (больше данных, больше модель), вероятно подправят задачу при обучении на более оптимальную и еще несколько дополнительных добавят.
                                                                                                                                                        А вот модели, подобные ей, и следующие поколения будут уже в разы мощнее и «умнее».
                                                                                                                                                        GPT-3 же уже дала большой толчок в решении многих частных задач NLP.
                                                                                                                                                        ruGPT-3, надеюсь, немного подбодрит ру-сообщество.
                                                                                                                                                        0
                                                                                                                                                        Если работы роботов будут ниже качеством, то эти тексты можно будет отличить по качеству. Это я имел в виду. Отличить по правильному или неправильному использованию фактов, по уровню логики, по наличию новых интересных выводов, по тому, заставил ли вас текст задуматься — в общем, берите любую нужную вам характеристику хороших текстов.




                                                                                                                                                        Это — реальный отзыв реального человека. Я честно затрудняюсь сформулировать условия, по которым вы сможете ЭТО отличить от результатов работы нейросети
                                                                                                                                                          0
                                                                                                                                                          для коротких текстов — не смогу, о чём и написал выше, а для длинных текстов — смогу.
                                                                                                                                                          но, в любом случае, вы как раз отлично проиллюстрировали сейчас мою мысль: Greenback жалуется на то, что именно на основе таких отзывов возможно строить качественные модели языка, но вот придёт GPT-3 и обязательно всё испортит!!!
                                                                                                                                                            0
                                                                                                                                                            Ну я все-таки согласен больше с Greenback. Ну просто если у нас уже сейчас люди пишут так, что тексты от нейросетей выглядят лучше и понятнее, то когда вам спам-боты начнут массово эти тексты слать на все сайты — текстовую информацию в принципе читать нельзя будет. Ну т.е. без какого-то шильдика «written by human» информации действительно доверять будет нельзя. Причем, учитывая современные достижения нейросетей — и с видео, и с картинками та же проблема уже прям рядом.

                                                                                                                                                            И ладно, если нейросети как-то еще смогут свои результаты туда-сюда распознавать при обучении и игнорировать. Живым людям-то как?
                                                                                                                                                              0
                                                                                                                                                              Тут варианта всего два:
                                                                                                                                                              1) нейросеть будет распознавать и убирать нейро-спам
                                                                                                                                                              2) действительно будет подтверждение «написано человеком» (на основе проверки по IP, по паспорту, по капче...). И на основании отсутствии такого подтверждения будет чиститься нейро-спам.
                                                                                                                                                              И так же как с обычным спамом, те сайты, что не будут принимать меры для борьбы со спамом, быстро растеряют посетителей.
                                                                                                                                                                0
                                                                                                                                                                Ну просто если у нас уже сейчас люди пишут так, что тексты от нейросетей выглядят лучше и понятнее

                                                                                                                                                                То есть знаменитое советское «буду сказать без бумажки» вы уже забыли?))

                                                                                                                                                                  0
                                                                                                                                                                  Прекрасный вариант — когда такой текст просто не пройдёт проверку :) С каким-нибудь корректным, но обидным для автора сообщением, типа «Ваш текст бессвязный и похож на бота».
                                                                                                                                                      0
                                                                                                                                                      Какие из перечисленных моделей ruGPT-3 полетят на Nvidia 1650 c 4Gb памяти на борту? Не умею в machine learning, но хочется попробовать :)
                                                                                                                                                        0
                                                                                                                                                        > публичные разделы Pikabu

                                                                                                                                                        Только посты или и комментарии тоже?
                                                                                                                                                          0
                                                                                                                                                          А сгенерить аннотацию к книге можно с помощью это модели?
                                                                                                                                                            0
                                                                                                                                                            — Они развлекались тем, что подсовывали искусственному интеллекту разные сборники информации с смотрели что из этого получится.
                                                                                                                                                            — Главное чтоб не давали ему посмотреть «Матрицу»!
                                                                                                                                                              0
                                                                                                                                                              А есть может ссылки на корпус текста? Было-бы здорово его посмотреть. Особенно подготовленный;-)
                                                                                                                                                                0
                                                                                                                                                                Ай молодцы! Круто. Давно ждал.
                                                                                                                                                                Теперь будем файнтюнить на свои задачки.
                                                                                                                                                                Будет много новых и интересных проектиков.
                                                                                                                                                                Как у вас лицензией? Можно использовать модель в коммерческих целях?
                                                                                                                                                                  0
                                                                                                                                                                  Пока выложено с MIT, но вопрос обсуждается в сторону менее ограничивающей лицензии.
                                                                                                                                                                  +1

                                                                                                                                                                  У Пелевина в iPhuck10 показан подобный говорящий алгоритм. Полицейский алгоритм)

                                                                                                                                                                    +1
                                                                                                                                                                    Человек может импровизировать на одну и ту же тему, и в зависимости от состояния сочинять разные истории. Интересно, если повторить этому ИИ запрос про «коровку-коровку», он выдаст тот же текст? Кто нибудь проверял это? Конечно после дообучения вывод может измениться.

                                                                                                                                                                    Переводчики, тот же Гугл, часто спотыкаются на омонимах при переводах. Можно задать текст, кот. проверяю «разумность» переводчиков — Девушка с косой косила на косе траву косой. Переводчики путают косы при переводах. Интересно какой текст сгенерит этот «умник», когда столько неоднозначностей) Понятно, что будет зависеть от статистики встречаемости кос в разных контекстах в обучающей выборке. Внутреннюю модель мира они пока не способны создавать, и строить правильные отношения в семантической сети.
                                                                                                                                                                      +1
                                                                                                                                                                      Можете попробовать «Порфирьевича» на gpt-2. Спойлер: текст выдаёт разный (хоть и связанный темой затравки).
                                                                                                                                                                      0

                                                                                                                                                                      А можно ли, и если можно то как, в данной модели использовать режим few-shot learning, как в оригинальной статье? Например написать "Q: 2x2 A: 4 Q: 3x3 A:" и получить ответ "9"? Я написал и получил следующее продолжение " 2 B: 3 C:2 E: 3" :|

                                                                                                                                                                        0
                                                                                                                                                                        До некоторой степени можно. Например, в диалоги она умеет. Но надо понимать, конечно, что это 760M, а не 175B, поэтому тут возможности поскромнее.
                                                                                                                                                                        0
                                                                                                                                                                        А может кто объяснить?
                                                                                                                                                                        1. Почему не производится очистка текстов от простейших спецсимволов (&nbsp &mdash)
                                                                                                                                                                        2. Почему не проверяются повторы предложений.
                                                                                                                                                                        3. Обрывы на полуслове в конце часто проскакивают. Сложно завершить знаком препинания или закончить на пробеле?
                                                                                                                                                                        результат
                                                                                                                                                                        Context >>> laquo
                                                                                                                                                                        10/24/2020 10:45:32 — WARNING — transformers.modeling_utils — Setting `pad_token_id` to 50256 (first `eos_token_id`) to generate sequence
                                                                                                                                                                        ruGPT:
                                                                                                                                                                        laquo; Памятник» в центре Екатеринбурга (напротив цирка на Цветном бульваре).«Памятник жертвам политических репрессий» в Екатеринбурге, возле памятника жертвам политических репрессий.«Памятник жертвам политических репрессий» в Екатеринбурге, на пересечении улиц Куйбышева, Куйбышева и Народной (бывшая ул. Куйбышева)  — памятник жертвам политических репресси
                                                                                                                                                                          0
                                                                                                                                                                          Скоро будет обновление модели, где html entities заменены будут + будет добавлен . Повторы проверяет не модель — проверку повторов вы можете добавить свою кастомную, какую хотите (как и логику для завершения генерации). В целом, я бы рекомендовал, чтобы было меньше повторов, просто использовать немного другие параметры генератора:

                                                                                                                                                                          --temperature=0.9 \
                                                                                                                                                                          --k=0 \
                                                                                                                                                                          --p=0.95
                                                                                                                                                                          +3
                                                                                                                                                                          Отлично генерирует новости. Уже все болит от смеха. Модель 175B будет в свободном доступе? Я правильно понял, что на данный момент у вас самая лучшая модель это GPT3-Large 760M?
                                                                                                                                                                          Вот пример генерации.
                                                                                                                                                                          Официальный представитель NASA заявил, что Гагарин не был в космосе. Однако его фотография, опубликованная в Интернете, подтверждает, что он действительно был в космосе. Об этом сообщает РИА Новости.
                                                                                                                                                                          «На фотографии запечатлен момент, когда Гагарин выходил из кабины космического корабля „Восток-2“, чтобы поприветствовать советских космонавтов, — говорится в заявлении официального представителя NASA. — Он был одет в темно-синий комбинезон и шлем космического корабля „Восток-2“. Его фотографии были опубликованы в интернете. На ней отчетливо видно, что Гагарин вышел из кабины космического корабля „Восток-2“ в шлеме космического корабля „Восток-3“.
                                                                                                                                                                          По мнению NASA, Гагарин был единственным человеком, который видел запуск ракеты „Восток-3“, который был осуществлен в СССР в 1961 году. Однако, как отмечается в заявлении, фотографии сделаны на борту корабля, который совершил свой первый полет в космос в 1961 году. В NASA заявили, что фотография не может быть подтверждена документально.
                                                                                                                                                                          В начале апреля агентство NASA сообщило, что на снимках, сделанных космическим аппаратом „Кьюриосити“, запечатлен запуск ракеты „Сатурн-5“, которая стартовала из космического центра Кеннеди. На фотографиях видно, что в кабине находится не один космонавт, а несколько человек, в том числе космонавт Юрий Гагарин и астронавт Уильям Андерс. На сайте НАСА эти фотографии были опубликованы с комментарием, что они не могут быть идентифицированы как фотографии Гагарина.
                                                                                                                                                                          В марте NASA опубликовало новые снимки „Кьюриосити“. Они были сделаны в момент, когда аппарат был уже на орбите. На них можно увидеть, что в кабине космического корабля находится не один космонавт, а несколько человек, в том числе астронавт Уилья
                                                                                                                                                                            0
                                                                                                                                                                            Пока большой вопрос, будет ли 175B модель в принципе, всё-таки её очень дорого учить. Но, возможно, всё-таки будет — думаем. На данный момент да, 760M самая большая модель, и ещё одна учится на ступеньку больше.
                                                                                                                                                                            +1
                                                                                                                                                                            Спасибо Вам за материал!

                                                                                                                                                                            Интересно посмотреть на какой стадии развития находятся современные нейросети:
                                                                                                                                                                            image

                                                                                                                                                                            Надеюсь мы когда-то увидим действительно осмысленные результаты :)
                                                                                                                                                                              0
                                                                                                                                                                              Кто-нибудь может пояснить что такое эти параметры/гиперпараметры у модели, это аналог нейрона/синапса? В интернетах очень размыто пишут.

                                                                                                                                                                              Понятно, что чем больше их, тем «умнее» модель. Интересует в контексте сравнения модели с человеческим мозгом.
                                                                                                                                                                                0
                                                                                                                                                                                «Всё круто!», сберу — «респект и уважуха», «дорогу осилит идущий», я обоими руками за публикацию подобных моделей в открытый доступ, но меня не покидает ощущение, что GPT модели per se — это попытка «перехитрить» «теорему о бесконечных обезьянах», прикладывая к случайным данным экспоненциально растущие вычислительные мощности… Та история про миллион мартышек, которые пишут «Войну и Мир». Только здесь в роли мартышек выступает NDs-series или «Кристофари» (не важно), «проворачивающий назад» фарш из гигабайтов когда-то осмысленных текстов…

                                                                                                                                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                                                                                                Самое читаемое