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

Adobe Sensei ML Framework создан с одной целью: демократизировать ИИ в Adobe. Другими словами, это означает рост экосистемы, которая упрощает создание эффективных производственных функций машинного обучения и быстрое их продвижение на рынок. Это масштабное решение проблемы машинного обучения. В августе мы рассмотрели внутреннее устройство фреймворка, ориентированного на предоставление персонализированного опыта через Data Science Workspace. DSW - это инструмент Adobe, позволяющий быстро донести до пользователей понимание контента и аналитические данные, помогая им более эффективно получать доступ к данным и извлекать из них ценные сведения.

Прежде чем мы перейдем к деталям структуры и тому, как она используется в Adobe другими интересными способами, давайте кратко рассмотрим одну из функций «Smart Crop», основанную на этой структуре.

Adobe Sensei ML Framework

Мы наблюдаем тенденции роста внутренних платформ искусственного интеллекта во многих различных компаниях: у Uber есть Michelangelo, у Facebook есть FBLearn, а у Adobe есть Adobe Sensei. Развитие этих платформ необходимо из-за специфических потребностей компаний; Эти потребности не могут быть удовлетворены с помощью платформ общего назначения, а строгость и рабочий процесс, необходимые для поддержания масштаба для каждой компании, требуют внутренней структуры машинного обучения.

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

  • Диапазон типов контента не ограничивается изображениями и видео, а охватывает сложный портфель типов контента, таких как PDF, PSD, AE и т. Д.
  • Набор продуктов Adobe поддерживается на широком спектре пользовательских устройств, и поддержка машинного обучения на различных типах оборудования с одинаковыми требованиями создает свои собственные проблемы. Как эффективно запустить алгоритм на ЦП, когда он был обучен для высокопроизводительного графического процессора?
  • Продукты Adobe имеют разнообразный круг пользователей. Создание функций, которые масштабируются от новичков до экспертов в таких инструментах, как Photoshop, - непростая задача. Это требует от вас взглянуть на машинное обучение с другой точки зрения. Ваш ИИ растет и меняется по мере того, как ваш пользователь меняется с течением времени.
  • Учитывая нашу приверженность инновациям, мы всегда расширяем границы исследований и должны быть уверены, что всегда работаем с новейшей инфраструктурой. Мы никогда не хотим ограничиваться одной технологией. Одновременная работа с несколькими различными технологиями и их объединение в единое целое сопряжены со своими проблемами.

Три столпа Adobe Sensei ML Framework

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

  • Схема обучения сенсея
  • Сенсейский вывод и структура обработки контента
  • Sensei на устройстве

Более подробный взгляд на Adobe Sensei Training Framework

Цель нашей обучающей программы - научить исследователей, работающих в области искусственного интеллекта и машинного обучения, приступить к работе за минимальное время и в то же время предоставить им гибкость в использовании инструментов, к которым они привыкли. Этот фреймворк предоставляет исследователям SDK и шаблоны для всех популярных фреймворков машинного обучения, таких как Tensorflow, Pytorch и т. Д., Так что они могут немедленно начать работу, не беспокоясь о настройке среды. Эти исследователи начинают с выбора фреймворка и типа вычислений, которые им потребуются, и в Training Framework они мгновенно подготовлены для них.

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

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

Заглядывая в будущее, мы разрабатываем более стандартизированные инструменты оценки и визуализации, чтобы исследователям было проще найти общие способы оценки моделей. Мы также изучаем новые технологии, такие как AutoML, для настройки гиперпараметров и выбора архитектуры нейронной сети.

Структура вывода и обработки контента: решение уникальных задач масштабирования

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

Для Adobe Sensei ML Framework мы создали инфраструктуру, которая не зависит от облака и может масштабироваться вверх и вниз по мере необходимости. Он также предоставляет возможности для настройки управления доступом, политик ограничения скорости и многого другого. Это делается путем расширения «движка», чтобы он имел файл спецификации сервиса, созданный фреймворком и основанный на вашем выборе. Это помогает развернуть модель в интерактивном и автономном режимах всего за несколько щелчков мышью.

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

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

Создание на устройстве фреймворка для машинного обучения

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

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

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

Adobe Sensei Content Framework: ускорение инноваций в области искусственного интеллекта

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