Самая понятливая нейросеть: зачем нам рейтинг лучших NLP-систем и кто учит русскому языку англоязычные модели

Меня зовут Татьяна Шаврина, и я расскажу, как мы (команда AGI NLP Сбербанка) запустили проект Russian SuperGLUE — рейтинг русскоязычных NLP-моделей.

Раньше способа оценивать такие модели по объективным метрикам не было, а мы его придумали. И помогли нам лаборатория Noah’s Ark Huawei и факультет компьютерных наук ВШЭ. Вот что это за проект и зачем он сообществу и бизнесу.

О том, как бизнес может применять нейросети, написаны сотни статей. NLP-модели, в частности, нужны для создания чат-ботов, анализа пользовательских запросов и отзывов. В общем, для решения любых задач, связанных с обработкой естественного языка. Russian SuperGLUE, который мы создали, помогает оценивать русскоязычные модели по объективным метрикам (вот лидерборд с результатами оценки), выбирать оптимальную для решения конкретной задачи и использовать ее.

Дообученные на русском языке модели, которые сейчас есть в лидерборде, сами по себе очень ценны. Если бы за эту задачу захотели взяться независимый исследователь или небольшой стартап, на переобучение пришлось бы потратить минимум $20 тысяч (и это только мощности). На обучение модели GPT3, например, Open AI (одним из ее основателей был Илон Маск) потратила около $4 млн — сумма зависит от объема данных, на которых обучали нейросеть.

Если бы за эту задачу захотели взяться независимый исследователь или небольшой стартап, на переобучение пришлось бы потратить минимум $20 тысяч

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

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

Это команда AGI NLP Сбербанка, которая за несколько месяцев придумала и сделала Russian SuperGLUE
Это команда AGI NLP Сбербанка, которая за несколько месяцев придумала и сделала Russian SuperGLUE

Как и зачем мы придумали Russian SuperGLUE

Обработка естественного языка — сложная задача для нейросетей. Разработчики в США, России, Китае и других странах постоянно пытаются научить алгоритмы лучше анализировать тексты, отвечать на вопросы и находить логические связи. Для этого они создают NLP-модели — большие предобученные нейросети, которые можно дешево дообучить решать конкретные задачи. Проблема в том, что обычно модели создают для работы с английским языком. Например, оригинальный BERT от Google обучили на англоязычных книгах и англоязычных статьях из Википедии, чтобы автоматизировать анализ запросов пользователей поисковика. В Facebook дообучили BERT и представили новую модель — RoBERTa.

На самом деле таких NLP-моделей тысячи, и большая их часть не подходит для работы с текстами на русском языке — даже мультиязычные модели дают не лучшие результаты. Например, почти сразу после появления BERT вышла его мультиязычная версия, обученная на 104 языках (в том числе на русском). Но с текстами на русском языке она справлялась плохо. Это происходит потому, что разные языки устроены по-разному: так, в английском фиксированный порядок слов, а в русском — нет. Конечно, существует много нейросетей, дообученных на русскоязычных текстах, но тут мы переходим к другой проблеме: как понять, какая из этих моделей хорошая, а какая — не очень?

Почти сразу после появления BERT вышла его мультиязычная версия, обученная на 104 языках (в том числе на русском). Но с текстами на русском языке она справлялась хуже, чем с текстами на английском.

В 2018 году DeepMind (та самая компания, которой удалось создать алгоритм, обыгрывающий людей в го) совместно с группой ученых запустила проект GLUE (General Language Understanding Evaluation) — рейтинг для оценки NLP-систем по результатам выполнения заданий. Вскоре появился SuperGLUE — улучшенный бенчмарк. Там, например, можно оценить, насколько хорошо модель отвечает на вопросы, распознает тональность текста или понимает логику текста (то есть решает задачи посложнее, требующие большей «соображалки»). Важно, что модель оценивают по тому, как она справилась со всеми заданиями, а не с каким-то конкретным.

Получается вот такой лидерборд с результатами — можно посмотреть, какие модели выполнили задания лучше остальных. Кстати, средний результат человека в этом лидерборде — 89,8%, а лучшей модели — 89,3%, то есть нейросети отстают от людей совсем немного.

Так сейчас выглядит лидерборд англоязычных NLP-моделей
Так сейчас выглядит лидерборд англоязычных NLP-моделей

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

При этом возможность сравнивать NLP-модели по объективным метрикам критически важна. В России десятки тысяч дата-сайентистов — тем из них, кто создает новые модели, важно оценивать собственный прогресс, а остальным — понимать, какие модели они могут использовать. Даже если новая модель обогнала остальные на 2%, это значимый результат. Вот только без адекватной системы оценки об этих 2% может никто не узнать.

