Я не ожидал, что ты такой умный

искусственный интеллект внешний интерфейс
Я не ожидал, что ты такой умный

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

В этой статье речь пойдет о терминальном интеллекте и развитии терминального интеллекта в Xigua Video. Возможно, вы слышали о Duanzhihui, полуприкрытый вид пипы действительно вызывает зуд, и сегодня мы снимем с нее вуаль и посмотрим.

От облачной аналитики к сквозной аналитике

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

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

Так что же такое граничные вычисления? Какая связь между граничными вычислениями и так называемым терминальным интеллектом? Продолжай смотреть вниз~

граничные вычисления

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

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

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

Суть терминального интеллекта

Что касается искусственного интеллекта, мы должны были это увидеть, особенно приложения, представленные Toutiao/Tiktok/Kuishou, представляют собой продукты, которые используют машинное обучение до крайности.Кроме того, аппаратные устройства, такие как подметальные машины и беспилотные транспортные средства, также являются искусственными Лучший пример умной посадки. Итак, о какой роли конечного интеллекта мы говорим?

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

img

С 2006 года искусственный интеллект вступил в третью стадию развития и последовательно победил Ли Шиши и Кэ Цзе с помощью AlphaGo, объявив о наступлении новой эры. Это связано с:

  • Развитие больших данных и совершенствование аппаратных вычислительных мощностей, CPU, GPU и специальных вычислительных блоков;
  • Алгоритмы и фреймворки глубокого обучения постоянно развиваются: от Torch, Caffe до TensorFlow, PyTorch и т. д.

При этом вычислительная мощность, алгоритмы и фреймворки конечных устройств тоже развивались семимильными шагами:

  • Вычислительная мощность: Производительность процессора и графического процессора была улучшена, вычислительная мощность мобильных телефонов продолжала расти, а микросхема обработки нейронной сети, специально используемая для ИИ, постепенно стала стандартной, что позволило поддерживать работу моделей алгоритмов в различных условиях. степени;
  • Рамка: Появление ориентированной на мобильные устройства среды машинного обучения облегчает нам применение машинного обучения на конечной стороне. Что касается мобильных телефонов, Apple Core ML и Google NNAPI обеспечивают поддержку на уровне системы. Кроме того, в отрасли существует множество отличных конечных фреймворков: TensorFlow Mobile/Lite, Caffe2, NCNN, TNN, MACE, Paddle&Paddle Lite, MNN. и Тенгине и др.;
  • алгоритм: Технология сжатия модели продолжает развиваться, среди которых квантование является очень зрелым, и модель в основном может быть уменьшена до 1/4 ~ 1/3 от оригинала без снижения точности; кроме того, модель алгоритма для конечного сторона постоянно оптимизируется, дизайн архитектуры становится все более и более зрелым, а совместимость с конечными устройствами становится все более удобной.

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

Зачем терминальный интеллект?

Чтобы узнать, почему суть аналитики конечного использования состоит в том, чтобы выяснить, с какими проблемами сталкивается текущая облачная аналитика. Как было сказано ранее, развитие облачного интеллекта основано на современных потребностях, и его основными преимуществами являются:

  • Сталкиваясь с массивными данными, это означает, что мы можем искать оптимальное решение проблемы, непрерывно накапливая данные;
  • Достаточные ресурсы оборудования и мощные вычислительные мощности;
  • Масштаб алгоритма огромен, а пространство не ограничено;

Однако эта зависимая от облака архитектура также имеет соответствующие недостатки:

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

Преимущества терминального интеллекта можно использовать в качестве дополнения к недостаткам облачного интеллекта:

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

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

Ограничения пограничного интеллекта

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

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

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

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

5G и терминальный интеллект

Некоторые студенты ранее упоминали, что, поскольку 5G быстр и хорош, совершенно не нужно заниматься терминальным интеллектом. Вот краткий рассказ о моем собственном понимании. (Если что-то не так, пожалуйста, найдите брата по соседству)

Высокоскоростное соединение и сверхнизкая задержка 5G предназначены для реализации распределенного интеллекта в масштабе, то есть云-端Интеллектуальная интеграция. Чтобы объяснить подробно: 5G обеспечивает более стабильную и бесшовную поддержку соединения между устройством и облаком, В настоящее время сеть больше не является узким местом соединения устройства и облака, но с появлением Интернета всего эра, масштаб данных Будет дальнейший всплеск, и мы вступим в эру сверхбольших масштабов данных.В это время вычислительная мощность сервера станет узким местом.В это время предварительная обработка и понимание данных на конце будет важнее, что требует вмешательства конечной разведки.

