YandexGPT 2 — большое обновление языковой модели Яндекса

Специальный корреспондент
Собака

Собака

Пресс-служба
Команда форума
Private Club
Регистрация
13/10/15
Сообщения
54.881
Репутация
62.390
Реакции
277.076
RUB
0
Сегодня на конференции Practical ML Conf была представлена новая версия большой языковой модели YandexGPT 2. Она уже работает в навыке Алисы «Давай придумаем», где помогает структурировать информацию, генерировать идеи, писать тексты и многое другое. Новая модель отвечает лучше старой в 67% случаев, а в некоторых сценариях побеждает с ещё бо́льшим перевесом. Этого результата мы добились благодаря улучшениям на каждом этапе обучения модели, но ключевое изменение — новый pretrain.

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

jcwfkddc3ba1qnjhjydjaatfira.png


В каких сценариях новая модель особенно полезна​


Для начала несколько слов о том, как модели сравниваются друг с другом. Одна и та же модель может быть сильна в одном сценарии, но проигрывать в другом. Как в таком случае определить, стала модель в целом умнее или нет?

Мы решили эту задачу так: собрали 500 максимально непохожих друг на друга примеров задач пользователей. Дальше мы отдали их старой и новой моделям и посчитали, как часто ответ новой модели оказывался лучше ответа старой. Если новая побеждает в бо́льшем числе заданий, то мы считаем её более умной. YandexGPT 2 одолела предыдущую версию в 67% случаев.

С оценкой модели в целом всё понятно. Но как она ведёт себя на конкретных срезах сценариев, которые популярны у пользователей? Чтобы понять это, мы разбили те же 500 примеров задач на отдельные группы, соответствующие разным сценариям, и замерили, как изменилось качество модели в каждой из них:

  • генерация текста — победа в 69% случаев;
  • пересказ и анализ текста — 68%;
  • брейншторм идей — 66%;
  • стилизация текста под аудиторию или персонажа — 62%;
  • ответы на вопросы — 62%.

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

bfrcagt4d5abwo3kafqawitpoqu.png

Пример работы YaGPT 2 для стилизации текста

jthet6kjgayjrjaptcfpoxsdghy.png

Пример ответа на вопрос в виде таблицы

n0-qt_qa0hmv7u6y_8cipgwjzmy.png

Пример генерации идеи

af-cbceolpfqpby4gutzyjvog6c.png

Пример анализа текста

exo8hzad8-aqffykndzdaoiyau8.png

Пример генерации текста


Что изменилось в обучении новой модели​


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

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

Задача претрейна — впитать в себя все полезные знания интернета. Самая большая сложность этого этапа — выбрать из бесконечного потока самые полезные данные для обучения. Но как понять, становится ли датасет лучше после каждой новой порции данных? Заново обучать большую модель на каждое изменение датасета и измерять её качество — невероятно долго и дорого. Если бы мы так делали, то двигались бы со скоростью улитки. Более реалистичный подход: копить много изменений в датасете и только затем переобучать модель. Но есть существенный риск не угадать с выбранным направлением и вместо роста получить падение качества.

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

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

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

  • Обучили классификатор некачественного текста. Такой текст может содержать ошибки в кодировке, HTML-разметку, повторы предложений и тому подобное.
  • Обучили классификатор полезного текста. Текст может хорошо выглядеть, но быть бесполезным для пользователя. Полезными мы считаем тексты, которые содержат ответы на реальные запросы пользователей Яндекс Поиска.
  • Увеличили долю текстов с высокой цитируемостью.
  • Улучшили алгоритм дедупликации: дублей стало меньше 0,5%.
  • Создали отдельный инструмент для оценки «фактовой полноты». Взяли реальные фактовые запросы из Поиска и замерили, какая доля из них может получить ответ из претрейна. Увеличили эту долю с 70% до 80%.


Где попробовать и что ждать в будущем​


Новая модель уже работает в Алисе в навыке «Давай придумаем». Он доступен в Яндекс Станциях, телевизорах с Алисой, приложении Яндекс, Яндекс Браузере, на странице с результатами поиска и на ya.ru. Кстати, в Поиске окно чата с нейросетью теперь можно развернуть на весь экран для более удобной работы.

Что дальше? Мы продолжим растить качество датасетов претрейна и файнтюна, поскольку по-прежнему видим хороший эффект от качественных примеров. Мы ещё не внедрили , но готовимся к этому шагу. Ну и, конечно же, продолжим внедрять YaGPT в сервисы Яндекса. Но только там, где это будет полезно.









 
  • Теги
    искусственный интеллект
  • Сверху Снизу