Автоматическое машинное обучение (Automated machine learning) Скачать в PDF
Синонимы: AutoML
Автоматическое машинное обучение — это совокупность методов и процессов автоматизации разработки, построения и тестирования ML-моделей, а также их развертывания в производственной среде. Основная цель — снижение объема рутинных ручных операций, что, с одной стороны, ускоряет процессы и уменьшает количество ошибок, обусловленных человеческим фактором, а с другой стороны — позволяет участвовать в них даже пользователям без глубоких знаний и опыта.
AutoML-решения основаны на построении набора конвейеров машинного обучения для решения поставленной задачи и выборе лучшего из них. На первый взгляд кажется, что AutoML решает те же задачи, что и MLOps. Но это не так, и различия удобно показать в таблице:
| Аспекты использования | AutoML | MLOps |
|---|---|---|
| Цели и задачи | Автоматизация, проектирование, создание и оптимизация ML-моделей | Развертывание, мониторинг, обеспечение масштабируемости, воспроизводимости и возможности сопровождения моделей в производственной среде |
| Направленность | Фокусируется на предобработке данных, извлечении признаков, выборе моделей и их настройке | Включает в себя CI/CD, развертывание, мониторинг, версионирование данных/моделей и управление |
| Пользователи | Аналитики данных и все, кто заинтересован в использовании ML-моделей | Специалисты по DevOps/SRE, команды разработчиков платформы и заинтересованные стороны из разных подразделений |
| Результаты | Обученная модель или ансамбль моделей, а также отчеты по оценке их качества | Развертывание моделей, конвейеры обработки данных, панели мониторинга и оповещения производственного уровня |
| Автоматизируемые действия | Очистка данных, настройка гиперпараметров, экспериментирование | Развертывание, тестирование, масштабирование и управление жизненным циклом |
| Этап жизненного цикла | Создание и экспериментирование | Развертывание и поддержка |
| Ключевые технологии/инструменты | Платформы и библиотеки AutoML (поисковые/оптимизационные системы, инструменты для работы с признаками) | Системы CI/CD, оркестрация, реестры моделей, мониторинг, конвейеры данных |
| Уровень компетенций | Базовые знания в области ИИ и машинного обучения, технологии low-code и no-code | Разработка ПО, DevOps |
| Когда использовать | Требуется быстрое прототипирование, выбор модели или когда у команд отсутствуют глубокие экспертные знания в области машинного обучения | Обеспечение надежной работы в производственной среде с соблюдением соглашений об уровне обслуживания (SLA), проведение аудитов или непрерывное переобучение |
| Недостатки | Сокрытие внутренних механизмов модели, снижение интерпретируемости и способности к решению узкоспециальных задач | Требует инвестиций в инфраструктуру, процессы и межкомандную координацию; может быть сложным в реализации |
Таким образом, AutoML и MLOps дополняют друг друга: с помощью AutoML производится обучение модели, а затем применяются методы MLOps для развертывания, мониторинга и поддержки выбранной модели в производственной среде.
Процессы, автоматизируемые с помощью технологий AutoML, обычно включают:
- предварительную обработку данных (трансформацию и очистку);
- извлечение и отбор признаков;
- выбор наиболее подходящей модели и алгоритма обучения;
- выбор конфигурации и топологии модели;
- обучение модели;
- оптимизацию гиперпараметров модели;
- постобработка моделей (оценка эффективности и валидация);
- критический анализ полученных результатов.
Как правило, стремятся автоматизировать все перечисленные выше процессы работы с ML-моделями. Однако на практике это не всегда удается. Поэтому, в первую очередь, AutoML-решения требуются для наиболее трудоемких рутинных задач, чтобы ускорить построение адекватных моделей, минимизируя усилия дата-инженеров и аналитиков данных.
При разработке AutoML-решений важно учитывать следующие аспекты:
- особенности бизнес-задачи, решаемой с помощью машинного обучения — универсальных AutoML-решений не существует, поэтому нужно понимание того, в чем именно должна помочь автоматизация;
- состав команды — если у компании нет возможности привлечь достаточное количество инженеров и аналитиков данных, то предпочтительно no-code решение, с которым смогут работать даже сотрудники, не имеющие специальной подготовки в области машинного обучения. Если возможность привлечения достаточного числа специалистов имеется, то эффективнее окажутся решения промышленного класса, которые обеспечат более высокую производительность моделей, хотя потребуют кодирования и тонкой настройки;
- модульность — AutoML-решения должны быть модульными, чтобы обладать высокой адаптивностью под конкретные задачи посредством добавления новых функций, правил или других параметров.
Несмотря на то, что первоначальные затраты на разработку и внедрение AutoML-решений могут оказаться значительными, в результате они оправдывают себя за счет повышения эффективности бизнес-процессов, достигаемой на основе применения моделей машинного обучения при принятии решений.