Машинное обучение на Tubi: помогаем всем смотреть фильмы, телепередачи и новости бесплатно

машинное обучение

В этой серии блогов мы стремимся проиллюстрировать применение машинного обучения к рекламному видео по запросу Tubi (AVOD). Машинное обучение помогает решать множество проблем, связанных с рекомендациями, пониманием контента и рекламой. Мы широко используем PyTorch для этих случаев, потому что он дает нам возможность обучать крупномасштабные глубокие нейронные сети с использованием графических процессоров, которые являются гибкими, быстрыми в вычислительном отношении и простыми в реализации.

Кто такой Tubi, что он делает?

Tubi — это платформа, предоставляющая пользователям качественные бесплатные фильмы, сериалы и новости в режиме реального времени, и являющаяся одним из лидеров в этой области. У Tubi 33 миллиона активных пользователей в месяц и более 2,5 миллиардов часов просмотров в прошлом году. Tubi содержит самый большой каталог премиум-контента в индустрии потокового вещания, включая множество хитов, фильмов ужасов и ностальгии. Чтобы поддерживать и приобретать более широкую аудиторию и постоянно расширять нашу видеотеку, мы используем информацию на платформе Tubi в сочетании с подборкой надежной общедоступной информации, чтобы узнать, что пользователи, скорее всего, будут заинтересованы в просмотре сейчас и в будущем. будущее. Зрители могут смотреть Tubi на десятках устройств, войти в систему для беспрепятственного просмотра и увидеть половину количества рекламных роликов по сравнению с традиционным кабельным телевидением.

图片

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

Комплексное машинное обучение

Чтобы добиться успеха, Tubi использует подход, основанный на данных, но, что более важно, мы по-прежнему привержены изучению постоянно расширяющихся областей машинного обучения, глубокого обучения, обработки естественного языка (NLP) и компьютерного зрения (CV). философии, пожалуйста, прочитайте эту статью подробно). Наши исследования, разработки и развертывание выполняются на гибкой платформе, которая в значительной степени зависит от Databricks, PyTorch и других высокоуровневых сред для решения некоторых из наших сложных проблем, при этом Databricks является основным вычислительным компонентом (в сочетании с другими ресурсами с открытым исходным кодом). ) ).

Что такое видео по запросу (VOD)

Когда вы слышите фразу «потоковая служба», скорее всего, все компании, которые приходят вам на ум, используют бизнес-модели видео по запросу (SVOD) на основе подписки. Это означает, что они зарабатывают деньги, взимая с пользователей членские взносы за просмотр любого контента на их платформе. Ad-Based Video On Demand (AVOD) примерно такой же, как эти потоковые сервисы, большая разница в том, что он бесплатный, точно так же, как телевидение было бесплатным в течение 80 лет, и зрители увидят очень мало его в высококачественных программах. Коммерческая реклама. Именно так компании AVOD генерируют доход. Мы указываем на это, потому что это по-разному влияет на проблему, которую мы пытаемся решить, и на то, как мы работаем с машинным обучением.

Три столпа перехода AVOD на приложения ML

В мире AVOD три столпа, лежащие в основе модели, следующие:

  1. Контент: весь видеоконтент, который мы храним в нашей базе данных.

  2. Аудитория: все люди, которые смотрят видеоконтент на Tubi.

  3. Рекламные объявления: рекламный контент, отображаемый для зрителей.

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

图片

Три столпа AVOD, где объекты имеют определенные отношения, мы пытаемся использовать эти отношения в благотворном цикле, чтобы оптимизировать удовлетворение каждого объекта.

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

  1. Позвольте рекламодателям охватить нужную им аудиторию и получить возврат инвестиций;

  2. Генерировать доход для партнеров по контенту;

  3. Зарабатывайте деньги, необходимые для роста и улучшения Tubi.

Давайте еще раз посмотрим на петлю обратной связи: лучший контент увеличивает аудиторию, а большая аудитория означает больше внимания со стороны рекламодателей, больше рекламодателей будет привлечено к Tubi, что приведет к большему количеству рекламы, что, таким образом, выгодно для партнеров по контенту и AVOD. У Tubi также будет больше доходов и больше бюджета, чтобы заниматься более качественным контентом. И так далее, цикл повторяется.

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

Как машинное обучение вписывается в экосистему AVOD?

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

  1. понимание содержания

  2. рекламная технология

  3. Рекомендуемая система

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

  • понимание содержания

Одной из целей «понимания контента» Tubi является составление списков наиболее многообещающих фильмов, помощь в прогнозировании ценности фильмов и сериалов, содействие быстрой интеграции новых выпусков в рекомендательные системы и многое другое. Мы назвали наш проект по пониманию контента «Спок», и конкретное приложение будет подробно объяснено в следующей статье. Машинное обучение для контента в области VOD в основном основано на уже существующих мультимедийных метаданных, но также использует многие последние разработки в технологиях NLP и Embedding для извлечения форматированного текстового контента, от word2vec и doc2vec до fasttext и GloVe, до наших современных Трансформаторные технологии, такие как ELMO, BERT и Big Bird.

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

Мы можем назвать это отображение из космического пространства в «пространство Туби» «встраиванием». PyTorch помог нам решить эту сложную проблему с небольшими данными, предоставив гибкую утилиту DataLoader, которую намного проще реализовать. Встраивания с балками изменили правила игры, когда в наш каталог был добавлен новый ассортимент.

