В этой четвертой статье нашей серии, посвященной оценке платформ машинного обучения, мы более подробно рассмотрим две платформы, упрощающие масштабирование моделей машинного обучения и внедрение их в производство: DataRobot и Domino Data Labs. Если вы еще не читали наши предыдущие статьи, не стесняйтесь взглянуть на то, почему платформы машинного обучения важны [Часть 1] и как их оценить, чтобы выбрать правильную платформу для правильный вариант использования [Часть 2].

После сравнения Dataiku и H20 в предыдущей статье [Часть 3] мы теперь сосредоточимся на DataRobot и Domino. Хотя и DataRobot, и Domino стремятся упростить процесс масштабирования моделей ИИ, их подход и целевая аудитория существенно различаются. DataRobot, с одной стороны, полностью основан на AutoML и фокусируется на решениях без кода. Domino, с другой стороны, создан для программистов, которые хотят иметь полный контроль над своей моделью и не нуждаются во многих автоматизированных функциях или службах. Давайте подробнее рассмотрим, как это реализовано в различных компонентах платформы машинного обучения.

1. Прием и хранение данных

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

DataRobot продвигает использование своего отдельного сервиса Praxata для обработки данных. Praxata предлагает множество полезных инструментов для преобразования и очистки данных без какого-либо кодирования, но, поскольку это отдельный продукт, который заслуживает отдельной статьи, мы не будем вдаваться в детали Praxata. Учитывая только основной продукт DataRobot без Praxata, возможности преобразования данных ограничены. Следовательно, если вы рассматриваете только основные сервисы DataRobot, качество данных уже должно быть на высоком уровне.

В Domino вы можете выполнять любую обработку данных, которую вы можете выполнять на обычном языке программирования, таком как Python или R, а также на более экзотических языках, таких как SAS и Matlab, путем загрузки рабочей области и кодирования необходимых преобразований. Хотя это отлично подходит для специалистов по данным, разбирающихся в коде, мы иногда упускаем возможность запускать быстрые преобразования в графическом интерфейсе без создания рабочей области. Еще одна функция, которой не хватает в Domino, — это автоматическая проверка качества. Чтобы обнаружить выбросы, отсутствующие значения или просто увидеть распределение переменной, вам снова потребуется запустить рабочую область и выполнить кодирование.

2. Экспериментальная зона

Для экспериментов обе платформы поставляются с хорошо разработанными и зрелыми, но принципиально разными предложениями. Зона экспериментов DataRobot построена вокруг графического интерфейса, в котором вы можете запускать выбор различных моделей несколькими щелчками мыши. Разработка функций выполняется автоматически в рамках общего обучения модели без предоставления дополнительных сведений пользователю. DataRobot в значительной степени полагается на AutoML, чтобы предложить наиболее подходящую модель, и представляет производительность на основе выбранной метрики в таблице лидеров. Оттуда мы, как пользователь, можем настраивать модели, настраивать гиперпараметры и сравнивать производительность с исходной моделью. В пользовательском интерфейсе также есть удобные способы визуализации моделей и извлечения из них информации. Это особенно полезно при работе над темами объяснимого ИИ, когда вы не просто хотите знать, каков результат, но и почему модель машинного обучения предсказывает его таким образом.

Напротив, эксперименты в Domino проводятся в среде программирования. Вы можете запустить рабочее пространство по своему выбору, например Jupyter Notebook, RStudio или VSCode, и создавать среды на знакомом вам языке программирования. Результаты прогонов модели, а также сами модели можно сохранить и экспортировать, как если бы вы работали на своем локальном компьютере. Основное преимущество по сравнению с локальным компьютером заключается в том, что ваше рабочее пространство представляет собой контейнер Docker, работающий в предоставленном кластере, и обладает гибкой и масштабируемой вычислительной мощностью. Кроме того, контейнерами и средами Docker можно легко делиться, и другие могут совместно работать над вашими экспериментами, не беспокоясь об установке нужных пакетов и зависимостей. Domino также позволяет выполнять код в рамках так называемого эксперимента. Это позволяет выбирать инфраструктуру, задавать гиперпараметры и сохранять все отслеживаемые артефакты во время выполнения кода, что помогает организовать множество различных запусков экспериментов в одном интерфейсе.

3. Непрерывная интеграция

