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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Сегодня на конференции Practical ML Conf была представлена новая версия нашей большой языковой модели YandexGPT 2. Она уже работает в навыке Алисы «Давай придумаем», где помогает структурировать информацию, генерировать идеи, писать тексты и многое другое. Новая модель отвечает лучше старой в 67% случаев, а в некоторых сценариях побеждает с ещё бо́льшим перевесом. Этого результата мы добились благодаря улучшениям на каждом этапе обучения модели, но ключевое изменение — новый pretrain.

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



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


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

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

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

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


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


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


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


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


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

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


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

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

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

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

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

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

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


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

Что дальше? Мы продолжим растить качество датасетов претрейна и файнтюна, поскольку по-прежнему видим хороший эффект от качественных примеров. Мы ещё не внедрили RLHF, но готовимся к этому шагу. Ну и, конечно же, продолжим внедрять YaGPT в сервисы Яндекса. Но только там, где это будет полезно.
Источник: https://habr.com/ru/companies/yandex/articles/759306/


Интересные статьи

Интересные статьи

Активности производителей мини-ПК можно только позавидовать — прошло всего несколько недель со времени публикации последней подборки таких устройств, а уже вышли новые модели. Как всегда, среди ни...
На прошлой неделе мы моделировали идеализированный лесной пожар клеточным автоматом на Python, в общих чертах ознакомившись с основными подходами в этой области.Но каковы истоки моделирования пожаров?...
ВведениеВ данной статье я бы хотел рассмотреть проблему обновления PHP в виртуальной машине BitrixVM, и действия, которые возможно применить если выполнение переезда на машину с обновленным ПО невозмо...
Скоро начнется большая студенческая олимпиада «Я — Профессионал». Она уже несколько лет проходит в онлайне и офлайне. Участвовать могут студенты самых разных специальностей, включая технические. ...
В больших проектах, состоящих из десятков и сотен взаимодействующих сервисов, всё чаще становится обязательным подход к документации как к коду — docs as code. Я покажу, как можно применять эт...