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