Сквозная аналитика помогает компании Xigua вести видеобизнес

Android iOS
Сквозная аналитика помогает компании Xigua вести видеобизнес

Автор: Byte Terminal Technology - Цинь Лян

предисловие

Терминальный интеллект, как следует из названия, предназначен для запуска моделей ИИ на терминале. Терминальный интеллект начал появляться в отрасли как новое горячее направление. Alibaba, Google, Kuaishou и другие крупные компании активно внедряют сквозную аналитику, используя искусственный интеллект конечных устройств для оптимизации различных бизнес-сценариев, и добились выдающихся результатов.

Команда Byte Client AI принимала активное участие в области интеллектуального анализа терминалов и в начале этого года сотрудничала с Xigua Video для внедрения интеллектуального решения для предварительной загрузки видео на терминал и добилась хороших результатов. В этой статье, через этот случай, мы познакомим вас с завесой интеллекта на устройстве и увидим, как ИИ на устройстве можно применять на практике для улучшения бизнес-результатов.


1. Сценарий

1.0 Введение в сценарий

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

Но у такой фиксированной стратегии также есть несколько очень очевидных проблем:

  1. В большинстве случаев пользователи не заканчивают просмотр буфера 800 КБ, а просто просматривают контент, а затем прокручивают до следующего видео, что приводит к пустой трате полосы пропускания.

  1. Когда пользователь внимательно просматривает видеоконтент, если буфера недостаточно, легко вызвать сбой воспроизведения или зависание, что повлияет на работу пользователя.

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

1.1 Углубленный анализ

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

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

1.2 Направление прорыва

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

В нем есть несколько подвопросов:

  1. Использовать «правила» или «модели», чтобы делать прогнозы?

    1. правило

      1. Достоинства: простота, низкая стоимость разработки, можно быстро проверить действие схемы
      2. Недостатки: можно работать только с простыми сценариями, чем выше сложность сценария, тем сложнее становятся правила, что приводит к более высоким затратам на разработку и обслуживание.
    2. Модель

      1. Преимущества: Может работать со сложными сценариями и разрабатывать более совершенные стратегии.
      2. Недостатки: более высокая стоимость разработки и более длительный цикл
    3. Вообще говоря:

      1. существуетподготовительный этапПравила можно использовать для быстрой проверки эффекта плана и оценки приблизительных преимуществ стратегии.
      2. существуетСтадия реализации проектаОн будет использовать способность модели к обучению и прогнозированию, чтобы сформулировать усовершенствованные стратегии с высокой доступностью и высоким расширением и, наконец, достичь максимального эффекта.
  1. Должен ли этот прогноз модели выполняться в «облаке» или на «клиенте»?

    1. Варьируется от сценария к сценарию, и нет универсального подхода

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

      1. Необходимо предсказать модель поведения пользователя на странице, которая тесно связана со скольжением пользователя.
      2. Поведение смахивания вКороткие периоды времени (секунды, минуты) подчиняются определенным правилам., долгосрочный цикл (уровень дня, уровень месяца) имеет слабую закономерность
      3. Частота срабатывания предварительной нагрузки высокая, время короткое,Высокие требования к производительности в реальном времени(Иначе легко заставить пользователей зависнуть)
      4. Некоторые особенности на конце из-заКонфиденциальность и масштаботношения, не подходит для репортажа
    3. Для такого сценария с высокими требованиями к реальному времени и коротким периодом времени данных о функциях по сравнению с запросом длинной ссылки ответа из облака:Было бы лучшим решением запустить модель непосредственно на «клиенте», чтобы делать прогнозы..

Наконец, таблица используется для обобщения характеристик «конечного интеллекта» и «облачного интеллекта»:

стоимость решения задержка ответа измерение данных Вычислительный масштаб
облачный интеллект Сетевое подключение + нативная итерация Классификация: скрытая задержка + задержка на ближней линии Долгосрочные + Все пользователи + Статистические функции Большие данные + большие модели
конец разведки Триггер данных + динамический скрипт Второй уровень: сквозная задержка вычислений Кратковременный + однопользовательский + временные характеристики Небольшие данные + маленькие модели

1.3 Идеи по оптимизации

После нескольких разборок и анализа выше потихоньку всплыла идея оптимизации всей сцены:

Мы можем использовать «возможность обработки в реальном времени на терминале» + «возможность абстракции сложных сцен ИИ», чтобы «предсказать модель поведения пользователя» непосредственно на клиенте, а затем «оптимизировать стратегию предварительной загрузки видео» в соответствии с результатом прогнозирования.


2. Схема интеллектуальной предварительной загрузки терминала

Интеллектуальное решение терминала 2.0

После того, как у нас есть идеи, остальное — как реализовать наши идеи.

В целом решение для терминальной аналитики будет включать следующие этапы:

  • Разработка искусственного интеллекта на устройстве
  • Развитие клиента
  • Разработка пакета алгоритмов

Эти этапы не зависят друг от друга и могут выполняться параллельно. Далее в качестве примера будет рассмотрен сценарий «предварительной загрузки видео», чтобы представить описанные выше этапы.

2.1 Разработка искусственного интеллекта на устройстве

