AIMO — это аспирин для развертывания модели ИИ.

Джуд Канади, IOMAXIS

Развертывание моделей машинного обучения (ML) в производственных условиях затруднено.

Почему это сложно? Ну тут разные факторы. К ним относятся такие вещи, как:

  • разные форматы входных данных
  • уникальные конвейеры предварительной обработки
  • процедуры обучения и вывода для конкретных моделей
  • постоянство модели

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

AIMO использует JSON API и набор функций машинного обучения, которые разработчики могут переопределять в соответствии с требованиями своей модели. Он обеспечивает обучение модели, вывод, удаление и точную настройку, а также предоставляет интегрированную панель визуализации для анализа прогнозов модели во времени.

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

разработка лучших моделей для старых и новых проблем.

Упрощение развертывания

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

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

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

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

Эти прогнозы записываются в каталог внутри контейнера Docker. Файлы журнала можно экспортировать и визуализировать с помощью собственной информационной панели или визуализировать с помощью предварительно настроенной информационной панели, поставляемой с AIMO.

Визуализация результатов

Панель инструментов AIMO — это упрощенный интерфейс для проверки прогнозов моделей. Поскольку наша первоначальная работа была сосредоточена на моделях обнаружения аномалий для приложений кибербезопасности, эти варианты использования используются здесь в качестве примеров. На панели инструментов есть две основные страницы: домашняя страница, на которой перечислены метаданные и наблюдаемые аномалии для всех регистраций (рис. 1), и страница, на которой отслеживаются оценки аномалий и статистика конкретной машины с течением времени (рис. 2).

Домашняя страница содержит гистограмму, отображающую количество 10 самых аномальных машин, зарегистрированных в системе. Недавние аномалии и входные данные, которые их вызвали, столбец точка данных на рис. 1 и рис. 2, перечислены в интерактивной таблице. По умолчанию строки сортируются с использованием |дельта|. столбец, в котором измеряется относительная разница между оценками аномалий и порогом аномалий, определенным для каждой модели. Чем больше величина этой разницы, тем выше тяжесть аномалии. Этот подход позволяет нам объединять прогнозы всех моделей, сохраняя при этом порядок, иллюстрирующий серьезность конкретной аномалии для конкретной машины. Чтобы узнать больше о том, как работают эти модели, см. DAI: обнаружение аномальных входных данных и MARS: мониторинг аномальных сумм правил (Скоро будет ).

На странице конкретной модели (рис. 2) показан линейный график оценок аномалий во времени. Этот сюжет интерактивен. Пользователи могут настроить визуализацию для изучения определенного периода времени. Красная пунктирная линия указывает пороговое значение аномалии, специфичное для машины. Разработчики могут создать этот порог во время обучения модели и добавить его к прогнозным данным для визуализации. Баллы, которые превышают этот порог, заполняют таблицы «Последние аномалии».

Дальнейшие шаги

AIMO, как и большинство фреймворков, будет постоянно развиваться. Будущие версии будут:

  • сократить время обучения и вывода с помощью многопоточности.
  • включить больше интерактивных компонентов на приборную панель
  • добавьте больше графиков, чтобы дополнительно проиллюстрировать тенденции данных.
  • сократить время рендеринга страницы для панели инструментов
  • повысить безопасность платформы, удалив входные данные для защиты от SQL-инъекций и требуя ключ API для всех взаимодействий с моделью.

Связаться с нами

Мы были бы рады получить известия от вас. Отправьте нам письмо по адресу [email protected]