图片

Используйте PyTorch для создания моделей встраивания для легкого холодного запуска.

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

图片

Система Tubi Spock, управляющая всеми вариантами использования Tubi, ориентированными на контент.

  • рекламная технология

Рекламные технологии существуют только в AVOD, они охватывают все аспекты, связанные с тем, как реклама представлена ​​зрителям на платформе, монетизацией этой рекламы. Основная цель ML в рекламе — предоставить пользователям приятные впечатления от рекламы.

У рекламных технологий есть три направления.

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

  • Отображение рекламы:

  • Какие объявления показываются пользователям

  • Сроки и количество имплантов

  • Когда размещать рекламу наименее разрушительно

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

Машинное обучение также может помочь нам сократить количество повторяющихся объявлений и помочь нашим рекламодателям эффективно взаимодействовать с пользователями. Отличным примером инноваций в этой области является наше решение Advanced Frequency Management (AFM), которое в значительной степени зависит от PyTorch для разработки и развертывания моделей обнаружения и классификации идентификационных данных. AFM использует методы на основе компьютерного зрения, чтобы ограничить показ рекламы бренда на уровне видео, независимо от источника поставки. Используя новый подход, мы сканируем каждый видеоконтент из различных источников, выводим оценку достоверности обнаруженного бренда и используем эту информацию для принятия решений о размещении. Преимущество этого в том, что наши пользователи не получают слишком много показов рекламы.

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

图片

Выделяет различные варианты использования рекламных технологий Tubi.

  • Рекомендуемая система

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

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

Наша система построена на мощных платформах, таких как Spark, MLeap, MLFlow, и использование Databricks позволяет нам экспериментировать с новейшими методами ML, включая онлайн-хранилище функций, вывод в реальном времени, контекстные бандиты, глубокое обучение и AutoML. Наша комплексная платформа для экспериментов помогает командам быстро внедрять свои последние идеи в онлайн. Наше текущее направление исследований — использовать PyTorch для экспериментов с методами совместной фильтрации на основе нейронных сетей, которые будут использовать возможности глубокого обучения и множество богатых данных из нашей системы понимания контента, чтобы предоставлять более подробные рекомендации нашей аудитории.

图片

Системы рекомендаций распространены на всех платформах Tubi.

Повторюсь, в будущих статьях будет подробное и подробное обсуждение каждой из этих трех основных частей!

На что похож стек технологий Tubi?

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

Еще одним важным аспектом разработки программного обеспечения является появление крупных облачных платформ, таких как Amazon Web Services (AWS) и Microsoft Azure, к которым можно легко подключить десятки хорошо поддерживаемых интеграционных сервисов и масштабировать их в нужном масштабе. Кроме того, такие сервисы, как Databricks, еще больше интегрируют мощь Spark и облачных архитектур с парадигмой Notebook IDE, что позволяет небольшим компаниям сделать качественный скачок в конкурентоспособности.

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

图片

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

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

  • Мы полагаемся на собственные и сторонние данные, которые можно легко интегрировать с помощью S3, Redshift и Delta Lake.

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

  • Другими аспектами могут быть модели с небольшими данными и малой задержкой, такие как прогнозирование ценности никогда ранее не просматриваемого видеоконтента.

  • Возможность использовать плагины python или scala и использовать новейшие и лучшие алгоритмы в Databricks — огромное преимущество при разработке решений машинного обучения.

  • Pytorch, xgboost и другие пакеты могут быть хорошо спроектированы, могут быть хорошо скоординированы со Spark и Databricks и использовать облачное хранилище, большие кластеры и графические процессоры. Можно создать алгоритмы, которые могут не учитывать приложения из-за проблем с ресурсами несколько лет назад. .

图片

Платформа Tubi отслеживается от устройств до потоковых представлений, а также данных и машин, управляющих машинным обучением.

быть в курсе

В заключение, в этом посте мы в основном рассказали вам о потоковых сервисах, AVOD, Tubi и о том, что мы думаем о машинном обучении. Это очень весело, и эта статья — только начало. В следующих статьях мы более подробно рассмотрим контент машинного обучения и некоторые варианты его использования, а в последующих статьях мы углубимся в изучение увлекательного мира нашей команды Spock, ответственной за понимание контента. К сожалению, блог не по запросу, так что потерпите меня - мы обещаем, что он будет огромным.

图片

Оригинал: Джон Тренкл, Джая Кавале, нажмите «Читать оригинал», чтобы просмотреть английскую версию.

Переводчик: Шуай Би, старший инженер по машинному обучению Tubi

图片

Туби дал тебе пощечину и пригласил тебя **** присоединиться к нашей большой семье!

На данный момент открытые позиции:

  • Старший инженер по развитию данных

  • Старший инженер по машинному обучению

  • Senior Backend Engineer - направление Elixir

  • Senior Backend Engineer - направление Scala

  • Старший инженер Android

  • Старший iOS-инженер

  • Старший фронтенд-инженер

  • Старший интерфейсный инженер - Мультимедиа

  • Старший инженер по развитию инфраструктуры

Для получения более подробной информации о вакансии, пожалуйста, нажмите на наш официальный сайт:chinateam.tubi.tv/ или наБосс Прямой поиск работы**"Битто Технология"**Посетите нашу домашнюю страницу карьеры.