Эволюция ленты LinkedIn более детальное и мощное машинное обучение, люди все еще в процессе

Эволюция ленты LinkedIn более детальное и мощное машинное обучение, но люди все еще активно участвуют

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

Введение

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

Это было введение к моей статье для ZDNet 2017 года, в которой исследовалась тогда только пересмотренная лента новостей LinkedIn с точки зрения того, как работает базовое машинное обучение и какие принципы его управляют. Шесть лет – это долгое время в технологиях. Тогда только начиналось внедрение машинного обучения (или “ИИ”) в массы. Сегодня мы живем в эпоху ChatGPT.

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

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

Мы встретились с Джейсоном Чжу, ведущим программным инженером, и Тимом Джуркой, старшим директором по инжинирингу в LinkedIn, чтобы обсудить, как принцип централизации на людей переводится на технические термины.

Человек в процессе

Суть обновления заключается в том, что модель LinkedIn, управляющая лентой новостей, теперь может обрабатывать большее количество параметров, что приводит к доставке контента более высокого качества. В процессе команда Чжу также обновила аппаратную инфраструктуру, на которой работает модель.

Чжу является членом команды Foundational AI Technologies в LinkedIn. Он определяет миссию команды как “создание фундаментальных алгоритмов, которые могут быть полезны в различных сферах применения в LinkedIn”. Чжу дал хороший обзор последнего крупного обновления ленты в 2021 году, как это привело к последнему обновлению, а также поделился пониманием внутренней работы подхода LinkedIn.

Однако нас также интересовало, что еще изменилось по сравнению с лентой LinkedIn 2017 года. Особенно Чжу и его команда в 2017 году подчеркивали подход “человек в процессе”, и мы хотели узнать, все ли осталось по-прежнему актуальным. Как сказал Джурка, это определенно актуально, возможно, даже более, чем тогда:

“В фиде есть две основные задачи. Во-первых, мы действительно пытаемся приоритизировать содержательный, подлинный контент, ориентированный на знания в ленте LinkedIn, и это очень сложная задача, которую нельзя решить только при помощи ИИ. Но у нас есть целая команда награжденных журналистов под руководством главного редактора, Дэна Рота.

Фактически мы разработали ИИ-алгоритмы, которые обучаются на контенте, который они кураторят и считают самым лучшим с точки зрения информации LinkedIn. Этот алгоритм ИИ затем пытается определить – станет ли редактором распространять этот контент на платформе LinkedIn? И если да, то давайте попробуем распространять на платформе и посмотрим, какой аудитории этот конкретный контент симпатизирует.

Подход “человек в процессе” также применяется к определению спама. Хотя LinkedIn использует ИИ-спам-фильтры, пользователи также могут сообщать о спаме, а модераторы контента следят за тем, что ИИ мог пропустить.

Джурка также добавил, что что касается определения спама в ленте, некоторые вещи остались прежними, а другие изменились. Трехуровневая классификационная система, описанная в 2017 году, почти не изменилась. То, что изменилось, – это то, что LinkedIn вложил гораздо больше усилий в понимание содержимого, стремясь понять намерения за каждым постом.

Например, это ли кто-то, кто пытается поделиться возможностью работы? Это ли кто-то, кто пытается поделиться своим мнением о новостях? Более детальное изучение контента помогает LinkedIn определить, как его распространять по платформе.

От линейного к нейронному, от одной до нескольких точек зрения

Как поделился Юрка, эволюция алгоритма ранжирования ленты действительно следует за развитием ленты LinkedIn. По сравнению с 2017 годом, есть больше участников, использующих ленту, и больше создателей контента, публикующих на LinkedIn. Значительная часть сложности заключается в том, чтобы убедиться, что модели искусственного интеллекта могут увидеть все те разнообразные случаи использования. И вот здесь также важно понимание намерений.

“Например, у вас может быть сообщение от участника, где он упоминает, что привлек серию A для своего стартапа и теперь набирает сотрудников. И это сообщение может быть воспринято через три очень разные призмы.

Если вы ищете работу, это сообщение на самом деле может быть точкой входа для вас, чтобы связаться и получить работу, и модель искусственного интеллекта должна понять, какое это имеет для вас значение. Если вы являетесь непосредственным контактом этого человека, это может быть просто поздравление и слова: «Привет, я просто проверяю, как прошел ваш раунд серии A. Поздравляю». Если это кто-то из сферы венчурного капитала, это на самом деле информация, когда они говорят: “Я не знал, что этот конкретный стартап привлек серию A”, – сказал Юрка.

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

По мере роста LinkedIn продолжает усилия по поддержанию актуальности и своевременности своей ленты. Существует так называемый “первоочередной звено ранжировщика”, который применяется к каждому типу обновления. Топ-k кандидатов каждого типа обновления выбираются отдельными алгоритмами перед отправкой на ранжировщик второго прохода для окончательного оценивания.

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

Ранее LinkedIn перешел от линейной модели к модели глубокого обучения/нейронной сети. Жу отметил, что модель глубокого обучения более эффективна, потому что она вводит нелинейности через функции активации. Это позволяет моделям улавливать более сложные и нелинейные связи в данных и изучать более мощные представления.

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

