(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(93857963, "init", { defer: true, clickmap:true, trackLinks:true, accurateTrackBounce:true }); ym(93857963, 'hit', window.location.href);

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

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

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

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

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

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

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

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

Это команда 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-моделей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0
21 комментарий
Написать комментарий...
Сергей Ильич

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

Ответить
Развернуть ветку
Tari S

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

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

Ответить
Развернуть ветку
Сергей Ильич

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

Ответить
Развернуть ветку
Сергей Ильич

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

Ответить
Развернуть ветку
Tari S

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

Ответить
Развернуть ветку
Сергей Ильич

Тогда почему вы это название NLP когда это NLU?

Ответить
Развернуть ветку
Tari S

NLP - название отрасли, NLU - конкретной задачи, поэтому выбрали более общее.

Ответить
Развернуть ветку
Ego AI Lab

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

Ответить
Развернуть ветку
Tari S

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

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

Ответить
Развернуть ветку
yesYouStp

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
yesYouStp

любой ваш чатбот - это условный ларек самообслуживания (которые со времен царя гороха работают), который работает на обычных ифах, по нейросетям прочитал книгу и утверждаю, что это почти идентично подкапотному набору ифов, ничего там нету сверхествественного, такая же хайповая тема, как блокчейн и iot

переводчики в инете тысячу лет через ифы или свитч кейсы работают

Ваш чатбот был бы полезный, если бы когда вот недавно человека кидали, он бы мог сообразить об этом, а так это просто тупой ларёк самообслуживания. Чатбот емаё, у ботов из quake 3 в 2002 году больше мозгов, чем у ваших чатботов.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
yesYouStp

речь не о том, что можно решить через иф. А о том, что так называемая "нейросеть" по выходному результату тупой if else.
Лучше работают на 0.1%, при неизвестных условиях. Круто

Ответить
Развернуть ветку
miteigi nemoto

В архитектуру NLP модели нужно встраивать автоматический универсальный тематический классификатор предложения, способный определить тематику текста на уровне предложения и коротких фраз. Ещё в обучающем датасете у каждого предложения нужно проставить тем же классификатором тематические классы.
Предметная область текста - это ключ к пониманию текста. Человек любой воспринимаемый текст сначала классифицирует на контекст, тематику, предметную области - это нужно отслеживать одновременно по всему тексту. Если на третьем предложении меняется тематика, то меняется и суть написанного вместе с ней и контекст. 

Ответить
Развернуть ветку
Сергей Ильич

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

Ответить
Развернуть ветку
ei-grad

Дообучить BERT - $20k на железо? Слышал что там в Сбере у каждого аналитика DGX под столом... Байки короче, как и результаты бенчмарка.

Ответить
Развернуть ветку
Camelus Bactrianus

Бутафория какая-то... Взяли разработки Microsoft и др., русифициррвали и выдаете за свое. Кстати, даже у них GPT3 до сих пор коряво работает.)))

Ответить
Развернуть ветку
Эльвира Гизатуллина

Ссылка на лидерборд не работает

Ответить
Развернуть ветку
Сбер
Автор

Эльвира, здравствуйте! У нас вышла новая версия, поэтому ссылка изменилась. Спасибо, что вы заметили. Ссылку в тексте изменили. Держите и здесь: https://russiansuperglue.com/leaderboard/2/

Ответить
Развернуть ветку
Anton

Вот бы у нее еще отчество было Сахипзадовна. У вас бы получился интересный диалог в этом треде

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
18 комментариев
Раскрывать всегда