«Яндекс» перевел свой поиск на технологию анализа текста на основе нейросетей-трансформеров, над созданием которой работал 10 лет. Теперь поисковик компании лучше оценивать смысловую связь между запросами и содержанием интернет-документов.
Новая технология анализа текста
«Яндекс» создал новую технологию анализа текста на основе нейросетей-трансформеров и перевел на нее свою поисковую систему. Трансформеры — это общее название популярной нейросетевой архитектуры, которая лежит в основе современных подходов к анализу текстовой информации. Над созданием YATI (англ. Yet Another Transformer With Improvements, «Еще один трансформер с улучшениями») компания работала 10 лет. Благодаря новой технологии поиск «Яндекса», по заверению разработчиков, научился гораздо лучше оценивать смысловую связь между запросами пользователей и содержанием документов в интернете.
Управляющий директор «Яндекса» Тигран Худавердян рассказал, что технологии искусственного интеллекта
Для просмотра ссылки необходимо нажать
Вход или Регистрация
в компании уже более 20 лет. В основе всех сервисов (поиск, реклама, навигатор, рекомендации) лежит машинное обучение. «Главный прорыв был в той части, которая не видна глазу, это поисковые технологии. Поиск “Яндекса” перешел на новые технологии анализа текста, основанные на огромных нейросетях, на архитектуре трансформеров», — пояснил он.Специалист по качеству ранжирования в поиске «Яндекса» Екатерина Серажим говорит, что трансформер внутри — это последовательное перемножение матриц. «Есть одна GPU-карта, но с ее помощью ты ничего прочитать не можешь. Тебе надо много GPU-карт. Как только их много, возникает задача передачи данных по сети. Тебе надо физически связать эти GPU-ускорители вместе физически»,— рассказала она. Сейчас в компании это делается с помощью плат. Восемь GPU-ускорителей связываются вместе и устанавливаются в сервер. «Затем серверы близко ставятся в стойке и обматываются сетью. Это все большие инженерные задачи, надо построить кластер, связать сервера сетью, обеспечить охлаждением», — пояснила Серажим.
«Яндекс» создал нейротехнологию анализа текста для своего поиска, которую разрабатывал 10 лет
Существует два этапа обучения трансформеров. «Классическая техника — показываем им неструктурированные тексты. Берем текст, маскируем в нем какой-то процент слов и заставляем наш трансформер угадывать эти слова», — рассказала Серажим.
Для YATIкомпания усложнила задачу, предложив ему не просто текст случайного документа, а реальные поисковые запросы и тексты документов, которые видели реальные пользователи. «Мы просили YATI угадывать, какой документ понравится пользователю, а какой нет. Для этого у нас есть эталон — это экспертная разметка наших асессоров, которые оценивают по сложной шкале каждый документ, насколько он релевантен запросу», — добавляет Серажим. Далее “Яндекс” берет этот массив данных и дообучает трансформер угадывать эту экспертную оценку — так он учится ранжировать.
Худавердян приводит пример того, что может делать подобный трансформер. Например, технология позволяет найти фильм по голосовому описанию всего лишь небольшого фрагмента.
С какими сложностями столкнулись разработчики
Руководитель группы нейросетевых технологий в поиске «Яндекса» Александр Готманов более подробно рассказал о технологии в блоге компании на habr.com: «Сначала модель учится на более простых и дешёвых «толокерских» (от «Яндекс.толока»; — примеч. CNews) оценках релевантности, которыми мы располагаем в большом количестве, — говорит он. — Затем на более сложных и дорогих оценках асессоров. И наконец, обучается на итоговую метрику, которая объединяет в себе сразу несколько аспектов, и по которой мы оцениваем качество ранжирования». Такой метод последовательного дообучения позволяет добиться наилучшего результата. Весь процесс обучения выстраивается от больших выборок к малым и от простых задач к более сложным и семантическим.
Трудность, которая возникает на пути к обучению трансформера, — это вычислительная сложность задачи. Готманов поясняет, что новые модели хорошо масштабируются по качеству, но при этом в миллионы раз сложнее, чем те, которые применялись в поиске «Яндекса» раньше. «Если раньше нейронную сеть удавалось обучить за один час, то трансформер на таком же графическом ускорителе Tesla v100 будет учиться 10 лет, — отмечает он. — То есть без одновременного использования хотя бы 100 ускорителей (с возможностью быстрой передачи данных между ними) задача не решается в принципе. Необходим запуск специализированного вычислительного кластера и распределённое обучение на нем».
Готманов рассказал также, что теперь модель одновременно обучается примерно на 100 ускорителях, которые физически расположены в разных серверах и общаются друг с другом через сеть. На обучение уходит около месяца.