Прямое сравнение четырех фреймворков автоматического машинного обучения на 87 наборах данных.

Адитья Баладжи и Александр Аллен

Вступление

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

В нашей предыдущей части мы исследовали ландшафт AutoML и выделили некоторые пакеты, которые могут работать для команд по анализу данных. В этой статье мы рассмотрим четыре упомянутых решения полного конвейера: auto_ml, auto-sklearn, TPOT и Решение H2O's AutoML.

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

Методология

Чтобы обеспечить точную и справедливую оценку, было выбрано 87 открытых наборов данных, 30 регрессий и 57 классификаций из OpenML, онлайн-хранилища стандартных наборов данных машинного обучения, доступных через REST API в согласованном манера. Разделение наборов данных предоставляет широкий выбор табличных наборов данных, которые могут быть найдены в задаче машинного обучения для бизнеса. Большое внимание было уделено выбору наборов данных для предотвращения загрязнения проверочных наборов. Например, автосклейнер использует горячий старт, который уже обучен на наборе наборов данных OpenML. Подобных наборов данных избегали.

Каждая из четырех структур, auto_ml, auto-sklearn, TPOT и H2O, была протестирована с их предложенными параметрами по 10 случайным начальным значениям для каждого набора данных. Оценка F1 (взвешенная) и среднеквадратическая ошибка были выбраны в качестве критериев оценки для задач классификации и регрессии соответственно.

Ограничение в 3 часа использовалось для ограничения каждого метода AutoML временным интервалом, который отражает первоначальный исследовательский поиск, выполняемый многими группами специалистов по анализу данных. Таким образом, расчетное время вычислений составило 10 440 часов. В результате мы решили оценить модели с использованием пакетной службы AWS для распараллеливания этой задачи с использованием оптимизированных для вычислений экземпляров EC2 C4, выделяющих 2 виртуальных ЦП и 4 ГБ памяти на каждый запуск.

Мы использовали подход «максимальных усилий», чтобы убедиться, что все тесты выполнены и все тесты имеют как минимум 3 шанса на успех в течение 3-часового лимита. В некоторых случаях вычислительные среды AWS Batch и управление ресурсами на основе докеров приводили к непредсказуемому поведению. Чтобы преодолеть это, мы разработали индивидуальный подход «на чистом железе» для репликации AWS Batch на инстансах EC2 с более детальным контролем над управлением памятью для каждого процесса. В частности, диспетчер памяти докеров отправлял сигнал уничтожения процессу тестирования, если объем памяти, используемый процессом, превышал объем, выделенный пакетной службой. Это жесткое ограничение нельзя изменить без значительного увеличения размера экземпляра за запуск. Используя те же вычислительные ограничения, мы протестировали запуски, которые потерпели неудачу в этих очень специфических условиях, в нашей пользовательской реализации «голого железа».

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

Полученные результаты

На рисунке 1 показано разнообразие выбранных нами наборов данных. Вы можете видеть, что классификация обычно является двоичной, а количество строк регрессии относительно однородно, в то время как количество строк классификации смещено в сторону наборов данных около 1000 строк. Количество признаков как для регрессии, так и для классификации сосредоточено вокруг 10 признаков с небольшим смещением классификации в сторону 100. Мы считаем, что эта группа данных представляет собой репрезентативную выборку общих проблем науки о данных, с которыми могут столкнуться многие специалисты по данным.

Рисунок 1. Характеристики необработанного набора данных разделены между проблемами классификации и регрессии

Некоторым фреймворкам не хватило времени для конкретных семян и фреймворков. Всего было отброшено 29 комбинаций прогонов (набор данных и начальное число). Эти комбинации прогонов были исключены из всех структур, чтобы поддерживать сопоставимость отдельных структур. В результате этого процесса было отброшено в общей сложности 132 точки данных (29 * 4), что составляет примерно ~ 3% в целом (116/3480 прогонов).

Рис. 2. Средние показатели эффективности для наборов данных классификации.

Рис. 3. Средние показатели производительности фреймворка между наборами данных регрессии

Каждая структура оценивалась как на наборах данных регрессии, так и на классификациях, упомянутых выше. Их производительность была рассчитана путем агрегирования взвешенной оценки F1 и оценок MSE по наборам данных по фреймворку. Каждая метрика была стандартизирована для каждого набора данных в рамках разных платформ и масштабировалась от 0 до 1. В случае MSE эти значения были инвертированы, что означает, что более высокие значения представляют лучшие результаты, так что графики будут оставаться согласованными между классификационной и регрессионной визуализацией. Среднее значение по 10 оцененным начальным значениям представляет производительность фреймворка для определенного набора данных. На рисунках 2 и 3 более темные оттенки указывают на большую разницу в производительности.

Рисунок 4. Эффективность платформы для всех наборов данных классификации

Рисунок 5. Производительность платформы для всех наборов данных регрессии

Мы использовали коробчатые диаграммы, чтобы продемонстрировать производительность каркаса здесь, на рисунках 4 и 5. Вырезки на прямоугольных диаграммах представляют собой доверительный интервал медиан. Средние значения и стандартные отклонения в таблице 1 показывают точные различия.

Таблица 1. Точные результаты для каждой структуры

Заключение и интерпретация

В целом, каждая визуализация и интерпретация представляют одну и ту же картину. Auto-sklearn лучше всего работает с наборами данных классификации, а TPOT лучше всего работает с наборами данных регрессии. Важно отметить, что количественные результаты этого эксперимента имеют чрезвычайно высокая дисперсия, и поэтому, вероятно, важнее думать о состоянии кодовой базы, продолжающейся разработке, наборе функций и целях этих отдельных фреймворков, а не об автономной производительности. Мы рекомендуем как TPOT, так и auto-sklearn из-за этих факторов и из-за нашего взаимодействия с каждым из их сообществ на протяжении всего времени, когда мы работали над этим анализом.

Каждый из пакетов (Auto-sklearn, TPOT, H2O, Auto_ml), полная статья и реализация бенчмаркинга связаны здесь.