Легко играть с мобильным ИИ, Pitaya, интегрированной интеллектуальной структурой терминала одним щелчком мыши.

искусственный интеллект
Легко играть с мобильным ИИ, Pitaya, интегрированной интеллектуальной структурой терминала одним щелчком мыши.

Автор: Byte Mobile Technology - Бай Куньлунь

1. Что такое терминальный интеллект?

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

  1. Обеспечьте лучшую вычислительную мощность с помощью SoC, разработанных специально для возможностей ИИ
  2. Зрелость технологии упрощенного механизма вывода (например, TensorFlow Lite) более удобна для мобильных устройств с ограниченной вычислительной мощностью.
  3. Технология сжатия модели значительно уменьшает размер модели, что делает возможным ее развертывание на мобильных устройствах.

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

  1. Низкая задержка: экономит задержку сетевых запросов.
  2. Безопасность: лучше защитить данные о конфиденциальности пользователей
  3. Настройка: Локальное обучение проводится в соответствии с привычками пользователей и итеративно шаг за шагом оптимизируется, чтобы действительно достичь пользовательской настройки.
  4. Более богатые функции: можно получить более богатые пользовательские функции для повышения точности прогнозирования.
  5. Экономия облачных ресурсов: в сочетании с облачными рассуждениями предварительная обработка выполняется на терминале, что снижает нагрузку на вычислительную мощность облачных вычислений.
  6. Расширенные сценарии использования. Интеллектуальные сценарии, такие как распознавание лиц, распознавание жестов, перевод, предсказание интересов и поиск изображений, широко используются, и появляются новые сценарии приложений.

В применении терминального интеллекта такие гиганты, как Google, Facebook и Apple, были в авангарде. Google предложил концепцию «рекомендательного приложения для Android», которое рекомендует контент на основе интересов пользователей. Apple Face ID и рекомендации Siri также являются представителями интеллектуальных приложений для терминалов.

image-20210406104907712
Рис. 1-1 Рекомендованное приложение для Android

В Китае Alibaba, Tencent и другие компании также предпринимали попытки сквозной разведки. Али реализовал внедрение сквозного интеллекта в нескольких сценариях, таких как перестановка списка детей, интеллектуальное обновление, прогнозирование точки проскальзывания, интеллектуальное нажатие и Polaroid (поиск изображений по изображению) в ручном дао, и запустил нейронную сеть MNN. сетевая среда глубокого обучения. Tencent запустила собственную платформу NCNN и широко применяет комплексные интеллектуальные технологии в области лечения, перевода, игр и интеллектуальных динамиков.

image-20210406110421904
Рисунок 2-2 Схематическая диаграмма типичного процесса интеллектуальной разработки терминала

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

2. Проблемы, с которыми сталкивается терминальный интеллект

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

  1. Эффективность разработки

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

  2. гибкость

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

  3. Сложность среды на устройстве

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

3. Интеллектуальное интегрированное решение терминала Pitaya

Чтобы решить вышеуказанные проблемы, Pitaya и команда MLX провели тесное сотрудничество и совместно создали решение для динамического развертывания с полной связью от конца (облака) до конца (терминала). MLX — это облачная платформа для обучения и разработки моделей, которая обеспечивает обучение, преобразование, отладку, выпуск и A/B модели. Клиентский пакет Pitaya SDK предоставляет встроенные возможности, такие как разработка функций, механизм логических выводов, управление пакетами алгоритмов, управление задачами и мониторинг. Их глубокая интеграция охватывает все аспекты процесса интеллектуального анализа терминалов, что значительно снижает порог применения интеллектуальных терминалов.

Рисунок 3-1 Глубокое слияние возможностей Pitaya-MLX

1. Платформа MLX

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

Рисунок 3-1-1 Схематическая диаграмма архитектуры MLX

Архитектура MLX показана на рисунке 3-1-1:

  • Базовая инфраструктура: предоставляет множество возможностей инфраструктуры для поддержки функций верхнего уровня.
  • ML: обеспечивает поддержку различных платформ машинного обучения, в основном разделенных на три части: планировщик, обучение моделей и обслуживание моделей, которые являются основными возможностями обучения и преобразования моделей.
  • Ядро: основная функция, с которой напрямую контактируют разработчики.В процессе разработки алгоритма MLX предоставляет онлайн-среды редактирования IDE, такие как Notebook и Web Studio, и поддерживает управление рабочим процессом в режиме перетаскивания DAG Designer, что упрощает его использование. В процессе производства модели он охватывает все ссылки, такие как обучение, управление задачами, экспорт и выпуск.
  • Сцена: при поддержке вышеуказанных основных возможностей на платформе MLX можно создавать различные интеллектуальные задачи сцены, такие как: NLP, CV, GDBT, и Pitaya является новым участником.

2. Pitaya

2.1 Пакет алгоритмов

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

image-20210407104620681
Рисунок 3-2-1 Схема совместной работы Pitaya и MLX

2.2 Разработка и отладка

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

Рисунок 3-2-2 Принципиальная схема процесса отладки платформы Pitaya-MLX

2.3 Динамическое развертывание

