Создание масштабируемой распределенной среды глубокого обучения с помощью BigDL на основе Apache Spark

искусственный интеллект глубокое обучение Spark Apache
Создание масштабируемой распределенной среды глубокого обучения с помощью BigDL на основе Apache Spark


Источник контента:9 сентября 2017 г. инженер Intel по машинному обучению Чжан Яо выступил с докладом на тему «Создание масштабируемой распределенной платформы глубокого обучения с помощью BigDL на Apache Spark» на конференции Cloudera Data Science Summit — чисто технической некоммерческой конференции. IT Dajiashuo (идентификатор WeChat: itdakashuo), как эксклюзивный видео-партнер, имеет право публиковать видео после просмотра организатором и спикерами.

Количество слов для чтения:2703 | 7 минут чтения

Видео с гостевым выступлением и обзор PPT:suo.im/4yoyTL

Резюме

В этом докладе мы продемонстрируем, как пользователи больших данных и специалисты по обработке и анализу данных могут использовать BigDL для выполнения анализа глубокого обучения (например, распознавания изображений, обнаружения объектов, NLP и т. д.) на массивных данных распределенным образом. Это позволяет им использовать существующие кластеры больших данных, такие как Apache Hadoop и Spark, в качестве единой платформы аналитики данных для хранения, обработки и анализа данных, разработки функций, традиционного (не глубокого) машинного обучения и рабочих нагрузок глубокого обучения.

What is BigDL

BigDL — это распределенная среда обучения, исходный код которой был открыт 30 декабря 2016 года. Это среда глубокого обучения, специально написанная для Apache Spark. Apache Spark — очень популярная и широко используемая система обработки больших данных.

Нижний слой Spark — это его ядро, а над ним — большое количество интерфейсов. Верхний уровень — это интерфейс обработки данных, аналогичный DataFrame, а средний — некоторые функциональные части, такие как часто используемые библиотеки и интерфейсы, такие как SQL, SparkR и Streaming, а MLlib и GraphX ​​— это две библиотеки, которыми всегда владел Spark. .

В сегодняшнюю эпоху глубокого обучения Spark, как система распределенной обработки больших данных, естественно, нуждается в среде глубокого обучения, и BigDL родился из этого. BigDL может писать модели глубокого обучения, такие как стандартные программы Spark, поэтому BigDL не является модулем, предоставляемым третьей стороной, но подходит для Spark.Он эквивалентен части Spark и может работать на встроенном кластере без использования Внести какие-либо изменения в кластер.

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

Почему вам нужно использовать BIGDL

тренд

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

Второй тренд — Hadoop, ставший мейнстримом в глобальной экосистеме больших данных и центром обработки больших данных.

Третья тенденция заключается в том, что если вы хотите в будущем написать полноценную экосистему машинного обучения, она будет иметь дело не только с кодом ML, но и со всей системой.Если у вас нет полноценного фреймворка, вы потратите много времени впустую.

Четвертая тенденция — единство, и тенденция к единству в других областях также проявится под дождем больших данных.

BigDL Answering The Needs

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

Overview of BigDlL

Для стандартных заданий Spark не требуется никаких изменений в кластерах Spark или Hadoop. Он управляется Spark при планировании, поэтому производительность будет оптимизирована. Каждая машина в Spark использует одну и ту же модель, но использует разные данные для обучения.

BigDL — это не только среда глубокого обучения, но и тесно интегрированная с существующими функциями Spark, такими как SQL, DataFramer и Structure Streaming.

How Does BigDL Compare To Other DL-Spark Effoorts?

BigDL эквивалентен стандартной программе Spark, которая может быть легко связана с существующими концепциями Spark, а также может быть объединена с другими компонентами Spark. Таким образом, он очень удобен в использовании, а эффективность планирования и масштабируемость высоки.

Caffe/TensorFlow на Spark фактически устанавливает программу Spark на каждую Работу, а затем Spark подхватывает программу, что не очень эффективно с точки зрения планирования. И хотя это очень хорошо для оптимизации GPU, это не очень хорошо для оптимизации CPU, и недостаточно просто посмотреть на эффективность с точки зрения сервера.

Latest BigDL Features

Python Support & NoteBook Integration

BigDL — это пакет, который поддерживает python, хорошо поддерживает python 2.7 и 3.5 и может работать на pySpark. BigDL также может легко писать код, компилировать и отображать его в NoteBook.

Приведенный выше код позволяет разработчикам получать изменения конфигурации в режиме реального времени. Apollo предоставляет механизм запуска событий. Просто добавьте addChangeListener. Каждый раз, когда конфигурация изменяется, будет вызываться метод onChange и передаваться соответствующее изменение конфигурации. это событие содержит изменения в элементах конфигурации.

Recurrent Neural Network Support

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

Functional API

В случае сложной модели, когда сеть не может быть представлена ​​нейронной сетью, ориентированной на обучение, используется Функциональный API, позволяющий произвольно объединять несколько узлов друг с другом для формирования требуемой сети.

Models Interoperability Support

Помимо своих преимуществ в обучении моделей, BinDL также может считывать обученную сеть TensorFlow или Caffe в BigDL, а модель BigDL также можно импортировать в Tensor или Caffe.

Where Can You Use BigDL

Speech Recognition

Распознавание речи — одна из наиболее широко используемых областей глубокого обучения, и BigDL реализует в этой области глубокую речь, представляющую собой библиотеку для преобразования речи в текст.

Image Recognition and Object Detection

В случае сложной модели, когда сеть не может быть представлена ​​нейронной сетью, ориентированной на обучение, используется Функциональный API, позволяющий произвольно объединять несколько узлов друг с другом для формирования требуемой сети.

BigDL Deployed in the Cloud

BigDL поддерживает множество облачных сервисов, включая Amazon Web Service, Microsoft Azure, Alibaba Cloud, Cloudera и другие.