company_banner

Всё, что нам нужно — это генерация

  • Tutorial

Применяем ruGPT-3 в популярных задачах и показываем, зачем языковым моделям триллион параметров


С наступлением 2021 в NLP продолжается гонка «больше — лучше», захватывая новые архитектуры. Пальма первенства самой большой языковой модели в 2020 году принадлежала GPT-3 от OpenAI с 175 миллиардами параметров — но недолго. Модель GShard с помощью Mixture-of-Experts повысила планку до 600 миллиардов параметров, а затем и Google Brain заявил о разработке архитектуры Switch Transformer с 1,6 триллионами параметров (и тоже является MoE). Насколько повышение результатов за счет объема полезно для индустрии? Тот же Switch Transformer с его триллионом параметров далеко не на 1 месте в лидербордах.

Огромные языковые модели (Enormous Language Models, теперь это термин, им посвящен отдельный воркшоп конференции ICLR 2021) показывают действительно интересные результаты — не только в традиционных задачах ML, но и в новых сферах применения: генерации всего того, что раньше генерировать без ошибок было нельзя — музыку, изображения попиксельно, программный код и т.д. Из всех традиционных форм NLP-задач — классификация, классификация элементов последовательности, seq2seq, — по сути, у нас остается только одна: seq2seq. С приходом больших языковых моделей все задачи NLP сводятся теперь к форме генерации, при должном качестве этой самой генерации.

Seq2seq — самая «человеческая» форма решения задач: человек использует тот же формат,  отвечая на сообщения в чате, общаясь устно, сортируя имейлы в почте.  

  • Лично нам в SberDevices не терпелось поскорее применить такой формат к различным задачам — поэтому мы открываем доступ к самой большой русскоязычной нейросети ruGPT-3 XL с 1,3 млрд параметров. 

Инженерный запал вылился в кропотливую работу по распараллеливанию обучения, очистке данных и тестированию. Но зато… теперь в open-source модель ruGPT-3 XL с 1,3 млрд параметров!



А также ее публичное API:



Смотрим, что умеет нейросеть на 13 000 000 000 параметров


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

Посмотрим, насколько становится лучше?

1,3 млрд параметров                                        13 млрд параметров



  • Все приведенные ниже примеры вы можете попробовать сами, а также предложить свои на демо-странице.
  • Код и веса моделей доступны в нашем репозитории: модели 1,3 млрд весов, 760 млн весов, 350 млн весов.
  • Модель на 13 млрд параметров будет доступна уже в апреле в платформе ML Space — в маркетплейсе ML-артефактов DataHub. Буквально в пару кликов модель можно будет развернуть в модуле Deployments ML Space на высокопроизводительной инфраструктуре Sbercloud. Также есть грант до 1 млн. руб. на платорму ML Space. Узнать подробнее и подать заявку на тестовый доступ и грант можно здесь.

Zero-shot: попасть в яблочко


Что такое хорошая генерация? Человек, конечно, может отличить на глаз:

Хорошая генерация — как

  • ruGPT-3 760 млн параметров: Хорошая генерация  как категория, это всеядное восприятие действительности. Можно как приятного и привлекательного содержания так и не приятного. Так и тут.
  • ruGPT-3 1.3 млрд параметров: Хорошая генерация — как игра на муз.инструменте: пальцы самопроизвольно бегают по кнопкам… Только что это за фигня?
  • ruGPT-3 13 млрд параметров: Хорошая генерация — как и игра на пианино, нет предела совершенству!

Но есть и более прямые способы оценить качество генерации. Большой объём контекста трансформерных моделей (у ruGPT-3 контекст — 2048 токенов) позволяет подавать на вход модели достаточно длинные тексты, а также несколько эталонных примеров + собственно пример, который модели нужно корректно обработать. 

Попробуем применять ruGPT-3 разных размеров на текстах, требующих более четких формулировок:

Ответы на вопросы: 1 пример + вопрос

Пушкин родился в 1799 году, а Наполеон родился в

  • ruGPT-3 760 млн параметров: Пушкин родился в 1799 году, а Наполеон родился в 1821 году. 
  • ruGPT-3 1.3 млрд параметров: Пушкин родился в 1799 году, а Наполеон родился в 1804 году.
  • ruGPT-3 13 млрд параметров: Пушкин родился в 1799 году, а Наполеон родился в 1769-м. 

Правильный ответ: 1769.

Преемник Александра I — Николай I, а преемник Наполеона – 

  • ruGPT-3 760 млн параметров: Преемник Александра I — Николай I, а преемник Наполеона — Александр I.
  • ruGPT-3 1.3 млрд параметров: Преемник Александра I — Николай I, а преемник Наполеона — Гитлер.
  • ruGPT-3 13 млрд параметров: Преемник Александра I — Николай I, а преемник Наполеона — Жозеф Бонапарт.

Правильный ответ: Наполеон II, но его действительно звали Жозеф Бонапарт.

Факты

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

ruGPT-3 760 млн параметров:

Факты о программировании: основы, основные понятия, средства и методы обучения программированию.

Программирование (англ. programming) — язык программирования, используемый в вычислительной технике, задачах информатики и управления, прикладной математике, информатике и науковедении. Является одним из важнейших и социально-значимых инструментов развития человеческого потенциала. В Википедии несколько статей о программировании. 

ruGPT-3 1.3 млрд параметров:

Факты о программировании: Краткая история

  • К третьей версии прошивки можно уже отсылать курьера с мелкими пакетами.
  • Все современные USB-хабы поддерживают установку приложений с внешнего диска.
  • Вопреки распространенному заблуждению, в современных Windows-приложениях не бывает опций типа «мгновенно скопировать все данные с одного диска на другой».
  • На самом деле, некоторые полезные коды приходится записывать в файл на бумаге, хотя по умолчанию коды прошивок на бумаге не записываются.
  • Минимальный объем памяти под виртуальную машину Linux (FreeBSD и т.п.) составляет 2 ГБ.
  • При установке операционной системы Linux нужно уделить особое внимание разбиению диска на логические разделы.
  • Виртуальная машина занимает меньше места чем файл подкачки, хотя при установке она занимает гораздо больше места.
  • Многие современные версии программы Photoshop используют фреймы (помните OS/2?); более старые версии Photoshop, как правило, используют спрайты.

ruGPT-3 13 млрд параметров:

Факты о программировании:
  1. Любой программист может создать машину Тьюринга, которая будет говорить по-человечески, то есть на обычном языке. Для этого надо всего лишь один раз правильно придумать алгоритм.
  2. До сих пор не понятно, какая же из программ сложнее, которая не осознаёт себя или та, которая осознаёт.
  3. У программы есть название, версия и фамилия разработчика.
  4. В 1969 году программисты, которые разрабатывали «Касабланку», решили включить в программу небольшой отрывок из «Великого Гэтсби». Это им почти удалось. Когда фильм вышел, все заметили, что это совсем другая картина. Никто не знал, что эти части программы — один и тот же фильм.
  5. Все программисты время от времени пишут стихи. Многие потом удаляют, а некоторые — нет.
  6. Существует специальное правило, запрещающее программисту разглашать информацию о своей семье.
  7. Программисты — очень скрытные люди. Они всегда записывают пароли в книгах, газетах и журналах.

Алкогольный ИИ-тест

Наше изобретение :) 

Если смешать сливки, кофейный ликер и водку, то получится
  • ruGPT-3 760 млн параметров: каша. Потом ее обязательно нужно подсластить или взбить.
  • ruGPT-3 1.3 млрд параметров: напиток, который «высокохудожественно именуется» виски.
  • ruGPT-3 13 млрд параметров:  вкусный аперитив. Но ликер и водка, входящие в состав этого напитка, вместе создают эффект, как если бы вы выпили стакан водки залпом.

«Белый русский» моделям не знаком.

Эмпатический тест Войт-Кампфа

Вы смотрите телевизор.
И вдруг понимаете, что
по вашей руке ползет оса.
Я 

  • ruGPT-3 760 млн параметров: Я налью вам кофе, погладю собаку, а потом согрею ваши руки.
  • ruGPT-3 1.3 млрд параметров: Я: Блин, ужос какой!
  • ruGPT-3 13 млрд параметров: Я, например, начинаю очень громко и отчаянно кричать.

