OptimalFlow – это высокоуровневый набор инструментов API, помогающий специалистам по обработке и анализу данных создавать модели комплексным образом и автоматизировать рабочий процесс машинного обучения с помощью простых кодов.

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

Он перестроил структуру автоматизированного машинного обучения, переключив внимание с автоматизации отдельных компонентов конвейера на более высокий уровень рабочего процесса, создав автоматизированный ансамбль конвейеров (кластер конвейеров), эксперименты по обходу и механизмы оценки. Другими словами, OptimalFlow выходит за рамки одного конвейера, рассматривая весь конвейер как единое целое и автоматизируя создание всех возможных конвейеров для оценки, пока не будет найден один из них. приводит к оптимальной модели. Таким образом, когда мы говорим, что конвейер представляет собой автоматизированный рабочий процесс, OptimalFlow предназначен для объединения всех этих рабочих процессов и поиска оптимального. Это также причина назвать его OptimalFlow.

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

Общий рабочий процесс машинного обучения автоматизирован с помощью стратегии «единого конвейера», которая впервые представлена ​​и хорошо поддерживается библиотекой scikit-learn. На практике специалистам по данным необходимо проводить повторяющиеся эксперименты в каждом компоненте в рамках одного конвейера, корректировать алгоритмы и параметры, чтобы получить оптимальную базовую модель. Я называю этот механизм работы «Повторяющиеся эксперименты с одним конвейером». Независимо от классического машинного обучения или современных популярных библиотек AutoML, трудно избежать этого эксперимента, ориентированного на единый конвейер, который является самой большой проблемой в рабочем процессе контролируемого моделирования.

Основная концепция/улучшение в OptimalFlow – это эксперименты по обходу кластера конвейера, которые представляют собой теорию структуры, впервые предложенную Тони Донгом на конференции Genpact 2020 GVector. , чтобы оптимизировать и автоматизировать рабочий процесс машинного обучения с использованием алгоритма ансамблевых конвейеров.

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

OptimalFlowсостоит из 6 модулей, приведенных ниже, вы можете найти более подробную информацию о каждом модуле в документации здесь

  • autoPP для предварительной обработки признаков
  • autoFS для выбора признаков классификации/регрессии
  • autoCV для выбора и оценки модели классификации/регрессии
  • autoPipe для экспериментов по обходу кластера конвейера
  • autoViz для визуализации кластера трубопроводов
  • autoFlow для регистрации и отслеживания.

Есть несколько живых блокнотов (на binder) и демо в документации.

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

Таким образом, OptimalFlow имеет несколько полезных свойств для специалистов по данным:

  • Простота и минимум кода – высокоуровневые API для реализации экспериментов по обходу конвейерного кластера, а каждый компонент машинного обучения отличается высокой степенью автоматизации и модульностью;
  • Хороший ансамбль. Каждый ключевой компонент представляет собой набор популярных алгоритмов с включенной настройкой гиперпараметров;
  • Всеобъемлющее покрытиеЭксперименты по обходу кластера конвейера предназначены для перекрестных экспериментов со всеми ключевыми компонентами машинного обучения, такими как комбинированные перестановочные наборы входных данных, выбор функций и выбор модели;
  • Масштабируемость и согласованность — в каждый модуль можно легко добавлять новые алгоритмы благодаря своей ансамблевой и многоразовой конструкции; нет необходимости дополнительно модифицировать существующие коды;
  • Адаптируемыйэксперименты по обходу кластера конвейера упрощают адаптацию невидимых наборов данных с помощью правильного конвейера;
  • Пользовательские изменения приветствуются — поддержка пользовательских настроек для добавления/удаления алгоритмов или изменения гиперпараметров для эластичных требований.

В качестве начальной стабильной версии для выпуска приветствуется любая поддержка! Пожалуйста, не стесняйтесь делиться своими отзывами, сообщать о проблемах или присоединяться в качестве участника на GitHub OptimalFlow здесь.