Алгоритм ИИ, который зацепил вас - TikTok

Рубрику #чтопочитать продолжим статьей с Medium Towards Data Science. Специалисты компании Sociaro подготовили перевод статьи про TikTok.

Почему TikTok сделал своего пользователя таким зависимым? Алгоритм ИИ, который зацепил Вас.

TikTok захватывает мир штурмом. Согласно статистике сайта Sensor Tower, приложение для создания коротких видео было загружено более 2 миллиардов раз по всему миру в App Store и Google Play. В чем же волшебство этого сенсационного приложения, которое так увлекло вас? Не удивительно, но ответ на этот вопрос - система рекомендаций, поддерживаемая машинным обучением.

  • Содержание (Примерное время чтения - 15 мин)
  • 1. Общее введение в TikTok.
  • 2. Архетип рекомендательной системы TikTok (данные, особенности, цели, алгоритмы и механизм обучения).
  • 3. Рабочий процесс рекомендаций TikTok (внедрение в режиме реального времени, обязательно к прочтению)

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

Но это объясняет только часть беспрецедентного успеха TikTok. Менее чем за 2 года он прошел путь от приложения для пения под фонограмму в небольшом сообществе фанатов до популярного приложения с почти 800 миллионами активных пользователей в 2020 году. В общей сложности видеоролики TikTok, помеченные #coronavirus , имеют 53 миллиарда просмотров.

Алгоритм ИИ, который зацепил вас - TikTok
Алгоритм ИИ, который зацепил вас - TikTok

Он знаменит порождением популярных песен и забавных клипов.

В среднем люди тратят 52 минуты в день в данном приложении, в то время как для Snapchat, Instagram и Facebook это значение составляет 26, 29 и 37 минут соответственно.

Алгоритм ИИ, который зацепил вас - TikTok

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

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

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

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

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

Более того, согласно исследованию, опубликованному Гомес Урибе и руководителем Netflix по продукту Нилом Хантом, совокупный эффект персонализации и рекомендаций позволяет Netflix экономить более 1 млрд долларов в год. К тому же, 80% подписчиков выбирают видео из списка предложений системы.

Теперь давайте взглянем на то, что TikTok делает по-особенному.

1. Введение в рекомендательные системы.

(Для тех, кто уже знаком с этой темой, перейдите, пожалуйста, в следующий раздел).

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

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

  • Полное руководство по созданию рекомендательной системы с нуля (для чтения потребуется около 35 минут, а для создания реплики кода - 40-60 минут).
  • Рекомендательные системы от Эндрю Нг [ССЫЛКА] (уделите час просмотру видео)

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

Алгоритм ИИ, который зацепил вас - TikTok

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

2. Архетип рекомендательной системы TikTok

"Ориентированный на пользователя дизайн" остается ядром архетипа. Проще говоря, TikTok будет рекомендовать только тот контент, который вам понравится, начиная с корректировки при холодном старте и заканчивая индивидуальными рекомендациями для активных пользователей.

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

Рабочий процесс высокого уровня.

Алгоритм ИИ, который зацепил вас - TikTok

В архетипе TikTok есть три основных блока:

  • 1) создание тегов контента;

  • 2) создание пользовательских профилей и историй (сценариев, scenarios);

  • 3) обучение и обслуживание алгоритмов рекомендаций.

Далее мы обсудим каждый из них.

2.1 Данные и признаки

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

Алгоритм ИИ, который зацепил вас - TikTok

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

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

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

После сбора относительных данных будут получены и введены в систему четыре типа признаков.

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

  • Признаки пользовательской истории: разработаны на основе ситуационных данных, включая географическое местоположение, время суток, теги событий и т.д.
  • Признаки трендов: основаны на взаимодействии пользователей и представляют собой глобальные тенденции, горячие темы, ключевые слова в топе, темы трендов и т.д.
  • Коллаборативные признаки: основываются на совместной (коллаборативной) фильтрации, которая сочетает в себе узкие рекомендации (более предвзятые) и совместные рекомендации (более общие). Точнее, эта фильтрация будет не только рассматривать историю одного пользователя, но и анализировать совместное поведение группы схожих пользователей (интересы, ключевые слова, темы).

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

2.2 Нематериальные цели

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

Однако другие цели не могут быть оценены с помощью подобных количественных показателей.

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

Для достижения этой цели необходим "пограничный контроль", выходящий за рамки поддающихся количественной оценке целей модели (система проверки контента).

2.3 Алгоритмы

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

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

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

Алгоритм ИИ, который зацепил вас - TikTok

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

2.4 Учебный механизм

TikTok использует онлайн протокол обучения, работающий в режиме реального времени. Он требует меньше вычислительных ресурсов и обеспечивает быструю обратную связь. Это важно для потоковых (streaming) и информационных продуктов.

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

Скорее всего, TikTok использует штурм-кластер (storm cluster) для обработки пробных данных в реальном времени, включая клики, коллекции, лайки, комментарии и обмены.

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

Алгоритм ИИ, который зацепил вас - TikTok