Когда инженер-алгоритм завершит отладку пакета алгоритмов, текущий проект может быть упакован в пакет алгоритмов. Каждый бизнес-сценарий имеет уникальный бизнес-идентификатор в текущем приложении, а пакет алгоритма привязан к бизнесу. Платформа публикации Pitaya-MLX может настраивать и управлять распространением пакетов алгоритмов из нескольких измерений, таких как приложение, версия приложения, версия ОС и канал для определенного бизнеса. Издательская платформа также реализует соединение данных с платформой A/B, что позволяет проводить беспрепятственное сравнение онлайн-экспериментов и значительно ускоряет проверку результатов онлайн-бизнеса.

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

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

​ Одной из основных компетенций в Pitaya является «разработка функций"Вывод в конце обычно должен генерировать функции, вводимые в модель, из исходных данных, а затем получать результат из вывода модели. Если бизнес-стороне необходимо собирать и сохранять исходные данные самостоятельно, рабочая нагрузка огромна. . Функция разработки функций заключается в том, чтобы помочь бизнесу. Данные о пользовательских функциях на терминале могут быть собраны неинвазивно для последующего анализа и прогнозирования. Разработка функций Pitaya связана с Applog SDK (SDK статистики событий), который поддерживает Applog Событие, которое необходимо использовать в процессе рассуждений в пакете алгоритмов. Конфигурация, когда пакет алгоритмов действует локально, Pitaya может собирать данные в соответствии с конфигурацией пакета алгоритмов. В то же время, Pitaya также предоставляет настраиваемые интерфейсы для связать контексты поведения пользователя, такие как: щелчок, экспозиция, скольжение и т. д. В пакете алгоритмов во время работы исходные данные пользователя могут быть получены с помощью возможности разработки признаков, а входные данные, необходимые для модели, могут быть сгенерированы с помощью данных Этот метод сбора данных обладает большей динамикой и гибкостью, чем традиционные ссылки, что позволяет бизнес-сторонам освободиться от тяжелой работы по обработке данных.

Кроме того, разработка признаков также поддерживает загрузку указанных данных на платформу MLX для обучения модели в облаке, формируя полный цикл данных, как показано на рисунке 3-2-1.

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

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

  1. Инициирование события Applog: Событие Applog может быть инициировано для выполнения через конфигурацию пакета алгоритма.При отслеживании соответствующего события Applog работа пакета алгоритма будет запущена косвенно. Метод триггера должен предоставить бизнес-стороне возможность инициировать выполнение пакета алгоритма через событие Applog, и такие операции, как извлечение данных признаков и предварительная обработка, могут выполняться в пакете алгоритма.
  2. Активный запуск: деловая сторона активно вызывает интерфейс Pitaya (на следующем рисунке показан вызывающий интерфейс на Objective-C) в соответствующем сценарии и времени и может настраивать входные данные и конфигурацию задачи, а также получать результаты вывода в обратном вызове.
- (void)runBusiness:(NSString *)business
        		  input:(PTYInput *_Nullable)input
             config:(PTYTaskConfig *_Nullable)config
       taskCallback:(PTYTaskCallback _Nullable)taskCallback;

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

2.6 Мониторинг задач

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

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

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

image-20210406203956556
Рисунок 3-2-3 Схематическая диаграмма данных мониторинга Pitaya

4. Резюме и перспективы

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

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

В настоящее время многие линейки продуктов, такие как Douyin, Toutiao и Xigua, уже начали практику и исследование терминального интеллекта на основе Pitaya.Будущее направление развития Pitaya запланировано следующим образом:

  1. Разработка функций. Расширьте возможности разработки функций, в полной мере используйте сквозную уникальную информацию и объединяйте облачные данные для получения более полных и точных данных.
  2. Самостоятельное построение модели: самый распространенный сценарий использования терминального интеллекта заключается в постоянном обучении в соответствии с собственными поведенческими характеристиками пользователя, чтобы в большей степени соответствовать его привычкам. Для достижения этого эффекта необходимо решить проблемы локальных обучающих данных и локального обучения модели, а также установить механизм управления для оценки точности модели и отката.
  3. Создание общих возможностей искусственного интеллекта. Для распространенных сценариев использования (прогнозирование состояния сети и т. д.) Pitaya может создавать соответствующие возможности и быстро предлагать их бизнес-партнерам.

О команде мобильной платформы Byte

Команда мобильных платформ ByteDance (Клиентская инфраструктура) является лидером в крупной индустрии передовых базовых технологий и отвечает за создание крупномасштабной передовой инфраструктуры во всем китайском регионе ByteDance, повышение производительности, стабильности и инженерных решений. Эффективность всей линейки продуктов компании, вспомогательных продуктов, включая, помимо прочего, Douyin, Toutiao, Watermelon Video, Volcano Video и т. д., она была тщательно исследована на мобильных терминалах, веб-, настольных и других терминалах.

Это снег!Клиент/Фронтенд/Сервер/Тестовая разработкаНайм по всему миру!Давайте использовать технологии, чтобы изменить мир вместе, заинтересованные могут обращаться по электронной почтеchenxuwei.cxw@bytedance.com,Тема письмаРезюме-Имя-Работа Намерение-Телефон.