Например, в области безопасности многие домашние камеры теперь поддерживают облачное хранилище.Если мы хотим сохранять видео в облаке только тогда, когда кто-то активен, что нам делать? Лучший способ — использовать ИИ для сначала распознавания изображений на стороне устройства, а затем загружать видеоклипы с людьми в облако вместо загрузки всех видео в облако и последующей обработки изображений (обрезки бесполезных видеоклипов). Это может не только сэкономить пропускную способность трафика и вычислительную мощность на стороне облака, Здесь обработка видео на стороне терминала — это предварительная обработка и понимание данных, которые мы только что упомянули.

Для AR конечный интеллект предоставляет AR интерактивные возможности, а 5G может соответствовать возможностям сетевой передачи, требуемым AR.Благодаря этим двум, это интерактивная и высококачественная технология AR, которая будет способствовать интеграции реального мира и виртуального. окружающая среда. .

Почему арбуз умный?

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

Прежде чем начать следующую статью, мы должны ответить на вопрос: почему арбуз должен быть интеллектуальным? Другими словами, как Арбуз позиционирует сквозной интеллект?

  • «Арбузное видео» — это продукт, который обслуживает огромное количество потребителей среднего и длительного видео.Для удовлетворения потребностей различных сегментов необходимо проводить более совершенную стратегию работы с продуктом.Однако наши стратегии часто ограничивались сервер- побочные стратегии или экспериментальные сценарии.Бассейн стратегии, полученный из следующего, клиент больше получателя стратегии в целом процессе, пассивный ответ и отсутствие в реальном времени;
  • Благодаря постоянному развитию проекта качества видео с арбузами во многих сценариях также были достигнуты значительные преимущества. Сопутствующая проблема заключается в том, что простые и легкие стратегии больше не могут удовлетворить наш аппетит. Чтобы получить дополнительные преимущества, нам нужно быть более осторожными и гибкими. стратегические средства.
  • Watermelon Video стремится предоставлять пользователям более ценный контент, а воспроизведение, как основная функция Watermelon, направлено на создание более интеллектуального проигрывателя для пользователей и создание лучшей аудиовизуальной среды, что, несомненно, влияет на наше воспроизведение на стороне клиента. стратегия выдвигает более высокие требования.
  • Для видеопродуктов нельзя недооценивать затраты на полосу пропускания Мы надеемся свести к минимуму потери бесполезной полосы пропускания, не влияя на качество воспроизведения.

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

Руководствуясь этими двумя целями и далее объединяя потребности арбуза, мы в основном фокусируемся на следующих двух областях:

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

Арбуз Смарт

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

Основной процесс

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

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

три горы

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

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

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

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

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

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

  • От разработки алгоритма до обучения модели платформа MLX компании обеспечивает возможность от обучения модели до развертывания сервера, но не поддерживает связь от обучения облачной модели к развертыванию.Реализовать развертывание модели и преобразование формата модели;
  • Традиционный высокоуровневый интеллект опирается на две части данных: алгоритмы и модели на стороне устройства. Раньше алгоритмы нужно было переносить на сторону устройства после завершения проектирования облачного тестирования. Существовала определенная стоимость миграции и возможность отсутствовало быстрое развертывание и обновление. В то же время алгоритмы и модели были разделены. После нескольких итераций алгоритма и модели управление версиями является относительно сложным, и совместимость трудно гарантировать. Если алгоритм и модель могут быть связанным и динамически выдаваться, ссылка может быть упрощена при одновременном снижении стоимости совместной работы;
  • Среда на стороне устройства сложна (особенно устройства Android, которые имеют разные конфигурации и более сложные аппаратные среды), и механизм логического вывода очень важен. Прежде чем приступить к посадке, мы изучили TensorFlow Lite, TNN, MNN и Paddle-Lite, а также внутренний ByteNN компании и, наконец, выбрали ByteNN.

Почему ByteNN?

  1. ByteNN, как унифицированная базовая библиотека AI Douyin и TikTok, была подключена ко многим продуктам и не требует дополнительного объема;

  2. Целевая настройка производительности для обработки ARM, графического процессора Adreno/Mali, графического процессора Apple, поддержка многоядерного параллельного ускорения, и производительность в порядке;

  3. Широкая совместимость терминалов, охватывающая все устройства Android и iOS, с высоким удобством использования;

  4. Он поддерживает GPU, GPU, NPU, DSP и другие процессоры, с благословения производителей, и универсальность не является проблемой.

