ModelOps - ModelOps
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
ModelOps (модельные операции) - дисциплина, связанная с DevOps, предназначенный для управления жизненным циклом широкого спектра сложных моделей, включая машинное обучение (ML), искусственный интеллект (AI) и модели оптимизации решений. ModelOps координирует действия между разработкой приложения и модели. Он управляет потоком операций от обучения модели до ввода модели в производство, а затем оценивает и обновляет получившееся приложение в соответствии с набором правил управления. Оно использует AutoAI и такие технологии, как оптимизация решений для построения моделей, в сочетании с непрерывной интеграцией и непрерывным развертыванием (CI / CD ) для регулярного обновления модели. ModelOps определяет каденции между поведением модели во времени и процессами, используемыми для построения, оценки и использования моделей в жизненном цикле разработки приложения. Он предоставляет экспертам в области бизнеса возможность оценивать модели ИИ в процессе производства независимо от специалистов по данным.[1]
ModelOps использует концепцию конвейера, преобладающую в вычислительных процессах, таких как разработка приложений и разработка моделей искусственного интеллекта (AI). При разработке стандартных приложений конвейер - это последовательность процессов, от сбора исходных данных до обучения модели, а затем до развертывания модели для прогнозирования результатов при представлении свежих данных. В AI, конвейер перемещает данные из фазы приема и обработки через несколько этапов преобразования, которые могут включать машинное обучение, обучение модели глубокого обучения, оценку и повторное обучение. ModelOps расширяет конвейер разработки, так что он включает в себя обработку и подготовку данных, обучение и повторное обучение модели, а также непрерывную интеграцию и развертывание в производственной среде. В результате получается приложение, которое при правильном управлении со временем улучшается.
История
В опросе Gartner 2018 года 37% респондентов сообщили, что они использовали ИИ в той или иной форме; однако Gartner указала, что предприятия все еще далеки от внедрения ИИ, сославшись на проблемы с развертыванием.[2] На предприятиях накапливались незадействованные, неиспользованные и необновляемые модели.[3] Независимая аналитическая компания Forrester также затронула эту тему в отчете о поставщиках машинного обучения и прогнозной аналитики за 2018 год: «Специалисты по обработке данных регулярно жалуются, что их модели только иногда или никогда не развертываются. Большая часть проблемы - это организационный хаос в понимании того, как применять и проектировать модели в приложения. Но другая большая часть проблемы - это технологии. Модели не похожи на программный код, потому что им нужно управление моделями ».[4]
В декабре 2018 года Вальдемар Хаммер и Винод Мутусами из IBM Research AI предложили ModelOps как «модель программирования для многоразовых, платформенно-независимых и составляемых рабочих процессов ИИ» в День языков программирования IBM.[5] В своей презентации они отметили разницу между жизненным циклом разработки приложений, представленным DevOps, и жизненный цикл приложения AI.[6]
Традиционный жизненный цикл приложения | Жизненный цикл приложения AI |
---|---|
Требуются навыки DevOps | Включает в себя более разнообразные наборы навыков |
Относительно короткий пробег | Долговечный, ресурсоемкий |
Скорость человека (низкая частота изменения) | Непрерывное обучение / переподготовка |
Несколько версий программных артефактов | Огромное количество моделей |
Линейная эволюция артефактов | Сосуществуют специализированные модели |
Конфигурации, применяемые во время выполнения | Параметры настраиваются во время обучения |
Изменения кодовой базы запускают новые сборки | Изменения данных / кода вызывают переобучение модели |
Детерминированное тестирование | Статистическое / вероятностное тестирование |
Мониторинг производительности приложений и KPI | Мониторинг точности модели, дрейфа и KPI |
Целью разработки ModelOps было устранение разрыва между развертыванием модели и DevOps с помощью модели программирования, которая могла бы привести к созданию бизнес-приложений на основе ИИ. В своей презентации Хаммер и Мутусами описали программное решение для поэтапного развертывания с учетом ИИ и повторно используемых компонентов, которые позволят версиям модели соответствовать бизнес-приложениям и которое будет включать такие концепции модели ИИ, как мониторинг модели, обнаружение дрейфа и активное обучение. Решение также устранит противоречие между производительностью модели и ключевыми показателями производительности (KPI), журналами приложений и моделей, а также прокси-серверами моделей и развивающимися политиками. В предложение входили различные облачные платформы. В июне 2019 года Хаммер, Мутусами, Томас Рауш, Париджат Дубе и Каутар Эль Маграуи представили доклад на Международной конференции IEEE по облачной инженерии (IC2E) 2019 года.[7] Документ расширил презентацию 2018 года, предложив ModelOps в качестве облачной инфраструктуры и платформы для сквозной разработки и управления жизненным циклом приложений искусственного интеллекта (AI). В аннотации они заявили, что структура покажет, как можно расширить принципы управления жизненным циклом программного обеспечения, чтобы обеспечить автоматизацию, доверие, надежность, отслеживаемость, контроль качества и воспроизводимость конвейеров модели ИИ.[8] В марте 2020 года компания ModelOp, Inc. опубликовала первое полное руководство по методологии ModelOps. Целью данной публикации было предоставить обзор возможностей ModelOps, а также технических и организационных требований для реализации практик ModelOps.[9]
В октябре 2020 года ModelOp запустила МодельOp.io, онлайн-центр для ресурсов ModelOps и MLOps. Параллельно с запуском этого веб-сайта ModelOp выпустила шаблон запроса предложений (RFP). Этот шаблон RFP, основанный на интервью с отраслевыми экспертами и аналитиками, был разработан с учетом функциональных требований решений ModelOps и MLOps.[10]
Сценарии использования
Типичный вариант использования ModelOps - это сектор финансовых услуг, где сотни Временные ряды Модели используются, чтобы сосредоточиться на строгих правилах предвзятости и проверяемости. В этих случаях критически важны справедливость и надежность моделей, а это означает, что модели должны быть справедливыми и точными, и они должны работать надежно. ModelOps автоматизирует весь конвейер моделей, используемых для управления данными. Такая автоматизация включает в себя подготовку данных, обучение моделей, мониторинг модели во время ее работы, мониторинг моделей на предмет смещения и других аномалий данных и обновление модели по мере необходимости без нарушения работы приложений. ModelOps - это диспетчер, который следит за тем, чтобы все поезда ходили вовремя и на правильном пути.
Другой вариант использования - мониторинг уровня сахара в крови диабетика на основе данных пациента в режиме реального времени. Модель, которая может прогнозировать гипогликемию, должна постоянно обновляться текущими данными и должна быть доступна в распределенной среде, чтобы информация была доступна на мобильном устройстве, а также передавалась в более крупную систему. Координация, переподготовка, мониторинг и обновление выполняются с помощью ModelOps.
Процесс ModelOps
Процесс ModelOps фокусируется на абстракциях предметной области для платформенно-независимых конвейеров, позволяя ИИ и разработчикам приложений легко подключать возможности жизненного цикла (такие как обнаружение смещения, надежность и надежность или обнаружение смещения) для создания моделей ИИ, а затем запускать их в производство как бизнес-приложения. Процесс начинается с общего представления конвейера AI, которое включает метамодель (спецификация модели) со всеми компонентами и зависимыми частями, которые используются при построении модели, такими как данные, аппаратные и программные среды, классификаторы и плагины кода. Есть объекты, реализованные как Python классы с атрибутами, определенными в JSON схемы и хранятся в файлах разметки, например YAML и JSON. Возможности языка включают импорт подключаемых модулей, заполнители переменных и поток управления. Расширяемость возможна с помощью плагинов, на которые можно ссылаться в конфигурации. Процесс ModelOps координирует следующую последовательность:
- А исполнитель трубопровода генерирует код из спецификации и развертывает полученный конвейер на целевой платформе. Журналы и метрики извлекаются с платформы. Шаблоны конвейеров, которые позволяют включать параметры или опции для создания шаблонов общих шаблонов конвейеров, могут обрабатывать данные обучения, обучать модель и развертывать конвейеры (кандидаты в модели). Шаблоны позволяют легко проводить эксперименты с использованием значений по умолчанию или пользовательских конфигураций.
- Трансформаторы трубопроводные оптимизируйте базовые конфигурации с помощью дополнительных функций, таких как добавление средств защиты развертывания и включение сквозных функций для надежного ИИ. Многоразовые абстракции доменов, которые плавно перемещаются между общедоступной и частной облачной средой, встраивают интеллектуальную информацию в конвейер, автоматически настраивая конвейер во время выполнения, а также управляют всеми зависимыми активами, необходимыми для запуска конвейера.
- Классификаторы, которые представляют собой алгоритмы сортировки данных, тестируются и настраиваются. Обучение модели включает в себя несколько специализированных этапов, и каждый этап требует настраиваемой конфигурации, сопоставления ввода-вывода и многого другого, что может быть утомительным, если выполняется вручную. ModelOps аннотирует объект модели с желаемыми функциями и автоматизирует процесс.
- Поэтапное развертывание управляет развертыванием модели в производственной среде, сравнивает и обновляет версии моделей и скрывает развертывание новых моделей, чтобы постепенно внедрять изменения. Поскольку модели работают в динамических средах, данные и условия имеют тенденцию меняться со временем, создавая неверные или неточные прогнозы. Срок для этого дрейф модели. В процессе ModelOps обнаружение смещения модели отслеживает трафик во время выполнения и выдает предупреждение, если обнаруживается смещение и превышает установленный порог.
ModelOps: эволюция MLOps
MLOps (Операции машинного обучения) - это дисциплина, которая позволяет специалистам по обработке данных и ИТ-специалистам сотрудничать и общаться при автоматизации алгоритмов машинного обучения. Он расширяет и расширяет принципы DevOps для поддержки автоматизации разработки и развертывания моделей и приложений машинного обучения.[11] На практике MLOps включает стандартные модели машинного обучения (ML). Однако разнообразие и использование моделей изменилось, чтобы включить модели оптимизации решений, оптимизация модели и трансформационные модели которые добавляются в приложения. ModelOps - это эволюция MLOps, которая расширяет свои принципы, включая не только рутинное развертывание моделей машинного обучения, но также непрерывное переобучение, автоматическое обновление и синхронизированную разработку и развертывание более сложных моделей машинного обучения.[12] ModelOps относится к введению в действие всех моделей ИИ, включая модели машинного обучения, которыми занимается MLOps.[13]
Рекомендации
- ^ Барот, Соеб. «Основы руководства по внедрению машинного обучения». Gartner. Получено 6 августа 2020.
- ^ «Исследование Gartner показывает, что 37% организаций внедрили ИИ в той или иной форме». Отдел новостей Gartner. 2018-01-21.
- ^ Ву, июнь (2020), ModelOps - ключ к корпоративному ИИ. (опубликовано 31 марта 2020 г.)
- ^ «Решения для мультимодальной прогнозной аналитики и машинного обучения, третий квартал 2018 г.» (PDF).
- ^ «День языков программирования IBM».
- ^ Вальдемар Хаммер и Винод Мутусами, модель программирования для многоразовых, платформенно-независимых и составляемых рабочих процессов ИИ,. IBM Research AI, 10 декабря 2018 г.
- ^ «Международная конференция IEEE по облачной инженерии (IC2E)».
- ^ Хаммер, Вальдемар; Мутусами, Винод. ModelOps: облачное управление жизненным циклом для надежного и надежного ИИ. Международная конференция IEEE по облачной инженерии. Париджат Дубе, Каутар Эль Маграуи. п. 1.
- ^ «Основы ModelOps: лучшие практики для достижения успеха с корпоративным ИИ» (PDF). ModelOp. Получено 7 августа 2020.
- ^ "ModelOps RFP". ModelOps: Центр ресурсов ModelOps и MLOps. Получено 30 октября 2020.
- ^ Талагала, Ниша (30.01.2018). «Почему MLOps (и не только ML) - это новый конкурентный рубеж для вашего бизнеса». AITrends.
- ^ «Создание ModelOps с интеллектуальной автоматизацией для облачных приложений ускоряет рост благодаря инициативам по цифровой трансформации». 451 Исследования.
- ^ Вашистх, Шубханги; Бретену, Эрик; Чоудхари, Фархан; Заяц, Джим. «Используйте трехэтапную структуру MLOps от Gartner для успешной реализации проектов машинного обучения». Gartner. Получено 7 августа 2020.