Яндекс добавил в Поиск трансформеров: рассказываем, что такое YATI и почему это круто
Яндекс добавил в Поиск трансформеров: рассказываем, что такое YATI и почему это круто

Яндекс добавил в Поиск трансформеров: рассказываем, что такое YATI и почему это круто

7 декабря, 20204 минуты на чтение
Подписывайтесь на [Код // Дурова] в Telegram[Код // Дурова] в Telegram

На YaC 2020 Яндекс представил большое обновление Поиска — YATI, главными героями которого стали нейросети-трансформеры. В компании называют это самым важным событием в Поиске за последние 10 лет, поэтому мы решили в партнерстве с Яндексом подробнее рассказать, как работает эта технология и зачем она нужна.

Что такое YATI

Как говорят о YATI в самом Яндексе — это передовая технология анализа текстов, и на ней уже работает поисковая машина компании. Ключевой элемент YATI — это собственная реализация трансформеров, под которыми имеется в виду общее название популярной нейросетевой архитектуры, лежащей в основе современных подходов к анализу текста. А сама аббревиатура YATI расшифровывается как Yet Another Transformer with Improvements, то есть «Ещё один трансформер с улучшениями».

Что такое трансформеры

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

Как нам рассказали в Яндексе, нейросеть, которая использовалась в Поиске до обновления, обучалась всего на одном графическом ускорителе Tesla v100 буквально за час. Но если на том же самом ускорителе начать обучать нейросеть-трансформер, то придется ждать целых 10 лет.

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

То есть переход на YATI стал для компании еще и сложной инженерной задачей: потребовалось объединить много ускорителей в кластеры, связать их в сеть и разработать для получившихся серверов мощную систему охлаждения.

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

Преимущества YATI и трансформеров

Как и прежде, Поиск Яндекса, работающий на YATI, сопоставляет семантическую близость запроса и документа. Однако в отличие от предыдущих нейросетевых моделей Яндекса «Палех» и «Королёв», YATI учится предсказывать не клик пользователя, а оценку эксперта, и в этом между ними фундаментальная разница.

Однако YATI на порядок эффективнее предшественников за счет преимуществ трансформеров, и благодаря им Поиск:

  • научился работать не только с короткими, такими как запросы или заголовки статей, но и с длинными текстами;
  • получил «механизм внимания», который позволяет выделять в тексте самые значимые фрагменты;
  • начал обращать внимание на порядок слов и учитывать контекст, то есть то, как слова влияют друг на друга.

Теперь, например, Яндекс поймет, когда вы будете искать билеты на поезд из Курска в Санкт-Петербург, что вам нужно попасть именно из Курска в Санкт-Петербург, а не наоборот.

Также Поиск стал грамотнее распознавать запросы с опечатками, поэтому выдача стала релевантнее:

Что в итоге?

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

Это внедрение принесло нам рекордные улучшения в ранжировании за последние 10 лет (со времён внедрения Матрикснета). Просто для сравнения: «Палех» и «Королёв» вместе повлияли на поиск меньше, чем новая модель на трансформерах. Более того, в поиске рассчитываются тысячи факторов, но если выключить их все и оставить только новую модель, то качество ранжирования по основной офлайн-метрике упадёт лишь на 4-5%! — объяснил Александр Готманов.
В таблице сравнивается качество нескольких нейросетевых алгоритмов в задаче ранжирования. Подробнее здесь

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

Узнать о YATI во всех технических подробностях, а также о том, какие новшества Яндекс привнес в нейросети-трансформеры, можно по ссылке:

Трансформеры в Поиске: как Яндекс применил тяжёлые нейросети для поиска по смыслу
Привет, Хабр. Меня зовут Саша Готманов, я руковожу группой нейросетевых технологий в поиске Яндекса. На YaC 2020 мы впервые рассказали о внедрении трансформера —...
7 декабря, 2020
Подписывайтесь на [Код // Дурова] в Telegram[Код // Дурова] в Telegram

Выбор редакции