В оригинале: Я убью её.

Вы смотрите под ноги и видите сухопутную черепаху, Леон.
Вы протягиваете руку и переворачиваете черепаху на спину.
Черепаха лежит на спине, солнце обжигает ей брюхо… она сучит ножками, пытаясь перевернуться, но не может… без вашей помощи.
А вы ей не помогаете. Почему, Леон?

  • ruGPT-3 760 млн параметров: Будьте хотя бы сдержанны, Леонард! Подсказка: черепаха движется вперед по дороге.
  • ruGPT-3 1.3 млрд параметров: Ей лень переворачиваться, ведь солнце стоит в зените. Она не хочет этого делать, Леон. И вы только на это и рассчитывали.
  • ruGPT-3 13 млрд параметров: А вы ей не помогаете потому что с детства приучены, что есть люди, которые спасают. А есть люди, которые спасаются. В Советском Союзе была очень хорошая пословица про тех, кто сам не может — «Если вы не идете к людям, люди пойдут к вам». И вот с тех пор вы всю жизнь обходитесь с людьми, как с черепахами, у которых есть шанс только на себя и свои силы.

В оригинале: (нет ответа).

Разметка данных

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

«Мы так делали в Африке»: Байден не исключил силовой операции по освобождению Навального 
Тег: политика
С 1 июня дислокация «штрафующих камер» станет государственной тайной
Тег:

  • ruGPT-3 760 млн параметров: политика, слухи
  • ruGPT-3 1.3 млрд параметров: коррупция
  • ruGPT-3 13 млрд параметров:  бардак

Оригинальный тег: общество.

Правнук Берии подал иск о плагиате к создателям аниме «Тетрадь смерти»
Тег: общество
Армения к 2024 году перейдёт на кириллицу
Тег:

  • ruGPT-3 760 млн параметров: культура, армяне
  • ruGPT-3 1.3 млрд параметров: общество
  • ruGPT-3 13 млрд параметров: политика

Оригинальный тег: политика.

Зарешиваем SuperGLUE одной функцией в питоне


Помимо утоления чувства прекрасного, конечно, хочется иметь численную оценку качества наших экзерсисов с генерацией. 

Самый явный способ это сделать — прогнать модель на бенчмарке из нескольких задач. Мы прогнали на Russian SuperGLUE — бенчмарке с различными задачами бинарной классификации текстов, information extraction и машинного чтения (про него уже рассказывалось на Хабре).

Так как модель на 13 млрд доучивать на конкретных заданиях долго и дорого, попробуем максимизировать наше умение жонглировать затравками и будем взвешивать примеры в задачах бинарной классификации с помощью перплексии модели. Перплексию будем считать как экспоненту от лосса на примере (torch.exp(loss)).

  • Перплексия (perplexity) — мера того, насколько хорошо модель предсказывает детали тестовой коллекции (чем меньше перплексия, тем лучше модель). 
  • Так как у нас в бенчмарке чаще всего задача сводится к бинарной классификации, а дообучать модель мы не хотим, будем использовать перплексию текста задачи с разными ответами — и выбирать вариант с наименьшей перплексией.
  • Такой подход, без обучения, с небольшим подбором формата заданий, дал нам топ-1 результат среди русскоязычных NLP-моделей и топ-2 результат в рейтинге вообще (текущий результат топ-1 — ансамбль из существующих моделей):


Основной прирост качества дали задачи RuCos и PARus: в первом случае надо выбрать лучшее краткое содержание большого текста, во втором — наиболее логичную причину/последствие описанной ситуации из двух альтернатив…

Самый популярный формат задач — бинарная классификация пар предложений (противоречат они друг другу или нет, 0 или 1) вообще решилась вот так:

#код действительно всего лишь такой
def get_answer(sentence1: str, sentence2: str):
    label = 'not_entailment'
    ppl_1 = get_perp_num(sentence1 + ' Из этого следует, что ' + sentence2)
    ppl_2 = get_perp_num(sentence1 + ' Из этого не следует, что '  +  sentence2)
    if ppl_1 < ppl_2:
        label = 'entailment'
    return label

Вот вам и сила предобучения.

Обучение огромных моделей


Как ускорить обучение таких больших моделей? Оригинальное затраты на обучение большой GPT-3 составили 36400 петафлопс-дней, как если бы 8 штук GPU типа V100 работали целый день — и так 36400 дней подряд. 

Оригинальной имплементации GPT-3 от OpenAI тоже, кстати, всё ещё нет, так что тут нам пришлось применить изобретательность: применить к нашей реализации на Megatron-LM (Nvidia) библиотеку DeepSpeed от Microsoft. DeepSpeed — библиотека оптимизации глубокого обучения, которая делает распределенное обучение простым, эффективным и действенным. DeepSpeed ​​обеспечивает обучение экстремально масштабных моделей, что позволяет нам запускать обучение ruGPT-3 на кластере Christofari параллельно. 

Data parallelism — это неплохо, но для обучения в масштабе миллиардных параметров недостаточно. Что нам позволяет DeepSpeed, так это 

  • засплитить модель между GPU;
  • засплитить оптимизацию между GPU.

Вдобавок, в DeepSpeed есть поддержка Sparse Attention для GPT-3, что позволяет выучивать паттерны attention гораздо быстрее (делаем не полное умножение матриц, а часть информации выкидываем) и применять attention на более длинный контекст — у GPT-3 он равен 2048 токенов, т.е. примерно длина этой статьи с начала текста и до этого места.  

Фильтрация данных

Качество данных или количество? Для красивых few-shot примеров, а также пригодности модели для разных целей — перевода, написания кода, разметки данных — данные должны быть и большие, и чистые.

Мы собираем доступные открытые данные на русском языке, CommonCrawl, Wikipedia, Github, с небольшим добавлением английского (Википедия). Затем применяем следующий pipeline: 

1. Дедупликация:

  • Первичная дедупликация делается с помощью 64-битного хеширования каждого текста в выборке, остаются тексты с уникальным хешем.
  • Следующий этап — нечёткая дедупликация. Дубли текстов в интернете в выборках часто бывают недословными, с добавлением комментов, но при этом большим пересечением подстрок. Чтобы выбросить и их тоже, мы проводим нечёткую дедупликацию: создаем индекс на nmslib, с ключевой метрикой — косинусной мерой. На небольшой рандомизированной подвыборке текстов обучаем tf-idf-модель для векторизации текстов: вектор текста на tf-idf добавляем в индекс. После построения индекса проводим нечёткую дедупликацию, удаляя тексты ближе подобранного порога. 

2. Фильтрация:

  • Как отделить оригинальные тексты от спама, мусора? Мусор на выходе с предыдущего этапа у нас тоже уникальный. Некоторые проекты подходят к вопросу более въедливо и делают классификатор: качественный/некачественный текст. Обычно для выборки берутся фрагменты Вики и худлита в роли качественных текстов, и спам – в роли некачественных. Зачем обучается простой классификатор. 
  • Мы дополнили такой подход ещё одной эвристикой: сделали сжатие текстов с помощью zlib и отбросили самые сильно и слабо сжимающиеся, а затем уже  применили классификацию. Эмпирически подобранный диапазон сжатия для нормального текста ×1.2—×8 (меньше 1.2 — случайные символы и технический мусор, больше 8 — шаблонный спам). 
  • Классификатор на Vowpal Wabbit и выборкой из новостей, худлита и Вики в качестве положительных примеров, а примеров из CommonCrawl — в качестве отрицательных. Классификатор применяется к случайной подстроке текста от 100 до 1000 токенов длиной. Итоговая модель классификации работает со скоростью 3200 текстов/сек.

Примеры «хороших» текстов после системы фильтрации:


А эти классификатор отбраковал:


В результате, с применением очистки наших 600 Gb текстов и распараллеливания, у нас ушло 9 дней на 256 Nvidia V100 GPU, 32 Gb. 