Три горы, стоящие перед вами, уже ясны, и дела, которые нужно делать, тоже ясны. Что касается терминальной аналитики, мы совпали с идеей команды платформы Client Ai и начали совместно продвигать исследование и внедрение терминальной аналитики в бизнес-стратегию байта.

Благодаря решению Pitaya мы можем больше сосредоточиться на разработке алгоритмов и анализе бизнес-сценариев. Что такое питайя? Проще говоря, он соединяет среду MLX в облаке и среду на стороне устройства, развертывает алгоритмы и модели на устройстве в виде пакетов алгоритмов и поддерживает проектирование функций на стороне устройства. работа механизма вывода (ByteDT, ByteNN) и его базовая архитектура примерно такова:

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

Умная предварительная загрузка видео с арбузом

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

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

800K — это экспериментальное значение, цель которого — максимально снизить затраты, не влияя на зависание.Как мы все знаем, предварительная загрузка может значительно улучшить качество воспроизведения, а также привести к увеличению затрат на пропускную способность. У вас может не быть интуитивного представления о 800K.В качестве примера возьмем видео 720P, предполагая, что средний битрейт составляет 1,725 ​​Мбит/с, тогда размер видео 800K составляет около 4 секунд.

Для удобства воспользуемся схемой, показывающей процесс 3*800:

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

Почему это разумное решение?

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

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

Кроме того, когда было запущено решение для предварительной загрузки, наш аналитик данных также упомянул:Хотя уменьшение размера предварительной загрузки может снизить стоимость, но качество картонной коробки серьезно ухудшается.Фиксированное решение 3 * 800K принимается в краткосрочной перспективе, а динамическая регулировка размера предварительной загрузки продвигается в долгосрочной перспективе..

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

Идеальная ситуация заключается в том, что размер предварительной загрузки совпадает с размером воспроизведения, поэтому эффективность предварительной загрузки видео составляет 100%. Если мы предзагружаем 1000К, а пользователь видит только 500К, то эффективность предзагрузки 50%, а потерянные 500К - это золото.Извините, эффективность предзагрузки - это просто утиные яйца в это время, и мы тратим много денег. Теперь определим формулу, используемую для оценки эффективности предзагрузки:

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

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

Оптимизация

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

Оставив в стороне эти сложные факторы и переменные, давайте переосмыслим взаимосвязь между поведением предварительной загрузки видео и поведением пользователей при просмотре. Мы предполагаем пользователей с двумя типичными поведениями:

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

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

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

разработка функций

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

Выбор алгоритма

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

предсказание вывода

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

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

Предварительное планирование задач

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

Сквозной мониторинг производительности

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

trace.jpg

Проблемы и вызовы

Арбуз начал реализовывать эту сцену в декабре прошлого года, и потребовалось около 1,5 двух месяцев, чтобы наконец получить преимущества и выйти в онлайн в полном объеме.Кроме того, праздник Весны должен быть 2 двухмесячных.Почему это?Масштаб от отрицательного к положительному, с какими проблемами мы столкнулись?

Время вывода

В предыдущих экспериментах (v1.0~v3.0) мы обнаружили, что группа интеллектуальной предзагрузки уступала онлайн-стратегии по времени первого кадра и другим показателям, например, время первого кадра увеличилось на 2 мс. После различных технических средств и анализа данных мы, наконец, определили, что такие факторы, как параметры вывода агрегации на терминале и трудоемкость вывода, будут косвенно влиять на рыночные индикаторы. С этой целью мы предложили различные методы оптимизации в конце, такие как определение размера шага, асинхронное планирование, прогрев первого нажатия, оптимизация модели и другие решения, и, наконец, связали соответствующие показатели и определили значительные преимущества.

стоимость пропускной способности

Учет затрат на пропускную способность зависит от многих факторов и подвержен отклонениям, особенно в таком сложном бизнес-сценарии, как Xigua Video, как точно измерить преимущества пропускной способности, обеспечиваемые решением, очень сложно. При поддержке многих студентов из команды разработчиков плеера и видео мы, наконец, определили, что стоимость полосы пропускания в экспериментальной группе (95-й процентиль) снизилась в среднем на 1,11% по сравнению с онлайн-группой.

netbrade.jpg

пиковая модель

Во многих случаях пользователь имеет привычку показывать этапы, поэтому мы также предлагаем пиковую модель для принятия более подробных решений в течение периода высокой/низкой пиковой нагрузки пользователя. (Ограничено тем, что бизнес слишком актуален, я не буду объяснять это подробно. Студенты, которые хотят знать больше, могут присоединиться к Byte, чтобы быть коллегами!)