Общий процесс обучения заключается в следующих шагах:

  • 1) Онлайн-сервер фиксирует данные в реальном времени, а затем сохраняет их в Kafka;

  • 2) Штурм-кластер забирает данные и признаки из Kafka;

  • 3) Хранилище признаков собирает новые признаки и метки рекомендаций для построения нового учебного набора;
  • 4) Онлайн обучающий конвейер переобучает параметры модели, эти же параметры сохраняются в хранилище моделей;
  • 5) Конвейер обновляет список рекомендаций на стороне пользователя, фиксирует новые обратные связи (действия пользователя) и начинает процесс заново.

3. Рабочий процесс рекомендаций TikTok

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

(Это моя интерпретация и экстраполяция, и она может отличаться от того, что TikTok на самом деле делает).

Алгоритм ИИ, который зацепил вас - TikTok

Шаг 0: Система двойной проверки пользовательского контента Duo-Audit.

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

Алгоритм ИИ, который зацепил вас - TikTok

Машинная проверка: Говоря в общем, модель Duo-audit может определять изображения и ключевые слова из ваших видео. В основном она выполняет две основные функции: 1) проверка наличия общих нарушений в видеороликах и проверка на нарушение авторских прав. При подозрении в нарушении контент будет перехвачен системой и помечен желтым или красным цветом для проверки человеком. 2) извлекая изображения и ключевые кадры из видео, алгоритм TikTok сопоставляет эти фрагменты с его огромной базой архивированного контента. Повторения будут собраны и им будет присвоен меньший трафик, а механизм рекомендаций будет присваивать им меньший вес.

Ручная проверка: в основном сосредоточена на 3 областях: названии, превью и ключевых кадрах видео. Контент, помеченный моделью Duo-Audit как подозрительный, будет просматриваться техническими специалистами вручную. Если будет обнаружено нарушение правил, видео будет удалено, и учетная запись заморожена.

Шаг 1: Холодный старт

Ядром механизма рекомендаций TikTok является воронка информационного потока. После того, как контент прошел двойную проверку, он помещается в пул (бассейн, резерв) трафика холодного старта. Например, после того как ваше новое видео пройдет процедуру проверки, TikTok назначит ему начальный трафик в количестве 200-300 активных пользователей (видео появится у них в рекомендациях). Благодаря данному толчку, ваше видео может получить до нескольких тысяч просмотров.

При таком механизме новый пользователь может конкурировать с уже влиятельным знаменитым человеком (у которого могут быть десятки тысяч подписчиков), потому что у них одна и та же отправная точка.

Шаг 2: Оценка на основе метрик

Благодаря первоначальному резерву трафика, видео может получить тысячи просмотров, и его данные будут собраны и проанализированы. Метрики (данные), которые будут учитываться при анализе, включают в себя лайки, просмотры, комментарии, подписчики, репосты и т.д.

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

Если система высоко оценила ваш контент, то 10% лучших видео получат дополнительные 10,000-100,000 трафика.

Шаг 3: Усилитель профиля пользователя

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

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

Алгоритм ИИ, который зацепил вас - TikTok

Шаг 4: Пул трендов

Менее 1% контента в конечном итоге попадет в пул трендов. Количество просмотров, которое контент может получить в этом пуле, значительно выше, чем в других, потому что он будет рекомендован всем пользователям вне зависимости от их предпочтений. (Предполагается, что в независимости от того, кем вы являетесь, вы можете захотеть посмотреть последнее видео протестующих движения "Жизни черных важны").

Отдельный шаг: "Запоздалый взрыв"

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

В основном, на это есть две причины:

  • Во-первых, TikTok имеет алгоритм (прозвище "могильщик"), который возвращается к старому контенту и ищет качественных кандидатов на экспозицию. Если ваш контент был выбран по этому алгоритму, это указывает на то, что на вашем профиле достаточно хороших видео, чтобы получить чистую метку. Эта метка увеличит видимость вашего контента в могильщике.

  • Во-вторых, "Эффект тренда". Он заключается в том, что если одно ваше видео получит миллионы просмотров, то оно будет направлять трафик на вашу главную страницу, тем самым увеличивая просмотры вашего старого контента. Это часто происходит с создателями развлекательного контента, например, про кошек. Одно популярное видео даст толчок всем вашим остальным качественным видео (люди хотят видеть больше вашей милой, любопытной кошки).

Ограничение: Пик трафика

Если одно облако контента пройдет через воронку информационного потока (двойная проверка, проверка на дубликат и усилители), то профиль создателя контента получит чрезмерную экспозицию, взаимодействие с пользователями и поклонников.

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

Зачем?

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

Ссылки:

99
3 комментария

Статья интересная, но перевод надо шлифовать. Ахиллесова пята таких переводов - попытка перевести устоявшиеся термины, например, deep learning

Ответить

а ккие умненькие таблички писанули беленьким по голубенькому прят утптупы дизайна

Ответить

вся эта мошынная ббредятина разбита об кучу пользователей  с мобилами

Ответить