Термином ModelOps по аналогии с DevOps называют процессы, относящиеся к переносу аналитических моделей из лабораторий по исследованию данных в производственную среду, управлению ими, масштабированию по мере необходимости, контролю работоспособности и непрерывному совершенствованию. Пока мало кто практикует ModelOps, но такие компании чаще добиваются успеха.
Как отмечает Джефф Алфорд из компании SAS в статье "ModelOps: How to operationalize the model life cycle", на сегодня в постоянную эксплуатацию в среднем запускаются только 50% моделей машинного обучения, созданных для обработки огромных объемов данных с целью поиска закономерностей, получения полезных сведений и прогнозирования. Более того, на подготовку модели к рабочему запуску уходит не меньше трех месяцев. ModelOps помогает существенно улучшить эти показатели, позволяя максимально быстро переводить модели от стадии разработки к проверке соответствия требованиям, тестированию и вводу в эксплуатацию с сохранением высокого качества результатов.
Обязательный элемент программы внедрения ModelOps — измерение ее собственной результативности на всех этапах пути к достижению целевых показателей масштабируемости и точности, необходимых организации.
Важнейшим компонентом также является мониторинг характеристик всех применяемых моделей и организация «технического обслуживания» тех из них, чья результативность падает. При ухудшении показателей потребуется повторное обучение и развертывание. Для отдельных моделей или их классов рекомендуется создать информационные панели результативности, предварительно установив целевые показатели точности, и контролировать их достижение в периоды разработки, валидации и развертывания, регистрируя дрейф (статистически значимые изменения исходных данных) и снижение качества результатов. Кроме того, нужно следить за показателями бизнеса, которые должна улучшать модель.
Необходимо также отслеживать показатели объема и частоты обновления исходных данных, учитывать их источники, категории и типы. Это поможет, если возникнут проблемы с результативностью, обусловленные изменениями данных и источников.
И, наконец, нужно учитывать потребности модели в вычислительной мощности, памяти и других ресурсах.
Как справедиво отмечает Алфорд, ModelOps помогает решить целый ряд важных задач.
Контроль качества данных. Чтобы не упустить малозаметные изменения данных, влияющие на точность модели, специалисты советуют контролировать качество используемых источников данных настолько, чтобы быть готовым сообщить клиенту, что то или иное решение было принято на их основании; проверять входные данные на прямые и косвенные нарушения требований регуляторов; предотвращать появление предвзятости (систематических ошибок) моделей; учитывать частоту добавления и изменения полей данных; позаботиться о том, чтобы процесс инженерии признаков можно было воспроизвести в рабочей среде.
Сокращение периода времени, проходящего до развертывания. Измерив общую протяженность цикла разработки и развертывания, следует установить цели улучшения этого показателя, если он слишком велик. Стоит разбить процесс подготовки на логические этапы, измерять их результативность, и путем сравнения проектов определять лучшие и худшие практики. Можно рассмотреть возможность внедрения ПО управления моделями, позволяющего автоматизировать часть этой работы.
Деградация моделей. Нужно следить за проявлениями дрейфа и предвзятости, для чего понадобится широкое внедрение практики контроля качества моделей (model stewardship). Если ответственность за характеристики качества будут нести все, от разработчиков до бизнес-пользователей, проблемы можно будет устранять до того, как они негативно отразятся на доходах.
Сохранение точности результатов, предоставляемых моделями, — один из самых трудных элементов машинного обучения, требующий постоянного контроля качества исходных данных. Универсального расписания повторного обучения моделей для предотвращения деградации не существует, так как темпы снижения качества разных моделей различаются, но если неточный прогноз может обойтись слишком дорого, лучше обновлять модель в непрерывном режиме.