AutoML
AutoML — сервис для автоматического построения и обучения моделей на пользовательских данных (табличные данные) на базе библиотеки LightAutoML. Он позволяет решать задачи бинарной и многоклассовой классификации и регресии в различных постановках. Полученные сериализованные модели можно впоследствии развернуть в виде микросервисов на высокопроизводительных мощностях с целью прогнозирования на новых данных. Пример по использованию сервиса размещен на GitHub. Некоторые особенности работы с примерами описаны в соответствующем разделе ниже.
Работа с сервисом предполагает следующую последовательность действий:
Подготовка набора данных (dataset) для обучения и загрузка этих данных в объектное хранилище S3.
Создание задачи обучения.
Настройка основных и дополнительных параметров обучения через интерфейс.
Запуск задачи обучения AutoML с указанными параметрами.
Результатом обучения станет сериализованная модель (формат pickle) на бакете S3.
В этом разделе
Загрузка данных
До начала работы с сервисом AutoML необходимо загрузить данные в объектное хранилище S3. Для этой цели можно использовать:
Интерфейс Файлового менеджера (вкладка Обзор хранилища, кнопка Создать).
Сторонние клиентские приложения с графическим интерфейсом (Cyberduck, S3 Browser).
Data transfer service (см. Data transfer service).
Важно
В рамках сервиса используется один набор данных. Коэффициент разбиения выборки на обучающую и тестовую можно задать в расширенных настройках.
Создание задачи обучения
Для создания задачи обучения:
Нажмите на вкладку
для перехода на страницу сервиса.На панели Задачи нажмите кнопку Новый AutoML.
В открывшемся диалоговом окне задайте необходимые параметры. Описание основных и расширенных настроек приведено в разделе Настройки задачи обучения.
Для запуска обучения модели с указанными параметрами нажмите Начать обучение.
Настройки задачи обучения
При создании задачи AutoML необходимо задать основные настройки:
Имя модели.
Бакет в хранилище S3.
Датасет и его настройки.
Имя модели — имя файла, в который сохраняется сериализованная модель после окончания обучения. Например, если ввести в данном поле название «Sample model», то модель сохранится в каталог, указанную в поле Расположение модели (см. Загрузка и хранение данных).
Выбор бакета S3. Бакет можно выбрать из списка (значение по умолчанию) или указать параметры подключения к бакету вручную. При выборе типа подключения «Указать вручную» пользователь вводит параметры подключения самостоятельно. Необходимые параметры:
S3 Endpoint — endpoint объектного хранилища S3. Подробная информация о том, как узнать параметры подключения приведена в разделе Credentials S3 и копирование пути к объекту на S3.
Access Key ID — ключ доступа к объектному хранилищу S3.
Security Key — ключ безопасности объектного хранилища S3.
Загрузка датасета и определение задачи
Необходимые наcтройки описаны в таблице ниже.
Параметр |
Значение |
---|---|
Dataset |
Путь до датасета на S3.
Датасет должен быть в формате |
Целевой признак |
Название колонки, которая будет использоваться в качестве целевого признака обучения. Выбор целевого признака становится доступным после загрузки датасета. |
Задача обучения |
Сервис решает задачи бинарной и многоклассовой классификации и регресии. См. подробнее в разделе Типы задач обучения. |
Расширенные настройки задаются по желанию. Они описаны в таблице ниже.
Параметр |
Значение |
---|---|
Расположение модели |
Путь, по которому сохранится обученная модель; указывается в формате |
Целевая метрика |
Показатели, по которым оценивается качество обучения. Выбор целевой метрики зависит от типа задачи. См. подробнее в разделе Целевые метрики. |
Функция потерь |
Стандартные метрики ошибок в зависимости от постановки задачи. |
Роли и расширенные параметры признаков |
Если дополнительные настройки, предусмотренные данным пунктом, не заданы, это означает, что признаки датасета не размечены, и роли для этих признаков определяются автоматически, исходя из следующей логики:
Пользователи также могут явно проставить роли для признаков датасета. При этом, некоторые роли могут изменить дефолтное поведение AutoML в интерпретации данных. Например, «Drop» для признака означает, что указанный признак не будет использоваться для построения модели. «Text» означает, что колонка является текстом, и ее по умолчанию не стоит интерпретировать как категорию. Следует отметить, что AutoML автоматически делит признаки на значимые и незначимые. По умолчанию незначимые признаки исключаются при обучении модели. Для изменения этого поведения отметьте чекбоксом поле Включить признак в обучение при любом результате отбора признаков. При выборе роли «Datetime» можно задать следующие дополнительные настройки:
|
Параметры тестовой выборки |
Настройки коэффициента разбиения пользовательских данных для обучения на обучающую и тестовую выборки. Тестовая выборка позволяет оценить качество модели на независимом наборе данных. Рекомендуется создать тестовую выборку для получения достоверной оценки. Стандартное разбиение осуществляется в пропорции 80/20. Увеличение размера тестовой выборки уменьшает размер обучающей выборки, что может привести к снижению качества модели. Если оценка на тестовой выборке не требуется (размер тестовой выборки равен 0), будет получена оценка качества модели на основе OOF-кроссвалидации. |
Ресурсы задачи |
Количество GPU на каждом рабочем узле кластера, выделяемое для запуска задачи обучения. Максимальное количество GPU на одном рабочем узле кластера — 16. 1 GPU = 3 CPU. Обратите внимание на то, что чем больше GPU требуется для обучения модели, тем выше вероятность возникновения нехватки вычислительных ресурсов. Планировщик кластера (scheduler) поставит задачу в очередь исполнения, и она может достаточно долго находиться в статусе «pending». |
Максимальное время обучения |
Время в секундах, в течение которого может обучаться модель AutoML. Если обучение не завершилось к указанному моменту времени, сервис выдаст модель, обученную до того этапа, на котором завершилось обучение. По умолчанию это значение составляет 3600 секунд. |
Выполнение задачи обучения и просмотр логов
После запуска задачи обучения сервис переложит пользовательские данные с объектного хранилища S3 на NFS (локальное хранилище кластера Christofari). Задача обучения модели запустится в базовом образе для AutoML. При выполнении задачи обучения можно просматривать ее логи. Подробнее про см. Логи.
Просмотр отчета о выполненной задаче обучения
После завершения обучения (статус задачи «Завершена») можно просмотреть отчет об обучении. Для просмотра отчета кликните по карточке задачи. Перейдите на вкладку структуру отчета.
. Подробнее проВажно
Генерация отчетов недоступна для ранее созданных задач.
Batch Prediction
Для создания Batch Prediction:
На карточке модели из меню
выберите Выполнить Batch Prediction.
В открывшемся окне выберите требуемый бакет.
Выберите датасет, к которому требуется выполнить Batch Prediction.
Выберите каталог для сохранения результатов. В результате выполнения Batch Prediction получается файл с расширением
CSV
.
Для просмотра результатов Batch Prediction откройте карточку обученной модели и выберите вкладку Batch Prediction.
Остановка запущенной задачи обучения
Остановка выполняется на вкладке Environments, страница в строке записи задачи

