Pentaho Data Integration (PDI), Python и глубокое обучение
Привет, Хабр! Представляю вашему вниманию перевод статьи «Pentaho Data Integration (PDI), Python and Deep Learning».
Глубокое Обучение (DL) — почему вокруг него столько шума?
По данным Zion Market Research, рынок глубокого обучения (DL) увеличится с 2,3 млрд долларов в 2017 году до более чем 23,6 млрд долларов к 2024 году. Со среднегодовым темпом роста почти в 40% ежегодно, DL стала одной из самых горячих областей для экспертов по аналитическим данным для создания моделей. Прежде чем перейти к вопросу о том, как Pentaho может помочь реализовать модели DL вашей организации в среде продуктов, давайте сделаем шаг назад и рассмотрим, почему DL — настолько прорывная технология. Ниже приведена некоторая общая информация об этом:
- Использует искусственные нейронные сети, имеющие несколько скрытых слоев, которые могут выполнять точное распознавание изображений, компьютерное зрение/обнаружение объектов, обработку видеопотока, обработку естественного языка и многое другое. Усовершенствования в предлагаемых возможностях DL и в вычислительной мощности, таких как GPU, облачные хранилища, значительно ускорили и без того активный рост DL в последние несколько лет;
- Пытаясь имитировать активность человеческого мозга через слои нейронов, DL учится распознавать паттерны в цифровых представлениях звуков, видеопотоков, изображений и других данных;
- Уменьшает необходимость в проектировании объектов перед запуском модели за счет использования нескольких скрытых слоев, выполняя извлечение объектов на лету во время работы модели;
- Повышает производительность и точность по сравнению с традиционными алгоритмами машинного обучения благодаря обновленным фреймворкам, наличию очень объемных массивов данных (т. е. больших данных) и значительному скачку роста вычислительной мощности, таких как графические процессоры и так далее;
- Предоставляет среды разработки, окружение и библиотеки, например, Tensorflow, Keras, Caffe, PyTorch и другие, которые делают DL более доступным для экспертов по аналитическим данным.
Зачем использовать PDI для разработки и внедрения моделей глубокого обучения с использованием Python?
Сегодня специалисты по работе с данными и инженеры данных сотрудничают в сотнях проектов по науке о данных, созданных в PDI. Благодаря Pentaho, им удалось перенести сложные модели науки о данных в производственную среду с меньшими затратами по сравнению с традиционными инструментами подготовки данных. Мы рады объявить, что Pentaho теперь может привнести эту простоту использования во фреймворки DL, способствуя достижению цели Hitachi Vantara, позволяющей организациям внедрять инновации со всеми своими данными. С PDI и новым Python Executor Step, Pentaho может следующее:
- Интеграция с популярными фреймворками DL на этапе трансформации, расширяя существующие и без того широкие возможности Pentaho в области науки о данных;
- Простая реализация файлов сценариев DL Python, полученных от специалистов по работе с данными в рамках нового PDI Python Executor Step;
- Запуск модели DL на любом оборудовании CPU/GPU, позволяя организациям использовать ускорение GPU для повышения производительности своих моделей DL;
- Включение данных из предыдущих шагов PDI через поток данных в виде фрейма данных Python Pandas из массива Numpy в Python Executor Step для обработки DL;
- Интеграция с Hitachi Content Platform (HDFS, Local, S3, Google Storage и т. д.), позволяющая перемещать и помещать файлы неструктурированных данных в локаль (например, «озеро данных» и тому подобные), тем самым снижая затраты на хранение и обработку DL.
Выгоды:
- PDI поддерживает наиболее широко используемые платформы DL, то есть Tensorflow, Keras, PyTorch и другие, которые имеют API-интерфейс Python, что позволяет специалистам по работе с данными работать в их любимых библиотеках;
- PDI позволяет инженерам данных и специалистам по данным сотрудничать при реализации DL;
- PDI позволяет эффективно распределять навыки и ресурсы специалистов по работе с данными (т. е. создавать, оценивать и запускать модели DL) и инженеров данных (создание конвейеров данных в PDI для обработки DL).
Как PDI внедряет глубокое обучение?
Используемые компоненты:
- Pentaho 8.2, PDI Python Executor Step, Hitachi Content Platform (HCP) VFS
- Python.org 2.7.x или Python 3.5.x
- Tensorflow 1.10
- Keras 2.2.0.
Посмотрите Pentaho 8.2 Python Executor Step в онлайн-справке Pentaho для просмотра списка зависимостей. Python Executor — Документация Pentaho.
Основной процесс:
1. Выберите файл HCP VFS в PDI Step. Скопируйте и подготовьте файлы неструктурированных данных для использования с фреймворком DL с помощью PDI Python Executor Step.
Дополнительная информация:
https://help.pentaho.com/Documentation/8.2/Products/Data_Integration/Data_Integration_Perspective/Virtual_File_System
2. Используйте новое преобразование, которое будет реализовывать рабочие процессы для обработки фреймворка DL и связанных с ними наборов данных и прочего. Введите гиперпараметры (значения, используемые для настройки и выполнения моделей) для оценки наиболее эффективной модели. Ниже приведен пример, который реализует четыре рабочих процесса фреймворка DL, три с использованием Tensorflow и один использует Keras, с Python Executor Step.
3. Сосредоточив внимание на рабочем процессе Tensorflow DNN Classifier (который реализует внедрение гиперпараметров), используйте PDI Data Grid Step, то есть с именем Injected Hyperparameters, со значениями, соответствующими Python Script Executor steps.
4. В Python Script Executor step используйте Pandas DF и внедрите введенные гиперпараметры и значения в качестве переменных на вкладке Input.
5. Выполните связанный с DL скрипт Python (либо с помощью «Embed», либо с помощью «Link from file») и с помощью ссылки на фреймворк DL и введенные гиперпараметры. Кроме того, вы можете задать для виртуальной среды Python путь, отличный от того, который установлен для него по умолчанию.
6. Убедитесь, что TensorFlow установлен, настроен и правильно импортируется в оболочку Python.
7. Вернувшись к Python Executor Step, щелкните вкладку Output, а затем нажмите кнопку «Get Fields». PDI выполнит предварительную проверку файла сценария, чтобы проверить его на наличие ошибок, выходных данных и других параметров.
8. На этом настройки для запуска преобразования завершены.
Hitachi Vantara предлагает собственное решение с использованием GPU для ускорения процесса глубокого обучения
Фреймворки DL могут существенно выиграть в производительности при выполнении с использованием графического, а не центрального процессора, поэтому большинство фреймворков DL поддерживают некоторые разновидности графических процессоров. В 2018 году Hitachi Vantara разработала и поставила усовершенствованный сервер DS225 с графическими процессорами NVIDIA Tesla V100. Это первый графический сервер Hitachi Vantara, разработанный специально для реализации DL.
Более подробную информацию об этом предложении можно найти на сайте Hitachi Vantara.
Зачем организациям использовать PDI и Python для Deep Learning?
- Интуитивно понятные инструменты перетаскивания: PDI упрощает реализацию и выполнение DL-фреймворков с помощью графической среды разработки для конвейеров и рабочих процессов, связанных с DL;
- Продуктивное сотрудничество: инженеры по обработке данных и специалисты по работе с данными могут работать над общим рабочим процессом и эффективно использовать свои навыки и время;
- Эффективное распределение ценных ресурсов: инженер по работе с данными может использовать PDI для создания рабочих процессов, перемещения и создания неструктурированных файлов данных из/в HCP, а также для настройки введенных гиперпараметров в рамках подготовки к скрипту Python, полученному от эксперта по аналитическим данным;
- Лучшая в своем классе обработка GPU: Hitachi Vantara предлагает сервер DS225 Advanced с графическими процессорами NVIDIA Tesla V100, которые позволяют фреймворкам DL получать преимущества в производительности от работы с GPU.