AutoML: AutoGluon, FLAML, Vertex AI AutoML и когда это работает
AutoML не означает «нажал кнопку, получил модель». Это означает «автоматизировал перебор гиперпараметров и выбор алгоритма». Разница важна: AutoML всё равно требует правильной постановки задачи, качественных данных и понимания результата. Но для конкретных задач он экономит недели итераций.
Что AutoML делает хорошо
На структурированных табличных данных AutoML-системы конкурируют с ручным ML-инжинирингом — иногда выигрывают. На kaggle-соревнованиях AutoGluon попадает в топ-10% без какой-либо настройки на многих датасетах. Причина: он строит ансамбль разных алгоритмов (LightGBM, XGBoost, CatBoost, нейросети, RF) со stacking — именно этот ансамбль часто превосходит одиночную лучшую модель.
Хорошие кандидаты для AutoML:
- Стандартная бинарная/мультиклассовая классификация или регрессия на табличных данных
- Задачи, где нет специфических ограничений (latency < 50 мс, размер модели < 10 MB)
- MVP или baseline перед началом ручной оптимизации
- Команды без глубокой ML-экспертизы, которым нужен рабочий прототип быстро
Плохие кандидаты: задачи с кастомным loss, специфические архитектурные требования, real-time inference с жёсткими ограничениями, domain-специфические задачи (медицинская визуализация, NLP на редком языке).
AutoGluon: детально
AutoGluon-Tabular — самый сильный AutoML для табличных данных по большинству бенчмарков. Ключевые особенности:
Многоуровневый стекинг. AutoGluon строит несколько слоёв ансамбля. Модели первого слоя (LightGBM, XGBoost, CatBoost, FastAI tabular, KNN) → их предсказания как фичи → модели второго слоя. Это называется stack_ensemble_levels и управляется через num_stack_levels=2.
from autogluon.tabular import TabularPredictor
predictor = TabularPredictor(
label='target',
eval_metric='roc_auc',
path='./ag_models'
).fit(
train_data,
time_limit=3600, # 1 час
presets='best_quality', # vs 'medium_quality', 'high_quality'
)
Preset best_quality включает стекинг и ансамбли, занимает максимум памяти и времени. medium_quality — баланс скорость/качество, подходит для >1M строк. optimize_for_deployment — убирает тяжёлые ансамбли, ускоряет inference.
Типичный подводный камень: AutoGluon обучает десятки моделей и сохраняет все на диск — 2–10 GB на серьёзных задачах. При деплое нужно выгружать только финальную модель через predictor.clone_for_deployment().
Важная деталь с памятью: при num_stack_levels=2 на датасете 500k строк модели второго слоя требуют out-of-fold предсказания от первого. AutoGluon управляет этим автоматически, но на машинах с <32 GB RAM возможен OOM. Решение: ag_args_fit={'num_cpus': 4, 'num_gpus': 0} и excluded_model_types=['NeuralNetFastAI'].
FLAML: быстрый и экономный
FLAML (Fast and Lightweight AutoML) от Microsoft ориентирован на минимальный бюджет вычислений при хорошем качестве. Использует cost-frugal search — сначала пробует дешёвые конфигурации, постепенно переходя к дорогим.
Хорошо подходит для: ограниченного вычислительного бюджета, задач с требованием time_budget < 60 сек, интеграции в CI/CD пайплайн где AutoML запускается при каждом обновлении данных.
from flaml import AutoML
automl = AutoML()
automl.fit(X_train, y_train, task="classification", time_budget=120, metric="roc_auc")
FLAML также поддерживает fine-tuning LLM через flaml.autogen — автоматический подбор промптов и параметров для GPT/Claude задач.
Vertex AI AutoML: когда нужен managed service
Google Vertex AI AutoML — правильный выбор, когда:
- Нет собственной ML-инфраструктуры
- Нужна интеграция с Google Cloud (BigQuery, Cloud Storage, Dataflow)
- Задача — Computer Vision или NLP, а не только табличные данные
- Требуется managed inference endpoint без DevOps
Стоимость Vertex AI AutoML — важный фактор. Обучение табличной модели: $1.375/час node. 100k строк, 50 признаков — обычно 2–4 часа обучения. Inference: $0.05–0.10 за 1k предсказаний. Для высоконагруженных задач self-hosted AutoGluon выгоднее.
Ограничения Vertex AI AutoML: меньше контроля над архитектурой, нет кастомного loss, экспорт модели ограничен (TF SavedModel или TFLite, без ONNX). Зато managed feature store, автоматический мониторинг дрейфа и MLOps из коробки.
No-code платформы: H2O.ai, DataRobot
Для business analysts без кода — H2O.ai AutoML (open source) и DataRobot (enterprise). Оба предоставляют GUI, автоматическую feature importance, объяснения модели.
H2O AutoML open source разворачивается локально, поддерживает Stacked Ensemble, работает через REST API или R/Python клиент. DataRobot — дорогое enterprise решение ($50k+/год), но с глубокой интеграцией в корпоративные процессы и compliance-фичами.
Когда AutoML не заменяет ML-инженера
AutoML автоматизирует выбор алгоритма и гиперпараметры. Он не решает:
- Feature engineering. Создать признак «время с момента последней покупки» или «отношение дебет/кредит» — работа эксперта. AutoGluon сделает basic автоматически, но domain-specific фичи — нет.
- Кастомный preprocessing. Специфическая обработка медицинских снимков, парсинг log-файлов, извлечение фич из аудио.
- Ограничения деплоя. AutoML выберет лучшую по качеству модель, а не ту, что влезает в 4 MB мобильного приложения.
- Устойчивость к distribution shift. AutoML оптимизирует метрику на test set. Как модель поведёт себя через полгода при изменении данных — отдельный вопрос.
Процесс работы
Для проектов с AutoML начинаем с быстрого бенчмарка: AutoGluon medium_quality за 30 минут даёт honest baseline. Если результат достаточен для задачи — движемся к деплою и мониторингу. Если нет — результаты AutoML показывают, какие алгоритмы перспективны, и мы начинаем ручную оптимизацию с правильного старта.
Сроки: MVP с AutoGluon — 1–2 недели (включая EDA и деплой). Production-система с мониторингом и автопереобучением — 1–3 месяца.