Процесс интеграции в DataRobot предназначен для людей, которые, возможно, мало что слышали о CI/CD, и поэтому он не предлагает реальных конвейеров CI/CD. Вместо этого только что обученные модели отправляются в DataRobot MLOps, и администратор может проверить и утвердить новые модели непосредственно из пользовательского интерфейса. В платформу DataRobot можно импортировать разработанные извне модели, чтобы использовать DataRobot MLOps через оболочку кода на Python. Встроенного хранилища функций нет, но самые базовые функции могут быть достигнуты путем сохранения и совместного использования запросов Spark SQL как части пользовательского интерфейса DataRobot. Модели можно хранить в реестре моделей и делиться ими с другими людьми. Однако невозможно легко экспортировать модели для использования за пределами DataRobot.

Domino поставляется с глубокой интеграцией с Git. Это упрощает запуск стандартных функций Git CI/CD. Например, вы можете создавать разные ветки и назначать рецензентов для ваших изменений. Однако в Domino нет встроенного процесса CI/CD и интегрированной среды тестирования. Таким образом, все этапы CI/CD должны быть покрыты дополнительными инструментами и службами за пределами Domino, чтобы обеспечить полный процесс CI/CD. В отличие от DataRobot, можно экспортировать модели из Domino в виде образов Docker и запускать их вне Domino. Также нет встроенного Feature Store, но возможна внешняя интеграция. В Domino также нет хранилища моделей, и регистрация метаданных артефакта модели должна выполняться вручную.

4. Зона индустриализации

Переобучение моделей — вот где в DataRobot возникают сложности. Если вы хотите переобучить модель на новых данных, вам нужно будет вернуться в зону экспериментов, открыть свою модель из реестра моделей и снова запустить ее вручную. Мы считаем, что это тот момент, когда DataRobot, безусловно, имеет место для совершенствования, поскольку постоянное переобучение становится решающим фактором при индустриализации моделей. Функции мониторинга хорошо реализованы, и вы можете визуализировать все важные показатели и создавать настраиваемые правила уведомления, когда ваши модели ведут себя непредвиденно с помощью DataRobot MLOps. Что касается мониторинга, нам не хватает только комплексного ведения журнала.

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

5. Представление данных

Если вы хотите перенести свои модели из DataRobot во внешний мир, вы можете развернуть их как REST-API. Существует также возможность создания очень простых веб-приложений, но они в основном используются для моделей оценки. Одной из особенностей DataRobot является так называемый режим претендента, в котором различные модели могут сравниваться друг с другом, чтобы сравнить производительность и проверить, лучше ли новая модель, чем базовая модель. Контейнеризация все еще находится в бета-режиме, и вскоре мы можем увидеть некоторые улучшения в этой области, но пока не следует полагаться на контейнерные модели. Для представления результатов DataRobot предлагает интеграцию с Tableau, Alteryx, а также с Excel, а REST-API можно интегрировать в любой код, чтобы включать модели в специализированные программные решения.

Модели Domino также могут быть развернуты как REST-API или веб-приложения. Одним из преимуществ Domino является встроенная контейнеризация. Каждая среда поставляется в виде контейнера Docker, версия которого автоматически обновляется Domino и может быть легко передана и использована в качестве микросервиса за пределами Domino. Функция, которой все еще не хватает, — это простая в использовании среда тестирования. В Domino нет встроенного инструмента для A/B-тестирования или канареечных релизов.

6. Результат и ожидания

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

Хотя DataRobot прост в использовании, он ограничен в выборе алгоритмов, предлагаемых для моделей машинного обучения. Если вы хотите использовать самые современные модели НЛП или компьютерного зрения, вам следует проверить, поддерживает ли их DataRobot. Тем не менее, при работе со структурированными данными это надежная платформа с хорошими возможностями для совместной работы.

Domino особенно хорошо подходит, когда несколько специалистов по данным, разбирающихся в коде, хотят совместно работать над проектом. Настоящей изюминкой Domino является его интеграция с Jira, что позволяет заинтересованным сторонам из ИТ и бизнеса легко отслеживать разработку моделей ML и вариантов использования Data Science. Интеграция с Git, а также встроенная возможность контейнеризации позволяют легко обмениваться моделями. Гибкость является ключом к Domino, поскольку возможна реализация платформы кодирования для любого варианта использования. Однако за эту гибкость приходится платить: при использовании Domino вам не следует полагаться на решения в один клик ни для экспериментов, ни для развертывания, ни для служб AutoML.

Мы надеемся, что этот обзор DataRobot и Domino окажется для вас полезным. Оставайтесь с нами, так как в следующей статье мы представим больше платформ.