Типы задач обучения
Сервис AutoML позволяет решать задачи бинарной и многоклассовой классификации и регресии.
Задача классификации подразумевает получение категориального ответа на основе набора признаков. Она имеет конечное количество ответов (как правило, в формате «да» или «нет»):
вернет ли кредит клиент;
является ли сделка мошеннической;
болен ли пациент раком.
Задача бинарной классификации подразумевает, что на выходе имеется два ответа.
Задача многоклассовой классификации предполагает, что на выходе имеется больше двух ответов.
Задача регрессии — прогноз на основе выборки объектов с различными признаками. На выходе должно получиться вещественное число (2, 35, 76.454 и др.), к примеру цена квартиры, стоимость ценной бумаги по прошествии полугода, ожидаемый доход магазина на следующий месяц, качество вина при слепом тестировании.
Целевые метрики
Целевая метрика — функция, с помощью которой проводится вычисление меры качества работы алгоритма. Набор целевых метрик зависит от типа задачи обучения. Основные метрики и их значения приведены в таблице ниже.
Целевая метрика |
Описание |
---|---|
auc |
Площадь под ROC-кривой. Эта кривая ошибок является графическим инструментом для оценки точности моделей бинарной классификации и представляет из себя линию от (0,0) до (1,1) в координатах True Positive Rate (TPR) и False Positive Rate (FPR). В случае идеальной модели график ROC-кривой проходит через точку (0,1), площадь под графиком максимальна и равна 1. Для задач многоклассовой классификации используется метод усреднения macro, что означает вычисление метрики для каждого класса и получение невзвешенного среднего. |
logloss |
|
accuracy |
Доля правильных ответов алгоритма. Для расчета используется матрица ошибок. Объекты разбиваются на 4 категории в зависимости от комбинации истинного ответа и ответа алгоритма. Через элементы этой матрицы можно выразить долю правильных ответов:
\[accuracy = \frac{TP + TN}{TP + TN + FP + FN}\]
|
crossentropy |
Перекрестная энтропия. Эта метрика используется для количественной оценки разницы между двумя распределениями вероятностей. См. logloss. |
r2 |
Коэффициент детерминации. Указывает на достоверность соответствия набора прогнозов фактическим значениям. Диапазон значений находится между 0 и 1. Если значение близко к 1, то модель хорошо объясняет данные. Если значение близко к нулю, то прогнозы сопоставимы по качеству с константным предсказанием. Если r2 имеет отрицательное значение, модель хуже, чем предсказание средним значением. Формула для расчета приведена в документации. |
mse |
Среднеквадратичная ошибка. Для каждой точки вычисляется возведенная в квадрат разница между прогнозом и истинным значением целевой переменной, затем эти значения усредняются. Чем выше это значение относительно целевой переменной, тем хуже модель. Например: MSE = 10 является очень плохим показателем, если целевая переменная принимает значения от 0 до 1, и очень хорошим, если эта переменная лежит в интервале (10000, 100000). Формула для расчета приведена в документации. |
mae |
Средняя абсолютная ошибка. Сумма абсолютных различий между прогнозами и фактическими значениями. Метрика более устойчива к выбросам, чем MSE. Формула для расчета приведена в документации. |
rmsle |
Среднеквадратичная логарифмическая ошибка. Чтобы ее вычислить, берется логарифм прогнозов и целевых значений и определяется среднеквадратичное отклонение между ними. Формула для расчета приведена в документации. При использовании функции потерь RMSLE нужно использовать метрику RMSLE. |
mape |
Средняя абсолютная ошибка в процентах. Формула для расчета приведена в документации. |
Обратите внимание на то, что в качестве дополнительных параметров модели можно указать функцию потерь (mse, mae, rmsle или mape). Отличие между одноименными метриками обучения заключается в том, что метрики используются для оценки качества предсказаний модели после обучения. Функция потерь служит для оптимизации качества предсказаний в процессе обучения. Таким образом, любой алгоритм машинного обучения имеет целью минимизировать функцию потерь.
Результат вычисления целевой метрики (score) отображается в интерфейсе пользователя для завершенных задач в экспоненциальном представлении.
OOF Score — значение целевой метрики на предсказаниях, полученных на обучающей выборке в процессе кросс-валидации. Test Score — значение целевой метрики на тестовой выборке.
Важно
Кросс-валидация для вычисления OOF Score осуществляется по 5 фолдам. Для задач регрессии применяется k-fold кросс-валидация. Для задач бинарной и многоклассовой классификации — Stratified k-fold кросс-валидация.