2.1.0 Добыча признаков

Из идеи оптимизации этого сценария мы ясно дали понять, что целью прогнозирования является «модель поведения пользователя», и остается вопрос: что использовать для прогнозирования?

Подумайте, какие функции повлияют или отразят то, что пользователи будут «быстро проводить пальцем для короткого просмотра или медленно проводить пальцем, чтобы смотреть внимательно» в сценарии полноэкранного входящего потока?

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

Из этого размышления о сцене мы можем извлечь множество характеристик поведения пользователя:

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

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

2.1.1 Обработка признаков

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

  • Пример данных за последние x баров
  • Релевантные примеры данных для последних x видео
  • Пример данных за последние x часов

2.1.2 Анализ характеристик

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

Существует также несколько распространенных методов анализа значения функций для модели, таких как:

  • Каппа Пирсона, Спирмена, Каппа Коэна и другие методы коэффициента корреляции
  • Методы регуляризации, такие как Lasso и Ridge
  • метод коэффициента корреляции расстояния
  • Метод сортировки элементов дерева решений

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

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

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

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

2.2 Разработка пакета алгоритмов

Есть две основные вещи, которые делает разработка пакетов алгоритмов.

2.2.0 Разработка функций в конце

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

В общем, нам нужно обеспечить такие возможности разработки функций на стороне:

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

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

2.2.1 Вывод модели на устройстве

В дополнение к обработке признаков нам также необходимо установить ссылку на вывод модели на конце, которая также поддерживается фреймворком pitaya в байтах. Эта ссылка в основном разделена на три части:

Развертывание среды

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

Динамические возможности

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

Мониторинг эффектов в реальном времени

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

2.3 Развитие клиента

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

  • Выполнение пакета алгоритма триггера

    • После того, как сцена in-stream горизонтального экрана завершит рендеринг первого кадра, она активизирует выполнение пакета алгоритмов.
  • Результаты анализа пакета алгоритма

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

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


3. Оценка эффекта программы

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

3.0 Пакет быстрых итерационных алгоритмов

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

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

В сценарии с предварительной загрузкой видео мы можем построить наш эксперимент следующим образом:

тестовая группа группа политик
онлайн группа
Экспериментальная группа 1 Изменить количество предзагрузок (1,3,5,7, ..)
Вторая экспериментальная группа Изменить размер предварительной загрузки (500, 700, 900, ..)
Третья экспериментальная группа. Изменить метод планирования предварительной загрузки (параллельный, последовательный, ..)

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

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

3.1 Мониторинг пакетов алгоритмов

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

  • Показатели эффективности: показатель успешности выполнения, время выполнения, PV, UV,...
  • Показатели производительности: точность, точность, отзыв, TP, FP, TN, FN, ...

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

3.2 Оптимизация схемы

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

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

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

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

3.3 Результаты заработка

Благодаря серии экспериментов наша стратегия предварительной загрузки видео для Xigua Video также была успешно запущена и позволила добиться значительных преимуществ в различных показателях воспроизведения видео и показателях затрат на пропускную способность:

  • Судя по индикаторам воспроизведения: терминальная интеллектуальная стратегия предзагрузки сравнивается со стратегией фиксированной предзагрузки:Частота отказов снизилась на 3,372%, частота отказов незапущенной трансляции снизилась на 3,892%, частота зависаний снизилась на 2,031%, количество зависаний за 100 секунд уменьшилось на 1,536%, а скорость проникновения зависших снизился на 0,541%.
  • С точки зрения индекса затрат: по сравнению со стратегией фиксированной предварительной загрузки, стратегия интеллектуальной предварительной загрузки терминала,Общая стоимость полосы пропускания снижается на 1,11%, что экономит компании десятки миллионов долларов.

4. Резюме

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

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

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

Интеллектуальная платформа с окончанием байта Pitaya, представляет собой набор терминал + облачная инфраструктура, созданная совместно командой ByteDance Client Infra и командой Data-MLX, которая призвана помочь терминальным предприятиям эффективно использовать возможности ИИ для улучшения бизнес-результатов и расширения бизнес-сценариев. В настоящее время он в основном создает такие платформы, как интеллектуальный бизнес на устройстве, проектирование функций на устройстве, механизм логического вывода на устройстве, обучение на устройстве и т. д. Он сотрудничает с несколькими компаниями, такими как Douyin, Xigua Video, Toutiao и образование, чтобы помочь улучшить бизнес-результаты.

Комплект для разработки приложений Volcano Engine MARSЭто результаты исследований и разработок технической группы терминалов ByteDance в приложениях Douyin, Today's Toutiao, Xigua Video, Feishu, Understanding Chedi и других приложениях за последние девять лет для мобильных исследований и разработок, клиентской разработки, контроля качества, эксплуатации и обслуживания. , менеджер по продуктам, менеджер по проектам Помимо роли оператора, он предоставляет универсальные комплексные решения для НИОКР, помогающие предприятиям модернизировать свои модели НИОКР и снижать общие затраты на НИОКР. Можетнажмите на ссылкуВойдите на официальный сайт для получения дополнительной информации о продукте.