Мы поняли, что пора создать лидерборд для тех, кто работает с текстами на русском языке: придумать и создать наборы заданий, предложить объективные метрики и, что самое главное, дать специалистам возможность загружать свои модели и сравнивать их с остальными. Так мы начали работу над Russian SuperGLUE.

А вот так — наш лидерборд (моделей пока не так много, но вы можете это исправить)
А вот так — наш лидерборд (моделей пока не так много, но вы можете это исправить)

Что мы сделали и как это работает

Проект состоит из четырех компонентов: тестирование навыков моделей (здравый смысл, целеполагание, логика), тестирование уровня человека для сравнения, оценка существующих моделей и помощь в оценке своей модели для дата-сайентистов. Мы решили создать собственные задания для NLP-моделей — по сути, устроить им экзамен по русскому языку. Всего таких наборов задач — девять: их можно скачать и посмотреть. Вот, например, задача на понимание смысла текста.

Самая понятливая нейросеть: зачем нам рейтинг лучших NLP-систем и кто учит русскому языку англоязычные модели

Еще один корпус задач — вопросы на целеполагание. Модель должна понять суть ситуации, описанной в тексте, и причину, по которой эта ситуация произошла. В примере ниже второй вариант — правильный.

Самая понятливая нейросеть: зачем нам рейтинг лучших NLP-систем и кто учит русскому языку англоязычные модели

Задача посложнее — определение причинно-следственной связи. Модель должна понять, есть ли связь между предпосылкой и гипотезой. Вариант «следствие» она должна выбрать, если обнаружила такую связь.

Самая понятливая нейросеть: зачем нам рейтинг лучших NLP-систем и кто учит русскому языку англоязычные модели

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

Меня всегда интересовало, как живые существа думают. Как работает интеллект, разные его виды. В проекте я делал простые, но занимающие много времени вещи. Валидировал тесты и обучающие корпусы как с точки зрения языка, так и с точки зрения логики. Корпусы большие, там тысячи позиций, всё надо выверить. Выявлял разночтения и неоднозначности, чтобы исключить возможность некорректной оценки. Работал над инструкциями для хьюман бенчмарка, который появился благодаря героическим усилиям Алёны Феногеновой, Андрея Евлампиева, Владислава Михайлова. Так что все задачи «проверены на людях» и нам есть с чем сравнивать успехи машин. Что ещё? Корректировал разнообразие примеров, чтобы с помощью тестов можно было судить, понимает ли модель русский язык в целом, а не один из его стилей (например, публицистический) или не только вопросы о котиках.

Денис Шевелев, редактор и писатель

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

Самая понятливая нейросеть: зачем нам рейтинг лучших NLP-систем и кто учит русскому языку англоязычные модели

Люди начинают «сыпаться» на задачах, когда для их решения требуется серьезная концентрация. NLP-модель не умеет отвлекаться, не высыпаться или быть голодной, а вот человеку удерживать внимание бывает сложно. Модели пока довольно сильно отстают от человека: люди справляются с заданиями на 80,2%, а нейросети — на 54,6%.

В целом обучение больших моделей чем-то похоже на обучение маленьких детей: с ними приходится много возиться. Как-то раз мы пытались научить нейросеть, которая генерирует фразы, отвечать на наши вопросы «верно» или «неверно», а она всё равно самовольно отвечала «да» или «нет». А еще одну модель мы тестировали на «устойчивость» — задавали ей один и тот же вопрос, но в разных формулировках, и добивались, чтобы она всё равно отвечала правильно и не сбивалась. Мы механически видоизменяли задания, меняя слова.

В итоге модель стала работать на 2% лучше, когда к заданиям в конце приписывали «Всё получится!».

Как использовать Russian SuperGLUE

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

А еще лидерборд нейросетей — самый простой способ рассказать о своем успехе: вдруг именно ваша модель догонит и перегонит людей?

2222
21 комментарий

Если мы берём корпусов разрезе задач чат-ботов, как насчёт отслеживания контекста диалога и смена его без потери, использование извлечённых параметров ?

1

Это хорошее задание! Возьмем на заметку в след релизе :)

Для английского такое есть, называется MultiWOZ - A Large-Scale Multi-Domain Wizard-of-Oz Dataset for Task-Oriented Dialogue Modelling

1

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

1

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

Вы проделали большой объем работы, полезная информация, спасибо.
Обратил внимание на следующее - люди справляются с заданиями на 80,2%, а нейросети — на 54,6%. Сопоставимо с результатами генератора случайных чисел. Очевидно, что в данной области нужны другие алгоритмы, нейросети не справляются с такими задачами.

1

50% - вероятность при случайном выборе из 2 вариантов.

У нас не так: почти во всех заданиях выбор из многих вариантов, случайное угадывание дает меньше 20%.
Самая простая система с линейными моделями дает 37%
54.6% - результат трех технологических революций. Немного, но что есть

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