Типы моделей AutoML
В процессе работы сервис использует различные типы моделей, определяющие последовательность операций машинного обучения. Качество полученной модели зависит от выбранного типа модели и его настроек. Полученные модели возможно фильтровать по типам. В данный момент сервис поддерживает обучение с использованием следующих типов моделей:
TabularAutoML. Использование типа TabularAutoML позволяет работать с табличными данными без дополнительной обработки текстовых признаков.
Natural Language Processing (обработка естественных языков). Использование типа NLP позволяет:
Классифицировать тексты (classification) — отнесение текста к одной из контентных категорий по содержанию, решаемая задача — классификация.
Анализировать эмоциональную окраску (sentiment analysis) — идентификация превалирующего эмоционального мнения — позитивного/негативного/нейтрального. Решаемая задача — задача многоклассовой классификации.
Computer Vision (компьютерное зрение). Использование типа CV позволяет:
Классифицировать фотографии для систем хранения.
Обучать все типы задач, доступные для базового TabularAutoML: регрессия, классификация (бинарная и мультиклассовая).
Для обучения на типе CV картинки должны быть в форматах:
PNG
,JPEG
. В файле с датасетом путь к изображению должен быть указан как"archive_name"/"path"/"to"/"image"..../"img.jpeg"
.Computer Vision Advanced. Использование типа CV Advanced на базе алгоритма обнаружения целей позволяет:
Детектировать объекты.
Сегментировать объекты.
Реализовывать дополнительные задачи визуального распознавания, например Pose Estimation.
Для обучения на типе CV картинки должны быть в форматах:
PNG
,JPEG
.Time Series (временные ряды). Фреймфорк обучения моделей для прогнозирования временных рядов. Он позволяет:
Автоматически выявлять признаки в датасетах.
Обучать модели для прогнозирования значений на задаваемой пользователем длине предсказания.
Автоматическая сборка Docker-образа
В рамках сервиса AutoML можно автоматически собрать Docker-образ с предварительно обученной моделью для последующего ее развертывания на необходимой конфигурации с использованием сервиса Deployments.
Для сборки образа выберите команду Создать образ из меню .
Это действие инициирует отправку запроса в сервис Deployments на сборку Docker-образа с обученной моделью и
serving-скриптом
.
Для просмотра статуса сборки образа:
Перейдите на вкладку
.Нажмите кнопку Создать Deploy. Откроется диалог Создать Deploy.
Найдите нужный образ в списке (в названии образа есть префикс «automl-img»). Логи сборки можно просмотреть, выбрав соответствующий пункт из меню
. Логи можно копировать в текстовом формате для последующего сохранения в файл. После окончания сборки (статус «Готов к работе») образ можно развернуть на сервисе. См. Развертывание модели.
Особенности работы с примерами
При работе с примерами на GitHub. важно помнить следующее:
В LightAutoML в ячейках ноутбука по умолчанию выводятся предупреждения перед выполнением кода
Чтобы их отключить, добавьте в ноутбук (раздел Import necessary libraries) следующие команды:
import warnings warnings.filterwarnings('ignore')
Если пользователь удалил папку с примерами AutoML, но необходимо отменить это действие, следует запустить команду из терминала Jupyter Notebook в каталоге
/home/jovyan/
и пересоздать ноутбук.rm -rf .aicloud_example_automl_flag