На 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 во всех технических подробностях, а также о том, какие новшества Яндекс привнес в нейросети-трансформеры, можно по ссылке.