Корпорация Майкрософт недавно выпустила предварительную веб-версию Службы автоматизированного машинного обучения (AutoML) в Студии машинного обучения Azure.

Я уверен, что многие специалисты по анализу данных и архитекторы науки о данных были бы рады увидеть эти яркие ярлыки на новой услуге: «Без кода», «Автоматизированные эксперименты», «Машинное обучение с самообслуживанием» и многое другое… и некоторые из вас могут спросить:

«Означает ли это, что мы сейчас отсчитываем эру Data Scientists?»

Что ж, утверждение, которое, хотя и отчасти верно, тем не менее, вводит в заблуждение.

Усовершенствованное решение AutoML - это стимул для машинного обучения «самообслуживание и без кода», что приводит к значительно меньшему вкладу со стороны специалистов по данным. Но в настоящее время существует множество аспектов, по которым мы не можем просто заменить роль специалистов по данным на AutoML.

«Кодировка» данных

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

В качестве примера возьмем базовую обработку естественного языка (NLP):

Прежде чем «человеческий язык» пройдет через конвейер обучения, все слова необходимо «перевести» в соответствующие числа (вы можете думать, что это «азбука Морзе») - этот процесс называется кодированием данных.

Хотя для этого есть несколько сложных библиотек, например spaCy, сам AutoML не делает этого за вас (по крайней мере, на данный момент).

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

Сборник алгоритмов

По состоянию на июль 2020 года в Azure Automated ML было 10-15 моделей для каждой из категорий машинного обучения: контролируемое: регрессия, классификация и неконтролируемое: кластеризация.

Справедливо сказать, что набор алгоритмов имеет хороший диапазон охвата, поскольку включены наиболее часто используемые алгоритмы, такие как Random Forest, kNN, GBM и Naïve Bayes.

Однако, если вы «профессиональный» специалист по данным и пользуетесь алгоритмами глубокого обучения, такими как «RNN», «CNN», «DBN», вы действительно оказались весьма разочарованы.

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

Расширенная выборка

Вы можете ожидать, что я прокричу это, поскольку плохие образцы - абсолютная боль для опытных специалистов по данным!

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

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

Обработка ошибок - компромисс между смещением и дисперсией

После того, как вы завершите запуск AutoML в Azure, лучшие модели будут упорядочены на основе выбранных вами матриц оценки. Вы можете захотеть сорвать джекпот и увидеть топ-5 лучших моделей с такими замечательными показателями.

Но - не всегда все так хорошо, как кажется. Ошибки в этом случае - ваши враги.

AutoML может честно провести обучение модели с помощью конфигурации глобальных переменных, но он не оставляет места для автоматической «точной настройки», особенно при обработке ошибок.

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

Управление учебными ресурсами

Опытные специалисты по данным всегда обращают внимание на ресурсы, как если бы лучшие автогонщики всегда хорошо знали характеристики своей машины. Это то, что AutoML не может легко воспроизвести.

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

Хотя я считаю, что это можно решить с технической точки зрения, но я сомневаюсь, что поставщики облачных решений захотят решить эту проблему, потому что они взимают с вас плату за потребление ресурсов.

Если ваш проект не ограничен расходами на облачную инфраструктуру или расчетное потребление ресурсов машинного обучения определенно низкое - будьте очень осторожны, нажимая кнопку AutoML. В этом случае убедитесь, что вы выбрали только те алгоритмы, запуски и ограничения ресурсов, которые вам нужны; Или вы можете подождать пару дней до завершения AutoML и израсходовать весь свой кредит в Azure.

Возможности

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

Сравнивая с веб-версией. версия Python SDK намного мощнее, то есть в ней есть гиперпараметрическая конфигурация, управление конвейером, тестирование и ведение журнала и т. д. Я думаю, что для Microsoft может быть подвешенным плодом замена Python SDK в веб-версию - и я искренне верю, что этот продукт будет стать монстром, чтобы смести тем самым всех своих конкурентов на рынке.