Встречайте YATI — следующий этап развития «Яндекс.Поиска»

Автор Владислав Войтенко 21:00 21.12.2020
- 2 +  9 311 0
Встречайте YATI — следующий этап развития «Яндекс.Поиска»

Ежегодно «Яндекс» устраивает большую технологическую конференцию Yet Another Conference. В этом году она прошла в новом формате.

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

Как было раньше

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

По такому принципу «Яндекс.Поиск» работал до 2016 года. Потом задумались о расширении потенциала. Проще говоря, поиск начали учить подбирать ответы по смыслу.

Следующим этапом стали нейронные сети (модные слова, о которых вы явно слышали не раз). Именно нейронные сети легли в основу обновлений поиска «Палех» (2016 год) и «Королёв» (2017 год).

Искусственный интеллект обучается, использует данные миллионов оценок, понимает запрос человека. Казалось бы, что ещё нужно? У специалистов «Яндекса» всегда есть ответ на этот вопрос.

А что же теперь?

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

О трансформерах заговорили ещё в 2017 году. Это новая архитектура нейросетей, созданная специально для работы с последовательностями. Трансформеры активно используются в «Яндекс.Переводчике», помогая правильно подбирать слова. Кстати, если кто-то пропустил, совсем недавно издали книгу, полностью переведённую машиной! Это самый наглядный показатель работы нового ИИ.

Зачем трансформеры нужны в поиске? Они гораздо лучше учитывают порядок слов в поисковом запросе и учитывают контекст — то, как слова влияют друг на друга. Во многих случаях порядок слов будет определять смысл всей фразы.

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

А ещё пользователь может гораздо быстрее находить нужную ему информацию даже в случае сложного и объёмного запроса. 



Чтобы достигнуть таких результатов, на первом этапе из множества объектов выбираются хоть как-то подходящие по смыслу странички. То, что к запросу отношения никакого не имеет, сразу же отсеивается. В «Яндексе» это называют предварительной фильтрацией в несколько этапов.

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

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

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

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

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

Ещё одной особенностью является объём данных. Для результативного ответа YATI требуется огромный массив данных для обучения. Благо для этого у «Яндекса» есть ресурс в виде толокеров, асессоров и поведенческие данные.

Екатерина Серажим

Руководитель службы качества ранжирования Екатерина Серажим рассказала о двух этапах обучения трансформеров. На первом этапе нейросеть учится угадывать закрытые от неё слова в неструктурированном тексте:

Для YATI мы усложнили задачу: мы показывали ему не просто текст какого-то документа, а реальные поисковые запросы и тексты документов, которые видели наши пользователи. И просили Yati угадывать, какой документ понравится пользователю, а какой нет. Для этого у нас есть эталон — это экспертная разметка наших асессоров, которые оценивают по сложной шкале каждый документ, насколько он релевантен запросу.

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

Хотите итогов?

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

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

Если всё вышенаписанное показалось вам интересным и вам хочется узнать подробнее о knowledge distillation, transfer learning, и feed-forward-сетях, сотрудники «Яндекса» подготовили материал о YATI.

Подписывайтесь на Rozetked в Telegram, во «ВКонтакте» и обязательно в YouTube.
Хабы: яндекс

18.04.2024
Презентация Nothing
14.05.2024
Google I/O 2024
21.05.2024
Microsoft Build 2024
Нет событий
04.04.2025
«Форсаж 11»
Все события





Реклама на сайте



Комментарии

18.04.2024
Презентация Nothing
14.05.2024
Google I/O 2024
21.05.2024
Microsoft Build 2024
Нет событий
04.04.2025
«Форсаж 11»
Все события





Реклама на сайте