Однако он добавил, что данные LinkedIn сильно искажены между разными типами ответов. Например, кликов больше, чем взаимодействий. Поэтому требуется осторожная выборка и переоценка для избежания негативного влияния задач во время процесса обучения модели, так как все эти задачи делятся общими параметрами.

Получение выгоды от большого корпуса разреженных идентификационных вложений

Жу представил предыдущее крупное обновление ленты LinkedIn, а именно использование многозадачного обучения с использованием TensorFlow. Как он поделился, размер модели LinkedIn вырос в 500 раз, а объемы данных также увеличились в 10 раз. Кроме того, продолжительность обучения была увеличена, а теперь дополнительно выбирается большее количество обучающих данных. Это также представляет некоторые сложности в преодолении смещения.

Однако это была только отправная точка для последнего обновления, внедренного командой Жу. Их целью было оптимизировать взаимодействие, что означает улучшение предсказания вероятности того, как пользователи будут взаимодействовать с различными сообщениями. Затем, улучшая предсказание этой вероятности, LinkedIn может более эффективно ранжировать элементы ленты, чтобы предоставить пользователям более вовлеченный опыт. Ключом к этому являются разреженные векторы вложений. Давайте посмотрим, что это за векторы и в чем их роль.

Преобразование строки ID в вложение

(Источник: “Улучшение релевантности ленты на главной странице, используя силу больших редких вложений ID корпуса”)

Как пользователь LinkedIn, заинтересованный в ИИ, вы могли взаимодействовать с хэштегами #AI и #ML. Другой пользователь взаимодействовал с хэштегом #generativeAI. Это разные хэштеги. Однако, через вложения их семантические значения в пространстве вложений близки. В результате модель может понять, что ваш вкус похож на мой, и может рекомендовать похожий контент в области ИИ обоим пользователям.

Для каждого элемента контента на LinkedIn и для каждого пользователя система рекомендаций использует вектор вложений. Это означает, что эти векторы будут очень большими, но также очень разреженными. Они будут большими, то есть иметь много измерений, потому что есть много разных тем и соответствующих хэштегов. Но они также будут разреженными, потому что не все пользователи взаимодействовали со всеми хэштегами.

Фокус Жу – это преобразование больших разреженных ID корпуса векторных признаков (таких как ID хэштега или ID элемента / сообщения) в пространство вложений с использованием таблиц вложений с сотнями миллионов параметров, обученных на мульти-миллиардных записях. Например, Жу указал, что у ID участников миллионы измерений, потому что на LinkedIn миллионы участников.

“Для каждого участника целью является изучение персонализированного тензорного представления. Это тензорное представление будет кодировать предпочтения пользователя, такие как взаимодействие с другими пользователями или предпочтения хэштегов за фиксированный период. Вся эта информация будет закодирована в плотный вектор во время обучения. Представляя модели такой персонализированный вектор, модель сможет лучше улавливать динамический, изменяющийся мир, а также предпочтения участника”, – сказал Жу.

Разреженные признаки можно интерпретировать как категориальные one-hot представления, где кардинальность составляет несколько миллионов, отметил Жи. В этих представлениях все записи равны нулю, за исключением одной, которая соответствует индексу ID. Это может быть ID хэштега или ID участника, например. Они преобразуются в низкоразмерное непрерывное плотное пространство, называемое пространством вложений, с использованием таблиц вложений с сотнями миллионов параметров, обученных на мульти-миллиардных записях.

Как указал Жу, сама таблица вложений сильно связана с набором данных и решаемой задачей. Однако техника определенно обобщаема. Тот же подход уже используется в различных случаях использования в LinkedIn, таких как рекомендация вакансий и рекомендация рекламы. “Мы применяем очень похожую стратегию преобразования этих разреженных идентификаторов в плотное представление. Мы считаем, что это масштабируемый способ развития ИИ в LinkedIn”, – сказал Жу.

Масштабирование в будущем

Работа Жу также затронула обновления оборудования. Как он объяснил, команда столкнулась с проблемами обслуживания десятков больших моделей параллельно на своем хосте после увеличения размера модели в 100 раз. Хост был просто не предназначен для такого масштаба, поэтому команда выбрала стратегию обслуживания модели с двухэтапным подходом.

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

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

Вложения преобразуются в офлайне и записываются в высокопроизводительные хранилища ключ-значение. Поэтому эти таблицы вложений не нужно размещать на хосте обслуживания, у которого ограничена память. Эта стратегия используется параллельно с работой LinkedIn по обновлению хоста. Как только обновление будет завершено, все будет перемещено в память, и будут применены оптимизации памяти. Команда использовала и расширила открытую среду разработки Horovod.

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

Как пояснил Жу, вложения в настоящее время обучаются на основе фиксированного периода. Это может потенциально привести к проблеме несогласованности между результатами офлайн и онлайн или снижению выгод на протяжении длительного времени. Жу считает, что более частая выборка поможет вложениям улавливать динамику системы и лучше предсказывать персонализированную ленту для участников LinkedIn.

Для получения дополнительной информации ознакомьтесь с беседой с Жу и Юркой ниже.