Автор: Адитья Пол и Ильяс Банколе-Хамид

Сегодня машинное обучение и искусственный интеллект интегрированы в различные рабочие процессы. От социальных сетей до аналитики — машинное обучение значительно упрощает жизнь конечных пользователей. Инструменты машинного обучения бывают разных форм и размеров и для всех вариантов использования, от обработки данных до регистрации экспериментов. Недостатком этого является то, что для создания практического решения вы должны быть опытными или иметь представление о многих различных инструментах и ​​​​о том, как они все интегрируются. Для новичка выбор инструментов для использования, а затем их освоение могут занять недели или даже месяцы.
Здесь на помощь приходит H2O.ai — инструмент, который может помочь вам обучать, регистрировать и развертывать модели.

Что такое H2O.ai и какие проблемы он решает?

Облако H2O.ai — это платформа для простой разработки и развертывания моделей машинного обучения. H2O.ai позволяет пользователям создавать модели машинного обучения и легко оценивать их производительность. Облако H2O.ai также позволяет пользователям загружать приложения для машинного обучения из своего магазина приложений.

На веб-странице H2O.ai утверждается, что их платформа позволяет пользователям Производить, Эксплуатировать и Внедрять инновации. Наш эксперимент показывает, что эти утверждения справедливы, поскольку платформа действительно удовлетворяет эти потребности пользователя. В оставшейся части этой статьи будет подробно описано, как использовать платформу для разработки решения машинного обучения для конкретной проблемы. Для этой статьи мы создадим часть системы рекомендаций фильмов.

Подготовка данных

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

Мы будем использовать платформу H2O.ai для создания контролируемой модели обучения, которая может принимать пару «пользователь — фильм» и прогнозировать возможный рейтинг. Следовательно, мы бы предпочли, чтобы данные были в формате CSV со столбцами для пользователей, фильмов и соответствующей оценкой, присвоенной фильму пользователем. Чтобы реорганизовать наши данные, мы используем приведенный ниже код.

Это дает нам CSV-файл следующего формата.

Теперь мы должны разделить данные на отдельные наборы для обучения, проверки и тестирования. Для этого мы используем код ниже.

Теперь мы можем перейти на облачную платформу H2O.ai, чтобы использовать эти данные для обучения модели.

Запуск экземпляра

В этом уроке мы будем работать с бесплатной пробной версией H2O.ai. Хотя мы можем выполнять все основные функции в версии, некоторые функции скрыты и недоступны.

После входа в систему мы получим доступ к Enterprise Steam, щелкнув раздел «Мои AI Engines» вверху. Затем мы нажмем на вкладку AI без драйверов и запустим экземпляр, чтобы построить модель.

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

Загрузка и визуализация данных

Как только экземпляр запущен, мы можем щелкнуть по нему, чтобы использовать его. Мы загружаем наборы данных, которые может использовать модель.

После загрузки данных мы можем выполнять различные действия с набором данных. Одним из них является визуализация данных.

Мы можем добавлять различные графики, чтобы визуализировать наши данные и легко отображать отношения между любыми переменными.

Ниже приведена демонстрация того, как должны выглядеть графики.

Затем каждый график можно индивидуально развернуть для просмотра.

Построение модели

Теперь мы построим модель, которая может делать прогнозы, используя данные. Для этого вернемся на вкладку наборы данных и нажмем Действия -> Прогноз. Теперь мы можем указать модель, которую хотим построить.

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

Как только мы выбираем их, API позволяет нам выбрать параметры обучения для точности, времени, интерпретируемости и воспроизводимости модели. Мы можем настроить эти параметры в соответствии с нашими потребностями. Мы также можем выбрать, является ли проблема проблемой регрессии или классификации, и конкретный счетчик, который мы хотим использовать. Платформа предоставляет различные варианты для каждого типа задач, такие как точность, оценка F1, оценка Macro-F1 для классификации и RMSE, MAE для регрессии. В графическом интерфейсе также отображается дополнительная информация о модели с левой стороны, такая как конвейер, пространство поиска для разработки функций и расчетное время выполнения. Мы также можем создать таблицу лидеров для сравнения различных экспериментов.

Вы также можете щелкнуть вкладку «Экспертные настройки», чтобы точно настроить или выбрать конкретные модели, которые вы хотите использовать. Здесь мы можем найти конкретные настройки для всех видов задач ML, таких как NLP, Computer Vision, разработка функций или обработка данных временных рядов.

Использование обученных моделей

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

Ниже приведен пример архитектуры модели и журналов, которые создает платформа.

Мы также можем выбрать развертывание модели. Платформа предлагает два варианта развертывания: через Amazon Lambda или REST Server.

Мы также можем настроить\переобучить нашу модель либо на новом наборе данных, либо на старом наборе данных.

Наконец, если мы провели несколько экспериментов с несколькими моделями, мы можем сравнить разные модели, щелкнув вкладку «Эксперименты».

Магазин приложений

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

Преимущества и ограничения

Преимущества H2O.ai очевидны. Платформа позволяет создавать и использовать различные модели машинного обучения без необходимости наличия базовых технических знаний. Большое разнообразие моделей, методов и настроек предоставляет пользователю безграничные возможности. Платформа также явно поддерживает многие общие задачи в области ML, такие как NLP, Computer Vision и данные временных рядов, и упрощает создание нескольких экспериментов с одними и теми же данными для сравнения производительности разных моделей. Платформа также автоматически ищет оптимальные гиперпараметры, что является огромным барьером для входа в создание эффективных моделей машинного обучения. Благодаря простоте развертывания, когда пользователь удовлетворен моделью, он может ее протестировать. Создание и ведение журналов о моделях на этой платформе намного проще, чем на других решениях. Переобучение модели или перенастройка на новые данные также просты и интуитивно понятны.

Одним из ограничений платформы является то, что бесплатная пробная версия немного ограничена. Однако 90-дневное окно дает пользователю достаточно времени, чтобы определить, подходит ли ему H2O.ai. Еще одно ограничение заключается в том, что это не открытый исходный код, что может создать проблемы для опытных профессионалов, которые, вероятно, хотели бы иметь больше свободы для работы с моделью или гиперпараметрами. Кроме того, хотя визуализация данных поддерживается платформой, данные должны быть явно очищены, подготовлены и загружены в экземпляр. Это может создать проблему при наличии большого объема данных. Следовательно, необходимо будет построить автоматический конвейер для автоматической подготовки и загрузки данных, а также переобучения модели через определенные промежутки времени.

Заключение

В целом, у H2O.ai каждый найдет что-то для себя. Вы новичок в машинном обучении и не знаете наизусть оптимальные гиперпараметры для каждой модели? H2O.ai сделает это за вас. Вы эксперт, который хочет провести как можно больше экспериментов с разными моделями и настройками? H2O.ai дает вам эту свободу. Вы умеете создавать модели, но не знаете, как их развертывать и поддерживать? H2O.ai делает это за несколько кликов. Вы аналитик данных, который ни в малейшей степени не интересуется машинным обучением? H2O.ai позволяет визуализировать отношения в ваших данных.

В заключение, H2O.ai позволяет удобно и интуитивно строить модели и управлять ими. Новичкам больше не нужно читать документацию по разным пакетам и ломать голову над тем, как их соединить. Даже эксперты могут использовать платформу для быстрого создания прототипов моделей вместо написания сотен строк кода, которые в конечном итоге могут быть удалены после оценки производительности.

Мы надеемся, что после прочтения этой статьи вы почувствуете себя способным включить H20.ai в свой рабочий процесс машинного обучения!