Экспериментальные преимущества

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

  • Общая пропускная способность -1,11%, пропускная способность предварительной загрузки -10%;
  • Частота отказов воспроизведения среднего видео составляет -3,372%, частота отказов невоспроизведенных видео -3,892%, скорость зависания -2,031%, количество зависаний за 100 секунд -1,536%, а скорость проникновения замерзание составляет -0,541%.

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

Статус и сводка

Текущее состояние интеллекта в конце арбуза

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

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

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

новые идеи, новые попытки

Для многих инженеров на стороне клиента может возникнуть вопрос, как нам быть с конечным интеллектом или чем он отличается от того, как мы решали проблемы раньше? Терминальный интеллект не является новым существом от 0 до 1. Это просто естественное продолжение развития облачного интеллекта до настоящего времени. Система, стоящая за ним, по-прежнему является машинным обучением. Для клиента это обеспечивает новый образ мышления: от от правил к управляемым данными к модели. Мы можем использовать его, чтобы найти точку комбинирования в соответствующем бизнес-сценарии и в конечном итоге добиться лучших результатов.

Итак, для инженеров-клиентов, как проникнуть в эту область или что мы можем сделать, если хотим понять конечный интеллект?

понимать основы

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

  • Понимать процесс развития искусственного интеллекта и знать, почему глубокое обучение стало мейнстримным направлением;
  • Изучите некоторые популярные классические алгоритмы и проблемные области, которые можно решить, и вы обнаружите, что способ мышления о некоторых предыдущих проблемах по-прежнему соответствует современному глубокому обучению;
  • Понимать общие архитектуры нейронных сетей, знать роль различных сетевых слоев (таких как сверточные слои/слои объединения в CNN и т. д.) и то, как все это организовано.

Миграция модели и практика

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

оптимизация производительности

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

Для большинства инженеров-клиентов в дополнение к традиционным решениям по оптимизации, основанным на бизнес-сценариях, также может потребоваться оптимизация и развертывание логических выводов. Для оптимизации логических выводов, помимо использования моделей и платформ, также существуют ситуации, которые необходимо оптимизировать на основе аппаратного обеспечения, например оптимизация набора инструкций Neon/SSE/AVX, Qualcomm (Qualcomm GSP/GPU), Huawei (Huawei NPU) и другие технологии аппаратного ускорения.

Примите AIOT

Будь то граничные вычисления или терминальный интеллект, его носителем являются не только мобильные телефоны, но и различные встраиваемые устройства. Например, замки с отпечатками пальцев, камеры наблюдения, дроны и т. д. в сфере безопасности. Для нас есть много устройств, которые можно использовать для тренировки рук, таких как Raspberry Pi, версия Coral для разработки, оснащенная чипом TPU, Intel® Movidius™ Neural Compute Stick и т. д., и с ними можно сделать много интересных вещей.

Присоединяйтесь к нам

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

прямая трансляция: мы являемся командой, отвечающей за предоставление услуг прямой трансляции для всех приложений ByteDance, включая, помимо прочего, Douyin, Volcano, Toutiao, Watermelon Video, Pipi Shrimp, Understanding Chedi, Tomato Novel, Tomato ChangTing и т. д. Команда прямых трансляций отвечает не только за технологические исследования и разработку платформы прямых трансляций, предоставляя стабильные базовые услуги для прямых трансляций; она также отвечает за исследования и развитие бизнеса прямых трансляций и стремится предоставлять пользователям самый экстремальный опыт прямой трансляции.

Если вы увлечены технологиями и хотите создать с нами самые экстремальные прямые трансляции, вы можете присоединиться к центру прямых трансляций.Независимо от того, набираете ли вы Дэниелса или набираете первокурсников осенью 2022 года, вы можете связаться с адресом электронной почты для внутренние рефералы:liudongdong.rd@bytedance.com, тема письма: Имя-Год работы-Центр прямого вещания-Android/iOS.

арбуз видео: Добро пожаловать в команду клиента ByteDance Watermelon Video. Мы сосредоточены на разработке и технической конструкции приложения Watermelon Video. Если вы также хотите преодолеть технические проблемы и решить более сложные технические задачи, присоединяйтесь к нам! Команда клиента видео арбуза активно набирает архитекторов Android и iOS и инженеров по исследованиям и разработкам. В Пекине, Шанхае, Ханчжоу и Сямэне открыты вакансии для социального найма, набора в школы и стажировок. Добро пожаловать, чтобы отправить свое резюме в почтовый ящик:liaojinxing@bytedance.com, тема письма: имя-арбуз-видео-рабочее место-Android/iOS.