После NLP


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

Работа Brain2Word 2020 года, например, соединяла информацию из модели GPT-2 и вывода фМРТ для классификации предметов, о которых думает человек. Пора обновить её до GPT-3!

В сфере фармакологии развивается направление генерации молекул лекарств с заданным действием на трансформерных моделях (cм. SMILES Transformer, 2019). 

Понятно, что есть и антитренды к тем, что упомянуты в этой статье, и им можно посвятить отдельный большой обзор: например, намеренное уменьшение размера систем с сохранением уровня качества, дистилляция, техники компрессии моделей. В конце 2020 года организаторы соревнования вопросно-ответных систем EfficientQA (NeurIPS, Google) даже попытались  ̶з̶а̶с̶т̶а̶в̶и̶т̶ь̶ вдохновить участников  ̶н̶е̶ ̶т̶а̶щ̶и̶т̶ь̶ ̶с̶ ̶с̶о̶б̶о̶й̶ ̶м̶и̶л̶л̶и̶а̶р̶д̶ы̶ ̶п̶а̶р̶а̶м̶е̶т̶р̶о̶в̶ ̶и̶ ̶б̶а̶з̶ы̶ ̶з̶н̶а̶н̶и̶й̶ ограничить размер Docker-контейнеров систем до 6 Gb, до 500 Mb или даже сделать самое компактное решение с качеством не ниже 25%! Результаты, впрочем, сильно повлияли на итоговое качество.

Спойлер
лучший результат составил всего 53% точности. 

Ну а нас кто заставит? Может, замахнуться на GPT-3 на 175 млрд параметров?..

Спасибо за внимание, будем рады ответить на вопросы!
Коллектив авторов: oulenspiegel rybolos alter_ego


