Вибір найкращої рамки AutoML

Порівняння чотирьох систем автоматичного машинного навчання на 87 наборах даних.

Адітія Баладжі та Олександр Аллен

Вступ

Автоматичне машинне навчання (AutoML) може принести AI в охоплення значно ширшої аудиторії. Він надає набір інструментів, щоб допомогти командам із даних, що мають різний рівень досвіду, прискорити процес наукових даних. Ось чому AutoML проголошується як рішення демократизації ШІ. Навіть із досвідченою командою ви можете використовувати AutoML, щоб отримати максимальну користь від обмежених ресурсів. Хоча існують фірмові рішення, які надають машинне навчання як послугу, варто переглянути сучасні рішення з відкритим кодом, які відповідають цій потребі.

У нашому попередньому творі ми дослідили пейзаж AutoML та виділили деякі пакети, які можуть працювати для команд з наукових даних. У цій статті ми дослідимо чотири згадані чотири рішення "повного конвеєра": auto_ml, auto-sklearn, TPOT та рішення AutoML H2O.

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

Методика

Для забезпечення точної та справедливої ​​оцінки було обрано вибір з 87 відкритих наборів даних, 30 регресії та 57 класифікацій із OpenML, онлайн-сховища стандартних наборів даних машинного навчання, що піддаються послідовному експоненту через API REST. Розщеплення наборів даних забезпечує широку вибірку табличних наборів даних, які можуть бути знайдені в проблемі машинного навчання в бізнесі. Багато уваги було приділено вибору наборів даних для запобігання забрудненню наборів перевірки. Наприклад, auto-sklearn використовує теплий старт, який вже тренується на наборі наборів даних OpenML. Такі набори даних уникнуто.

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

Для обмеження кожного методу AutoML було обмежено 3 години, що відображало початковий пошуковий пошук, проведений багатьма командами з наукових даних. Це призводить до розрахункового часу обчислення в 10,440 годин. Як результат, ми вирішили оцінити моделі, використовуючи пакетну службу AWS для обробки паралелізації цього завдання, використовуючи обчислені EC4 оптимізовані C4 екземпляри, виділяючи 2 vCPU та 4 ГБ пам'яті за пробіг.

Ми використовували підхід з усіх зусиль, щоб переконатися, що всі випробування пройшли, і щоб усі тести мали принаймні 3 шанси на успіх у межах 3-годинної межі. У деяких випадках обчислювальне середовище AWS Batch та управління ресурсами на основі докера призвели до непередбачуваної поведінки. Щоб подолати це, ми розробили нестандартний «голий метал» підхід для тиражування пакету AWS на екземплярах EC2 з більш чітким контролем за процесом управління пам'яттю. Зокрема, менеджер пам'яті докера надсилав сигнал вбивства до процесу тестування, якщо обсяг пам'яті, який використовується процесом, перевищував кількість, виділену Batch. Цей жорсткий ліміт неможливо змінити без значного збільшення розміру екземпляра за цикл. Використовуючи ті самі обчислювальні обмеження, ми перевірили пробіги, які не вдалися в цих дуже специфічних умовах на нашій спеціальній реалізації «голого металу».

Також під час виконання цих тестів ми виправили кілька помилок у структурах з відкритим кодом, які описані в нашому повному документі. Після цих виправлень жоден із наборів даних прямо не вдався. Ці збої, як правило, приховувались від щоденного використання, але виявлялися під час масштабів тестування, яке проводилось.

Результати

На малюнку 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: Точні результати за рамками

Висновок та інтерпретація

Загалом кожна візуалізація та інтерпретація представляє однакову картину. Автосклеарн виконує найкращі показники класифікаційних наборів даних, а TPOT - найкращий на регресійних наборах даних. Важливо зауважити, що кількісні результати цього експерименту мають надзвичайно великі розбіжності і, як такий, ймовірно, важливіше думати про стан бази коду, постійний розвиток, набір функцій та цілі цих індивідуальних рамок, а не про автономне виконання. Ми рекомендуємо як TPOT, так і автосклеарн через ці фактори і завдяки нашій взаємодії з кожною з їх спільнот протягом часу, коли ми працювали над цим аналізом.

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