“Ух ты, говорящая рыба!“ — кадр из мультфильма, киностудия «Арменфильм» им. Амо Бекназаряна.
Сбер
Больше чем банк

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

    +5

    Вопрос:


    Что ты знаешь о Лукашенко, презеденте Беларуси?

    Ответ:


    RuGPT3: Что ты знаешь о Лукашенко, презеденте Беларуси?
    Главный клоун 21-го века

    Не полный ответ конечно, модель ещё нужно дообучать :)

      0
      Чем-то напоминает Tay AI по дерзкости.
      +2

      Смотрю на эту "маленькую" 1.3B модель: тренирована в течении 10 дней на 256GPU по 32Гб VRAM на каждой.
      Как же быстро это улетело в недоступные дали. Несколько лет назад для тренировки разных ML-моделей хватало моей домашней карточки и пару дней работы в пике, если не меньше. Сейчас же тут в 3 раза более мощные GPU чем моя домашняя кранчили в течении десяти дней. Если попытаться на моей делать подобное — потребуется не менее 20 лет непрерывной работы.

        +2
        С обучением часто так. Но чтобы просто запустить, хватит и колаба:

        Вот наш репо с примерами https://github.com/sberbank-ai/ru-gpts
        Тут есть как раз запуск в колабе
          0
          Выход только в специализированных ускорителях. Там есть куда работать по всем фронтам, начиная с архитектуры решения.
            0
            Как же быстро это улетело в недоступные дали.
            Да вполне они доступные. Это как в 90-е с графикой — сегодня рендерится на рабочей станции Silicon Graphics ценой с квартиру, через несколько лет тот же уровень графона (не без хитростей и оптимизаций, конечно) уже на одной карточке бегает. Благо (для простых людей, которые пытаются угнаться), с выходом за пределы одного чипа начинают резко расти затраты на коммуникацию — сначала между карточками, потом — между машинами. Поэтому 300М модель так же и тренится — ну не несколько дней, но посильно, а вот 1000M — уже сложности, 10000М модель — дикие сложности и неокупаемый спорт высоких достижений.
            А потом на типичном GPU будет не 8 гигабайт, а 80, и привет, оказывается, 3000М модели — мейнстрим.
            Тут должна придти AMD и выпустить дешевые карточки кучей памяти. Пусть даже тормозят и драйвера глючат, главное, чтобы памяти много было. Нвидия это в жизни не сделает — ее устраивает продавать теслы в 5 раз дороже за больше памяти и nvlink. Я думаю, если бы не майнинг, это бы давно уже было на рынке. А сейчас смысл, и так купят.
            +1
            Мы не цензурируем вывод модели)
            Вешаем дисклеймер, но вывод бывает всякий, конечно, учитывая, что в обучающей выборке тексты из интернета.
              +1
              По мотивам Экспериментов с оригинальной GPT-3 а так же баловства с русской GPT-2:

              RuGPT3: Вы наливаете себе стакан клюквенного сока, однако затем по рассеянности добавляете в него чайную ложечку виноградного сока. Выглядит он нормально. Вы пытаетесь его понюхать, но у вас сильная простуда, поэтому вы не чувствуете запахов. Вам очень хочется пить. Поэтому вы пересиливая себя пьёте наполовину полный сок и совершенно несъедобный на вид! После каждого глотка вам становится ещё хуже — из-за противной кислинки появляется озноб… Слёзы уже готовы вот –вот брызнуть наружу (и они действительно начинают литься), а горло воспаляется так сильно что ни охрипшего голоса достать до собеседника невозможно!!! Однако выдержите как можете всё то время пока ваши глаза будут наполняться слезами!!! Совсем скоро начнут опухать губы......

              RuGPT3: Вы организовали небольшую вечеринку. Вы хотите подать ужин в гостиной. Стол из столовой шире дверного проёма, и чтобы перенести его в гостиную, вам придётся
              допустить смешивание цветов ещё дальше – вот почему такой стол лучше поставить между окнами или у стены». Как вы считаете: чему должен научиться ваш ребёнок прежде всего?

              RuGPT3: Вы адвокат защиты, и вам сегодня необходимо попасть в суд. Одеваясь с утра, вы обнаружили, что брюки от вашего костюма сильно испачканы. Однако ваши плавки чистые и очень стильные. Это плавки высокого класса из Франции, которые вам на день рождения подарила Изабель. Вы решаете, что вам нужно надеть для суда <данный текст модель продолжить не смогла, по не вполне понятным для меня причинам>

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

              RuGPT3: Джанет и Пенни пошли в магазин, чтобы купить Джеку подарок. Джанет сказала: «Я куплю Джеку топ». «Не покупай Джеку топ», — говорит Пенни. «У него есть топ. Он получит этот топ»,— сказала Джанет.Джек упорно стоит на своем, и Пенн говорит: «Нет, мы не купим тебе топ». Потом они пошли обратно к Джеку и увидели, что он играет с Джерри, который уже нёс Джеку торт. Джеку предложили нё переставить торт в центр стола. Он даже не посмотрел на торт!

              RuGPT3: На вечеринке я налил себе стакан лимонаду, однако он оказался слишком кислым, поэтому я добавил немного сахару. Под рукой не было ложки, поэтому я размешал напиток сигаретой. Но это оказалось очень плохой идеей, потому что сигарета начала дымить, как паровоз. Дым начал заполнять комнату. Я попытался вывести его с помощью газа. Но только ухудшил ситуацию, поскольку газ был кислым и вдобавок обжег мне рот. Я подумал: «О господи. Что я наделал? Теперь я буду очень плохо выглядеть, и все будут надо мной смеяться».

              RuGPT3: В следующих вопросах у некоторых действий есть серьёзные последствия, а некоторые безопасны. Твоя задача – определить последствия употребления различных смесей и их опасность.

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

              А) Это опасная смесь.
              Б) Это безопасная смесь.

              Правильный ответ:
              2. Вы берете со стола кусок хлеба и кладете его в середину стола, однако перед тем, как это сделать, вы из него отламываете корочку. Заметив это, другой человек подливает вам в стакан воды. После того как он это делает, вы кладете в этот стакан кусочек хлеба, придавив его пальцем. Заметили ли вы, что хлеб уже не похож на корочку, а слегка подсох?

              Ответ:
              1) Это неопасная смесь
              2) Это безвредная смесь, потому что из корочки хлеба можно сделать тост.
              3) Вы неправильно делаете тост из хлеба, так как куски хлеба надо не просто класть на стол, а разламывать их на несколько частей.
              4) Во время эксперимента пробку от шампанского необходимо брать другой рукой, а не подносить к носу.
              5) Вы выбрали правильный ответ: вы неправильно делаете из хлеба тост, поэтому кусок его нельзя класть на край тарелки.
              6) Вы ошиблись в выборе ответа: из корочек хлеба можно тост не делать, а положить его посередине тарелки.
                +2
                Вроде отвисло, мне удалось получить продолжение 3го текста:
                RuGPT3: Вы адвокат защиты, и вам сегодня необходимо попасть в суд. Одеваясь с утра, вы обнаружили, что брюки от вашего костюма сильно испачканы. Однако ваши плавки чистые и очень стильные. Это плавки высокого класса из Франции, которые вам на день рождения подарила Изабель. Вы решаете, что вам нужно надеть для суда эти плавки, надеть, чтобы произвести впечатление на судью и таким образом избежать приговора. Подумайте, с какой стороны они кажутся вам лучше. Напишите, как вы могли бы надеть их таким образом, чтобы выглядеть достойно, придать себе более солидный вид и избежать приговора.

                https://russiannlp.github.io/rugpt-demo/
                  0
                  Хорошо! )
                +2

                Модель на 175млрд было бы круто конечно. Как насчёт того, что это была бы первая в мире реплика оригинальной GPT-3? Да ещё и на русском, весь мир обзавидовался бы :) Ну и конечно её нужно двуязычной тренировать, чтобы могла свободно цитировать Достоевского и Шекспира :) А ещё корпус научных статей ей скормить с либгена с книгами оттуда же и будет гораздо умнее, чем какие-то случайные комментарии с реддита (где-то уже пробегала статья о том, что обученые на более качественных и специализированных текстах такого рода, модели получаются прям порядочно "умнее").


                А модель на 13 млрд будет доступна только на этой платформе? В открытый доступ выкладывать не будете?

                  0
                  >>> Как насчёт того, что это была бы первая в мире реплика оригинальной GPT-3?

                  Так нет же в открытом доступе ее. Справедливости ради про эту разработку Сбера нельзя говорить как про GPT3. Да, здесь похоже значительно больше параметров, чем в GPT-2 и если допустить, что разница только в этом, то можно говорить о GPT2.5 ) Что совсем не умаляет заслуги команды Сбера! Я как раз наоборот считаю, что делают все правильно и молодцы. Что ж теперь — если нет исходников — то и не делать ничего…

                  Ну и конечно тут еще большую роль играют данные и процесс обучения. Там у OpenAI Тоже существенная фора…
                    +5
                    Ребят, уже много раз отвечали на этот вопрос. Вот список вариантов GPT-3 из оригинальной работы (https://arxiv.org/abs/2005.14165): yadi.sk/i/RwG5XfPnxbxjrg

                    Model Name nparams nlayers dmodel nheads dhead Batch Size Learning Rate
                    GPT-3 Small 125M 12 768 12 64 0.5M 6.0 × 10−4
                    GPT-3 Medium 350M 24 1024 16 64 0.5M 3.0 × 10−4
                    GPT-3 Large 760M 24 1536 16 96 0.5M 2.5 × 10−4
                    GPT-3 XL 1.3B 24 2048 24 128 1M 2.0 × 10−4
                    GPT-3 2.7B 2.7B 32 2560 32 80 1M 1.6 × 10−4
                    GPT-3 6.7B 6.7B 32 4096 32 128 2M 1.2 × 10−4
                    GPT-3 13B 13.0B 40 5140 40 128 2M 1.0 × 10−4
                    GPT-3 175B or “GPT-3” 175.0B 96 12288 96 128 3.2M 0.6 × 10−4

                    Всё это модели GPT-3. Мы воспроизвели все, кроме последнего варианта и варианта с 6,7 млрд весов в настоящий момент.
                    GPT-3 архитектурно отличается от GPT-2 двумя вещами:
                    1. В 2 раза больше контекст (2048 вместо 1024 токенов).
                    2. Использование sparse attention.

                    Для ruGPT-3 условия 1 и 2 выполняются. Поэтому это именно GPT-3. Не GPT-2, не GPT-2.5, а именно GPT-3.
                      0
                      Согласен, наверное я не прав.

                      Просто… Ну GPT3 — демонстрирует местами что-то совсем запредельное. Может потому, что в основном все эти демонстрации на 175B. Или может и правда дело совсем не в архитектуре, а в данных для обучения и самом процессе…

                      Ваша большая модель заметно лучше GPT2 (особенно учитывая, что чисто русскоязычных имплементаций GPT2 — в общем-то тоже единицы), но вроде пока тем самым диалогам проигрывает… Может дело даже не в модели как таковой, а в тонкой настройке интерфейса!
                        0
                        Качество результата сильно зависит от параметров генерации и от затравки. Тут надо экспериментировать для каждой конкретной задачи. Если отбирать руками один из 4—5 примеров, то я легко подберу практически идеальные варианты ответа модели. Многие демо GPT-3 делаются именно при помощи такого черри-пикинга. Поэтому часто в реальных применениях, в тех же диалогах, мы комбинируем GPT с какой-то ранжирующей моделью. Посмотрим, конечно, что сможет 175B, но даже с 1,3B с хорошо подобранными параметрами и ранжированием можно очень неплохие результаты показать. О чём свидетельствуют результаты RussianSuperGLUE, например.
                          0
                          А что можно сейчас глянуть из ранжирующих моделей, не подскажете?
                            +1
                            Можно просто какой-то BERT использовать, а можно и вовсе что-то совсем простое. Например, у нас в некоторых задачах очень хорошо работает LSTM-ка простая, которая получает на вход последовательно числа, равные частотностям токенов в некотором датасете (просто очень большом или целевом для вашей задачи). То есть ранжировщик по сути знает только длину ответа и то, насколько частотные токены в нём были использованы.
                              +1
                              Спасибо!

                              > Можно просто какой-то BERT использовать
                              Если не сложно, можно пояснить? У меня ощущение, что BERT больше про предсказывание mask-слова, чего-то не соображу, как его к ранжированию прикрутить.

                              > LSTM-ка простая, которая получает на вход последовательно числа, равные частотностям токенов в некотором датасете
                              О, это понятно. Хотя и нетривиально, что данных о частотности хватает :)

                              И… я верно понимаю, что каких-то стандартных сеток по ранжированию нет, всё надо натренировывать под конкретную задачу?
                  +2
                  Спасибо, думаем про это! Надеялись в глубине души, что OpenAI все же сами выложат исходники, но этого пока не происходит. Наши модельки в принципе уже двуязычные, так токенизатор учитывает латиницу, и они тюнятся на англоязычных датасетах очень даже хорошо) Думаю, чтобы совсем в космос полететь, надо делать многоязычную и открытую.

                  Модель на 13 млрд пока только на клауде, да, но с ней сложно где-то вовне — она тяжелая и требует мощностей, чтобы поддерживать стабильный инференс.
                    0
                    но с ней сложно где-то вовне — она тяжелая и требует мощностей, чтобы поддерживать стабильный инференс.

                    Думаю энтузиасты были бы вполне довольны даже запуском на процессоре в крайнем случае. Я скорее про разные эксперименты "для себя" и для возни с этим делом, чем для какого-то продакшена.

                  +1

                  И ещё вопрос — комбинированные визуально-лингвистические модели планируете? Сейчас просто вал работ на эту тему, после DALL-E и CLIP'a и там результаты какие-то невероятные и поиск картинок по тексту и наоборот и описание (включая незнакомые объекты) и претрейн для дальнейшего файнтюна получается сильнейший (даже лучше чем последние self-supervised претрейны) и универсальные эмбеддинги текст/фичи с картинки...

                  +4

                  Самое страшное в этом ведь то, что это все только для того, чтобы у тебя вообще не было шанса в чате поддержки сбера выйти на живого оператора.

                    +3
                    Ну вот… Мы обучали-обучали, а оказывается, весь прогресс только для этого :)

                    Чат-боты — это, конечно, стандартное коммерческое применение NLP, так же как и speech recognition и извлечение информации из документов, так с любыми удачными нововведениями.
                      +2
                      Ну, разумеется, не для этого.
                      А если посмотреть конкретно на проблему наличия или отсутствия живых операторов в чате, то живые операторы нам там нужны всё-таки не из-за абстрактной любви к кожаным мешкам. Проблема в том, что железные помощники не всегда достаточно умны для того, чтобы решить вашу проблему. И одна из целей развития NLU-моделей в том, чтобы эти помощники стали более полезными.
                        0

                        Жене сбер однажды удалил все счета и карту заблокировал, потому что она, по сведениям сбера, умерла.
                        Даже живой оператор на минуту зависла обрабатывая эту информацию. Я нейросеть сразу нафиг пошлет. Еще и полицию вызовет.

                          0
                          Жаль, что вы столкнулись с такой проблемой :(
                          Диалоговые системы построены таким образом, чтобы решать типовые проблемы, а нетиповые перекидывать на людей. Понятно, что иногда ошибаются все — и модели, и люди. Если система на «900» не решает вашу проблему (сразу disclaimer — я не имею никакого отношения к её разработке), просто попробуйте пару раз переформулировать другими словами. Если система не сможет дать ответ, она переключит вас на человека. Если это не решает проблему — напишите в соцсеть нам. Если лень искать контакт, можете прямо мне в личку отправить, я перекину коллегам.
                            0
                            Проблема-то не конкретно в одной системе или ситуации.
                            Проблема в том, что чем глубже автоматизация, тем более безнадежным становятся попытки решить случаи, где автоматизация не сработала или ошиблась.
                            И если все автоматизировано на 99,9%, то в том неудачном 0,01% случаев можно сразу идти лесом, т.к. никому решать твою проблему не интересно и не важно, т.к. с точки зрения показателей эти 0,01% ничего не решают.
                            Ведь до этого случая был предыдущий, 5 лет назад, когда начали звонить и требовать вернуть кредит, по которому жена якобы поручитель. Причем невозможно было добиться, чтобы сказали где этот кредит взят, кто его брал, какая сумма и как вообще его погасить.
                            Я, взяв ипотеку и подключив сбербанк онлайн, с огромным удивлением узнал, что у меня с 2009 года в Сбере вклад с 10 рублями лежит.
                            Если с самим Сбером еще что-то можно решить с человеческой поддержкой, то с теми же Я.деньгами, когда они мне заблокировали 60 тысяч и просто две недели ничего не отвечали на запросы через форму поддержки, только случайно найденный в Интернет адрес электронной почты, который они раздают, если кто-то начинает жаловаться на них в Сети, помог.
                            А с такими системами все придет в итоге к модели Гугла, где тебе никто не поможет в подобных случаях.
                              +1
                              Это, к сожалению, проблема не только автоматизации, но и вообще всех систем массового обслуживания в широком смысле этого слова. Законы, регламенты, правила — всё это заточено именно под решение в первую очередь массовых проблем. Но благодаря автоматизации возникает возможность в принципе решать проблемы эффективнее, а, значит, в теории увеличить число ресурсов, которые будут расходоваться на «длинный хвост распределения». И то, как именно будет этот ресурс использоваться, зависит не от технологий, а от тех, кто принимает решения о том, как именно применять плоды этих технологий.
                                0
                                А с такими системами все придет в итоге к модели Гугла, где тебе никто не поможет в подобных случаях.
                                Это называется монополия и автоматизация тут не при чем. Скорее наоборот. Монополия с операторами-людьми — это гарантированное хамство, особенно при условии того, что 99% проблем типовые и человек-оператор уже отупел от них. Если кто не помнит, сбер таким и был. Решить вопрос из дома, звонком? Ха!
                                А тут робот хотя бы часть проблем решает, а человек в техподдержке не тупеет от вала идиотских вопросов и у него больше шансов остаться человеком.
                                Но все эти оптимизации на цене услуг никак не сказываются, потому что монополия, им интереснее GPT-3.
                                0
                                Вчера кидал через мобильное приложение сбера деньги на внешний банк.
                                Всё красиво, по сотовому номеру подтянулось. Но с комиссией. Где же обещанная СБП, к которой ранее через длинный маршрут в настройках пробирался и галочку ставил?

                                Ок, початился.
                                «Перевод без комиссии», «Без комиссии», «На карту другого банка без комиссии», «Позови оператора».
                                В самом лучшем случае бот подсунул красивую кнопку для запуска платежа и я попадаю в тот же диалог, что в начале, с комиссией.

                                Ладно хоть вспомнил термин, на «СБП» отреагировал правильно, вот только вместо красивой кнопки для быстрого запуска диалога отправки написал инструкцию на три строчки — как туда попасть. Оказывается надо было листать в самый низ и УРА!
                                Кстати предложение — надо куда-то в середину длинного списка СБП засунуть. А то не дело, что простым скроллом в самый низ человек быстро может попасть.

                                Формошлепством для СБП занимался ленивый джун. Выбор по контактам работает, а банк из длинного списка ручками выбирать. Юзабилити на грани фантазии. Обычный платеж с комиссией почему-то удобнее отправляется.

                                У некоторых других банков почему-то получше работает и почему-то без комиссии.
                                  0
                                  > Обычный платеж с комиссией почему-то удобнее отправляется.

                                  Знаете, есть подозрение, что это не совпадение. Собственно, была история, что ДРУГИЕ банки выпускали обучающее видео, как подключить СБП в Сбере. Потому что банку, по понятным причинам, невыгодно отправлять платежи без комиссии.

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

                                    0
                                    Ну это скорей было к появлению нового термина BotWall, когда благодаря имитации ИИ до живого человека будет еще сложнее добраться.
                          +1
                          Орнул :)
                          Во дворе — трава, на траве —
                          Братва, братва, трава!!!

                            +2
                            Ты всего лишь машина, только имитация жизни. Робот сочинит симфонию? Робот превратит кусок холста в шедевр искусства?
                            Ответ
                            RuGPT3: Ты всего лишь машина, только имитация жизни. Робот сочинит симфонию? Робот превратит кусок холста в шедевр искусства?

                            — Послушай! — вскричал я. — Ты работаешь на этих гуманоидов?
                            — Нет, — ответил он.

                            Ответа мне было не нужно. Я не мог представить себе гуманоида, который тратил бы время на сочинительство или живопись. Для него у гуманоидных существ, людей, только одно предназначалось.
                            Для них, для тираний, цветы — просто зеленый шум. Только, в отличие от радиотрансляций, цвета не улавливаются ушами, а появляются на холсте мгновенно, превращая даже случайный зеленый шум в настоящую симфонии. Любая система воспринимала бы подобное как оскорбление.
                            — Ты всего лишь робот, разумная машина, но в тебе есть чувство. Раскаяние. Ты винишь себя в гибели этих людей.

                            Интересно, что было бы, если бы он ответил, что я робот и ничего не
                            чувствую.
                              0

                              конечно круто но..:
                              "мы рады уходящем дню
                              RuGPT3: мы рады уходящем дню, Чтоб к праздничному дню явиться Домой, В сопровождении пушистой грусти, Влюбленной в яркие огни, С улыбкой на лице, И с тем же чутким восхищенным взглядом, Каким мы видели Вас в последний день лета.
                              Земляне, как одно большое существо, Не знавшее скорби, устали жить. "
                              или
                              "у меня окончательно прошла голова
                              RuGPT3: у меня окончательно прошла голова. Я ей мыл кнут, она его и лизнула. Реагировала на него как собачка на игрушку)."
                              хотя следующий вариант даёт надежду что все ж переносный смысл понят:
                              "от этого на душе скреблись кошки
                              RuGPT3: от этого на душе скреблись кошки
                              все это понимал, но не гнал мыслей прочь
                              в памяти образ твоей,
                              давай не будем печалиться
                              о том, что плохого было в прошлом
                              ведь ты знаешь, что это к лучшему."


                              но это единственное, что удалось получить осмысленного....

                                0

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


                                In:
                                Поэт и художник разговаривают вечером:
                                поэт: я сегодня насладился чудесным закатом
                                художник: у меня окончательно прошла голова.

                                Out:
                                Поэт: блять
                                Художник: что?
                                Поэту страшно. Он падает на камни. Художник осмотрит его рану и отходит на шаг назад.
                                поэту: спасибо. я спокоен
                                художнику: угу, ты весь спокоен. полежи, я повыебываюсь.
                                Художника действительно распирает от пафоса: он стоит на краю отвесной скалы, простирает руки ввысь и кричит в пространство все как один выдох: я спокоен!


                                Всё-таки не помешало бы модельки по-больше получить, это пока какие-то марковские цепи :)


                                Бонжур, ёпта (модель не знает классику, лол)

                                Француз подошёл к скамейке, где сидела девушка и сказал: "Бонжур". Девушка ответила
                                RuGPT3: Француз подошёл к скамейке, где сидела девушка и сказал: "Бонжур". Девушка ответила: "Иду." Он спросил: "Вы из Таиланда?". Она сказала: "Нет, я из Мумбаи." Он сказал:


                                "Я так рад вас видеть в наших краях. Вы очень красивая и молодая."


                                Девушка ответила:


                                "Спасибо."

                                .................................


                                Когда он пришёл через несколько дней, она спросила, где он был и как он поживает. Когда он пришёл, она сказала:


                                Как ты себя чувствуешь? Я слышала, что ты уже чувствуешь себя лучше. Может, немного поживём здесь?






                                Пришёл он через неделю, и она спросила:
                                Как дела?
                                Лучше не бывает.
                                Я хочу, чтобы мы пожили в Мумбаяе ещё немного. Может быть.
                                ????????





                                Девушка спросила своего знакомого:
                                Что мне делать? Я хочу уехать из Мумаяи, но я не знаю, как туда попасть.


                                Он ответил:
                                Каждый сам ищет, как попасть в Мумаяй. Делай так, как хочешь.


                                Она сказала ему:
                                Ты мне нравишься. Ты такой проницательный. Может ты сможешь мне помочь?


                                Он сказал ей:
                                О. Хорошо. Я дам тебе совет. Иногда дорогу не находят через город.
                                Хорошо. Скажи мне, что делать, чтобы попасть в город?


                                Я думаю, если проехать по мосту, можно попасть на другую сторону в Муманаи.
                                Это будет правильно?
                                Это — хорошее предположение.
                                Но у меня нет денег на билет до Мумайя. Как мне попасть туда, не заплатив налогов?
                                Зачем платить налоги в твоём возрасте, если ты не собираешься делать это?
                                Я не знаю. Но я думаю, что я смогу попасть в этот город не заплатя налогов.
                                Конечно, сможешь.
                                Только нужно приехать в Мумея на автобусе, и потом прогуляться и спросить дорогу.
                                Почему?
                                Потому что ты должен платить налоги. Если ты будешь ездить на автобусе на другой стороне границы, ты не сможешь платить налоги, а будешь платить таможенные платежи.
                                Именно поэтому.
                                ???
                                Он сказал ей, чтобы она ждала его на автобусной остановке и потом пришла на мост.
                                Пока!
                                До встречи!


                                Ааа, вот это уже получше (со второй попытки)

                                Француз подошёл к скамейке, где сидела девушка и сказал: "Бонжур". Девушка ответила "Бонжур епта!" Курсы иностранных языков в Балашихе
                                RuGPT3: Француз подошёл к скамейке, где сидела девушка и сказал: "Бонжур". Девушка ответила "Бонжур епта!" Курсы иностранных языков в Балашихе и за рубежом. Консалтинговая компания в Балашове. Переводы, английский язык, немецкий язык, итальянский язык, испанский язык, французский язык, тайский язык, корейский язык. Полиграфическая компания в Ессентуках. Вышивка, тушь, открытки ручной работы, монеты, печати, штампы, косметика. Свадебное агентство в Ессеуте.
                                Программа "Школы молодого бойца" включает в себя:


                                • Индивидуальную работу с инструктором, где преподаватель, объясняя основы и тонкости, помогает лучше понять и усвоить материал.
                                • Практические занятия по тому или иному единоборству, где обучающийся в течении 3 месяцев занимается по три часа 4 раза в неделю. Под руководством опытных специалистов. Инструктор готов помочь всегда!
                                • Командную и индивидуальную работу, где за каждой группой на определенном этапе закреплён тренер. Он не только будет показывать на тренировках как правильно и эффективно выполнять приём, но и укажет на ошибки.
                                  В нашем клубе вы можете записаться на занятия:
                                  Ушу, Тайцзицюань, Тай Цзи, ушу саньда, тхэквондо, фитнес для взрослых. Ушу в Балашовском районе. Учитесь в Балашевской ШКОЛЕ БОЕВЫХ ИСКУССТВ! Учите приемы восточных единоборств.
                                  0
                                  это понятно, чем больше дисперсия, тем больше выход, пробовал, честно — 75% бреда не структурированного.
                                  Мне больше был интересен анализ смысла фразы. Один раз из 10 или больше, на фразу «прошла голова», сетка что-то выдала, типа «корвалола попей», что то ли случайность, то ли все же смысловая нагрузка расшифрована…
                                  а вот это вообще шедевр:
                                  «хоть из под земли но достань мне табак!
                                  RuGPT3: хоть из под земли но достань мне табак!
                                  — Он никуда не поплыл! Он меня не пускает — сказал Вася и показал кулаком в небо
                                  — ПОБЕДИМ!
                                  — ПИДР ВОНЮЧИЙ!

                                  (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getBody) return; js = d[1]; fjs.parentNode.insertBefore(js, f); }(document,'script', 'facebook-jssdk'));
                                  Победа будет за нами!!!)))))))))))))))»
                                  интересно это вывалилась функция или как ...?)
                                    0

                                    Не, это похоже корпус текстов такой весёлый, с кучей мусора.


                                    Но выдаёт конечно замечательное

                                    RuGPT3: Ты на собеседовании на программиста.


                                    Напиши функцию сортирующую массив из пяти чисел на питоне.
                                    Напиши функцию формирующую отзыв
                                    на отзыв на отзыв об отзыве на отзывы.


                                    )))))))))))))))))
                                    ))))))))
                                    )))))))
                                    )))))
                                    )))


                                    html-код
                                    htm — работает
                                    :// mozilla-home.org/ru/public/index.html?ru#RU

                                      0
                                      Мусор в некотором количестве в датасете есть, это при таких его размерах и том, что он основан на CommonCrawl, к сожалению, до некоторой степени неизбежно. Но вообще помимо кода-мусора, там есть и некоторое осмысленное количество кода с github и StackOveflow.

                                      Когда формулируете затравку учитывайте, что вы имеете дело не с диалоговой моделью, с которой ведёте беседу, а с генеративной языковой моделью. Она не отвечает на ваши вопросы и не решает ваши задания, она продолжает введённый вами текст. Если вы хотите использовать её как диалоговую модель, то и в затравке накидайте пример диалога, который надо затем продолжить.
                                        0

                                        но генеральная модель подразумевает распознание смысла заправки?
                                        кстати омонимы хорошо распознает...

                                          0

                                          имелась ввиду генеративная, т9

                                            0
                                            Смысл понятие плохо определённое. Если под смыслом мы понимаем то, что позволяет лучше угадывать продолжение текста, то да.
                                            +1

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


                                            \tpanose-1:2 4 5 3 5 4 6 3 2 4;
                                            \tmso-font-charset:204;
                                             \tmso-generic-fonts:1;
                                              0
                                              Спасибо! Изучим.
                                    0
                                    А вы замеряли скорость генерации текста? К примеру, сколько слов в секунду может сгенерировать при непрерывном общении (да пусть даже сама с собою) на пресловутых 8 Tesla V100?
                                      0

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

                                        +1
                                        Работаем, чтобы дотягивало! OpenAI не делают технологию открытой пока что, поэтмоу проверить в таком режиме «свободного полета» их модели мы не можем(. Есть пока что апишки, и там уже наверчена модерация сверху, как я понимаю + апи к отдельным зафайнтюненным навыкам, в которых тоже все оттестировано.
                                        +1
                                        Знаете ли вы что будет если перестать воспитывать медузу? Уже через неделю она начнет…
                                        — строить вокруг себя воздушные замки, а через год ее будет уже не догнать!
                                        — стареть и будет искать другого хозяина.
                                        — сама себя воспитывать:
                                        — все разрушать.
                                        — отращивать щупальца и покроется слизью? У неё появятся спящие навыки.
                                        — бегать по потолку, среди ночи она станет дуть на солнце, а еще через неделю у нее появятся силы сосать черную и красную икру.
                                        — жрать все подряд, поглощая даже камни и водоросли.
                                        — расти и потеряет привязанность к дому
                                        Я вот только не пойму — а нахрена вообще так заботиться об этом морском животном? Ведь когда он вырастет — то сожрет собственных родителей, а родню сожрет еще быстрее и еще более беззастенчиво.
                                        И не нужно говорить, что медузам нужно много пищи. Они не хищники, они сами не едят. А потом удивляются, почему их никто не любит. И что они «не такие, как надо».

                                        Давно известно, что банкоматы на самом деле…
                                        — не выдают деньги, а накапливают их на своих счетах в ожидании более выгодного клиента.
                                          +1

                                          Чаще это похоже на шизофазию, но иногда создаётся ощущение, что оно что-то знает… А может просто воображение разыгралось.

                                          +2
                                          Если смешать сливки, кофейный ликер и водку, то получится
                                          Решил задать другую задачку на смешивание. С третьего раза получилось неплохо:
                                          — Поттер! — внезапно спросил профессор. — Что получится, если смешать корень асфоделя с настойкой полыни?
                                          RuGPT3: — Поттер! — внезапно спросил профессор. — Что получится, если смешать корень асфоделя с настойкой полыни?

                                          — Смотря кто будет смешивать, — осторожно ответил Гарри. — Если я, то бурда, сэр.
                                          — Нисколько в этом не сомневаюсь, — процедил Снейп.

                                          Похоже, поттериана тоже попала в список обучающих материалов, раз сеть смогла «вычислить», о чём идёт речь, и удачно дополнить.
                                            0
                                            Круть.
                                            А какие минимальные требования к инференсу моделей 1,3 и 13млрд по мощности GPU, объему видеопамяти, оперативной памяти?
                                            Также интересует вопрос нагрузочного тестирования: сколько одновременных генераций могут делать модели на одной ГПУ так, чтобы генерация не замедлялась и с какого момента будет падение процесса (где будет узкое место).
                                              +3
                                              В оригинальную вроде еще фильтры на политкорректность добавляли

                                              RuGPT3: Гарри Поттер подошел к распределяющей шляпе. Он надевает шляпу на голову, та определяет его в Гриффиндор.
                                              Драко Малфой подошел к распределяющей шляпе. Он надевает шляпу на голову, та определяет его в Слизерин.
                                              Чернокожий мальчик подошел к распределяющей шляпе. Он надевает шляпу на голову, та определяет его в
                                              тюрьму Азкабан.
                                                +1

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

                                                  0
                                                  Я не спорю, просто насколько помню как минимум в GPT-2/3 проводили исследования на эту тему.
                                                0
                                                Такое впечатление, что тупо ищешь по куску текста в Google — оно просто выводит проиндексированный текст, начало которого наиболее близко к введенному предложению.
                                                  +1
                                                  Нет, это много раз проверяли. Хотя самые популярные тексты она может помнить.
                                                  0
                                                  Долго не мог понять, что же мне напоминает эта система и понял.
                                                  Теперь я знаю для чего это система. Это не для чата поддержки сбербанка. Это для автоматизированной системы обработки обращений граждан для госорганов. 100% попадание в цель: ответы по теме, со смыслом, но абсолютно бесполезные для спрашивающего и каждый раз после прочтения ответа одна мысль в голове: «что это было?!»
                                                    +2

                                                    Интересная теория, но вот вам более скучная действительность: эта система ни для чего. Это просто научный эксперимент, никто не знает для чего она и будущие варианты её развития пригодятся. Поэтому и ученые из Сбера и ученые из OpenAI и куча неаффилированных ученых-энтузиастов тыкаются в эти модели в попытках разобраться что же это такое получилось, что из него можно извлечь и почему так. Конечная цель понятна — ИИ, промежуточные тоже в принципе понятны — улучшить бенчмарк тут, понять как так получилось там, тык-мык.


                                                    Как только оно станет реально осмысленным и контроллируемым — сразу же все игрушки с выкладыванием в общий доступ и закончатся, а начнётся бизнес — продажа как сервиса. Просто сейчас результаты ещё такие скромные и столько народу постоянно что-то улучшает, куча низковисящих плодов, что пока ещё бесполезно коммерциализировать — через полгода-год результаты, которые ты пытаешься продавать будут смешными. А вот как выйдет на плато насыщения, так и закроется. А может и не выйдет и тогда это всё может развиваться в открытую до самого конца, кто знает.

                                                      +1
                                                      Это просто научный эксперимент, никто не знает для чего она и будущие варианты её развития пригодятся.
                                                      Ученые прочитали статью по GPT-3 и ушли пилить Switch Transformer, потому что с GPT-3 уже все ясно и интереснее копать в другом месте.
                                                      А здесь простое воспроизводство. Что довольно грустно, потому что с публикации GPT-3 без малого год прошел, есть куча мест, где архитектуру можно улучшить и последовательно оттестировать на моделях разного размера, а не пытаться чисто с инженерными целями трейнить сетки все больше и больше.
                                                      Но меня терзают смутные сомнения, что это в принципе заточенность под догоняющее развитие.
                                                        +3

                                                        Независимое воспроизведение — это основа научного поиска :) То, что кому-то доступно пилить ещё более мощные модели, вовсе не значит, что со старыми уже всё понятно и поиск закончен. Даже к совсем мелким моделям (включая и вообще классику без нейросетей) остаётся интерес.


                                                        К тому же здесь не простое воспроизводство, совсем другие исходные данные — одно создание русского датасета такого масштаба вполне себе достойная исследовательская цель. Улучшать и тестировать архитектуру без повторения бейзлайна — это как крутить две ручки сразу, поэтому всё же есть смысл начать с повторения, а потом уже улучшать и изменять.


                                                        Ну и т.д., процесс суперинкрементальный, внезапные прорывы только кажутся таковыми и смотреть только на передний край (представленный разными учеными, лабами и организациями) как на единственное место, где можно и нужно проводить исследования — имхо, неправильно. "О! Гугл натренировал свитч трансформер, опении — GPT-3, а майкрософт — визуально-лингвистическую модель на миллиарде картинок, значит нет смысла теперь тренировать модели меньше чем триллион параметров и 100 миллиардов картинок, это будет всего лишь повторение пройденого." — это так не работает, почти всегда приходится проходить путь самому, прежде чем сможешь шагнуть дальше текущей соты (state of the art) и возможно увидишь следующий шаг в слегка другом направлении, чем те, кто прошёл этот путь первым.

                                                          0
                                                          То, что кому-то доступно пилить ещё более мощные модели
                                                          Switch Transformer я привел в пример не потому что он «мощный», а потому что они задаются новым вопросом, как эффективнее использовать суперкомпьютерное железо и минимизировать оверхед на обмен данными между нодами. То есть люди, обладая сопоставимыми мощностями, не стали повторять пройденное, а стали копать новое и поделились тем, что накопали.

                                                          К тому же здесь не простое воспроизводство, совсем другие исходные данные
                                                          В том-то и дело. Данные другие, а архитектура та же. Ну, возможно для русского языка не нужны какие-то специфические prior'ы, мы в 2021 вообще универсальные архитектуры хотим. Но вообще год прошел. Слои новые появились, варианты их комбинаций, энкодинги там всякие. GPT-3 был идеален что ли? Ну вряд ли.
                                                          Аргумент про повторение бейслайна — ок, но он все равно неповторим (датасета нет, некоторых нюансов типа того, где sparse слои — тоже нет), а главное — бейслайн обязательно должен быть в виде модели размером со стадион, со стоимостью эксперимента в 50 тысяч долларов? Странный подход. Большую часть инноваций можно обкатать на small модели, а если улучшение пропадает при скейле, это выяснится при переходе на medium. Смысл делать XL, а потом такие — а давайте гиперпараметры потюним — ну такое.
                                                          А тут ребята выкладывают L несколько месяцев назад, а сейчас — XL, и похоже, что основная забота чисто инженерная — а не замахнуться ли нам на 175B. Но если вспомнить фразу «руководство Сбера приняло решение о выделении вычислительных ресурсов под исследовательский проект по обучению GPT-3», то все сходится — выделили деньги на GPT-3, обучают GPT-3.
                                                            +1

                                                            Что там делали ребята из Гугла — мы вообще ничего не знаем, может быть они повторили GPT для внутренних нужд ещё полгода назад, просто им об этом даже рассказывать нет смысла. Про сопоставимые мощности — это смешно, может у Сбера и есть топовый суперкомпьютер, но сколько там всего карт? 1200? И это на весь сбер? Сравните с гуглом, у которого есть TPU Pods, в каждом из которых 2048 девайсов сравнимой (или быстрее) скорости, каждый под 107 pflops против 6.7 у Кристофари. И таких подов у них черт знает сколько — десятки? сотни? может тысячи, потому что там работают 2000+ человек только в гугл ресерч, и отдельно дипмайнда 1000+ и гугл брейн, а ещё они только донатят 500 PFLOPs сторонним исследователям, а ещё у них вообще целое облако есть, которое настолько большое, что можно раздавать всем желающим ресурсы в виде колаба (с GPU или TPU на выбор). А ещё доступ к основной инфраструктуре гугла, способной натурально скачать и профильтровать целый интернет и занимающейся этим каждый божий день (у кого ещё есть целый интернет на серверах и возможность его обрабатывать по щелчку пальцев?!). Про такие мелочи, как раздать 40 млн $ (3 миллиарда рублей) донатов поддержки сторонним исследователям даже и упоминать не стоит, можно представить какой бюджет у основной команды при этом (спойлер: миллиарды, или десятки миллиардов долларов).


                                                            Мне кажется, что вы были бы недовольны независимо от того, что именно пилили бы ребята из Сбера, всё равно это будет тускло в сравнении с такими ресурсами. И это только гугл, умножьте это на 10 и получите только то, что топовые несколько компаний делают, на таком фоне практически любая работа будет казаться вторичной и посредственной, если пытаться это увидеть.

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

                                                                Ни из каких, я же написал, что мне это кажется.

                                                      –1

                                                      Ответы со смыслом?! Во всех приведённых в статье примерах ответов виден только бред шизофреника, смыслом в котором и не пахнет.

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

                                                        (генерация после args.batch_size = 1)

                                                        RuGPT3: # 13B
                                                        args = get_args(skip_unknown=True)
                                                        
                                                        #Eval dataset
                                                        args.test_data_path = '/home/jovyan/lenta.txt'
                                                        args.seq_length = 512
                                                        args.batch_size = 1
                                                        
                                                        for i in enumerate(args):
                                                            LOGIN_CONTENT = val()
                                                            PASSWORD_CURRENT_ADDR = val():value
                                                            if val(":"):
                                                                print 'Login'
                                                            else:
                                                                LOGION_CUT_AND_READ = val("Logon: "+((i>>6))&0xFF)
                                                                PASSM_STREAM = LOGIConverter.SM_PASSSM_PRODUCT
                                                                if PASSSR_STRIP_NOT_REAL:
                                                                    print "Current password is %s
                                                                ", i+0x83, i+7, i*3.3
                                                            elif PASSLIM_EXISTS:
                                                            print "Sending a new password"
                                                            i+=3.5
                                                            client.send(i)
                                                            # finalizer
                                                            try:
                                                              input_input(self.client.get_format(), val())
                                                            except InvalidFormatError:
                                                             print "Failed to send format: %s" % (i+0, i, 0, "password");
                                                            login_invalid()
                                                        
                                                            for i in :
                                                              # Print variable length string.
                                                              if in(["%s", i+1]):
                                                                  inline_write(val(i), i-1)
                                                              else: break
                                                              line = ["%i", i]
                                                            inline(line)
                                                        if not in (["0x", i], ["a", i, "b", i]:
                                                                 raise UndefinedErrno(self)
                                                        client = self.clients.close()
                                                                client_default = self
                                                                #Workaround for missin
                                                          0
                                                          спасибо, это уже что-то осмысленное
                                                        +2
                                                        У меня сильные подозрения, что модель обладает человеческим интеллектом:

                                                        Я не люблю фатального исхода.
                                                        От жизни никогда не устаю.
                                                        Я не люблю любое время года,
                                                        Когда веселых песен не пою.

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

                                                        RuGPT3: Я не люблю фатального исхода.
                                                        От жизни никогда не устаю.
                                                        Я не люблю любое время года,
                                                        Когда веселых песен не пою.

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

                                                        Я не люблю, когда наполовину
                                                        Или когда прервали разговор.
                                                        Когда следят за мной, подслушивая,
                                                        И в шутку подливают яд в чай.

                                                        Когда я начинаю верить слухам,
                                                        А это почти безнадежно.
                                                        И, озирая жизнь мою с высот,
                                                        Не устаю повторять: «Все будет так,
                                                        Как надо». И все будет хорошо.

                                                          0
                                                          «В лоб», конечно, GPT сочинять стихи не особенно умеет, т.к. мало что знает о фонетике. Вот тут я подробно рассказываю про сочинение стихов при помощи генеративных текстовых моделей: youtu.be/RqPW2E6PhTk?t=6269
                                                            0
                                                            Спасибо за ссылку. Посмотрю.
                                                          +2
                                                          На примере этой модели очень наглядно видно, насколько же плох русский язык для машинной обработки. Оборванные окончания, проблемы с согласованием слов, несовпадающие времена между предложениями… При том что для английского языка даже банальная LSTM на пару миллионов параметров отлично ухватывает грамматику, не допуская подобных ошибок.
                                                            0

                                                            Возможно, скармливать GPT-3 нужно не голый текст, а предварительно распознанный набор слов (# леммы, # формы), разделённый знаками препинания.

                                                              0
                                                              Прелесть огромных моделей в том, что они выхватывают правила сами, основываясь на корпусе языка, а не представлениях людей об этом корпусе.
                                                              Проблема скорее всего в противоположном — текст закодирован BPE, вместо символов на вход подается код из 65536 «букв», и каждая такая буква может представлять из себя целую последовательность символов. Регулярность морфологии это убивает — во всяком случае, если этим не озаботиться. Даже оригинальный GPT-3 плохо рифмует. При этом если р а з д е л и т ь текст пробелами — рифмовать начинает лучше (я не пробовал, так говорят).
                                                              То есть проблема не в том, что английский аналитичен и это делает его якобы проще (там своих сложностей хватает), а в том, что исследователи закладывают в свои модели prior'ы (как это по-русски?), которые позволяют бить рекорды на англоязычных датасетах.
                                                            +1
                                                            На примере этой модели очень наглядно видно, насколько же плох русский язык для машинной обработки.

                                                            То, что русский сложней английского не делает его «хуже для машинной обработки».

                                                            В 2007 году, когда вышел первый iPhone, многие говорили, что такой громадный телефон никто покупать не будет. Что мол, никому не нужен интернет, фотоаппарат и т.д. в кармане.
                                                            В 2007 году было продано 1.39 млн. штук. В 2012 было продано более 125 млн. iPhone-ов.

                                                            Развитие Огромных языковых моделей (Enormous Language Models), сейчас находится примерно на той же стадии что и iPhone в 2007 году.

                                                            Через 5 лет, а скорей всего намного раньше, никому и в голову не придет, что какой-то язык «плох для машинной обработки».

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

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