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

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

Поддержка Python

Python является одним из часто используемых языков в сообществе довольно больших данных и интеллектуального анализа данных. В BigDL смогли реализовать поддержку API-интерфейсов Python(используется Python 2.7) на основе PySpark с выпуска 0.1.0. Это также позволило многим пользователям использовать другие модели глубинного обучения в BigDL с существующими библиотеками Python (например, NumPy и Pandas), которые запускаются автоматически в распределенной архитектуре для обработки очень больших объектов данных непосредственно в кластерах Hadoop*/Spark. Например, можно создать модель LeNet-5, которая будет классической сверточной нейросетью, с помощью API-интерфейсов Python BigDL следующим образом.

Также мы продолжаем развивать поддержку Python в BigDL; в предстоящем выпуске BigDL 0.1.1 будет добавлена поддержка Python 3.5, а пользователи получат возможность автоматически развертывать индивидуальные зависимые компоненты Python в кластерах YARN.

Интеграция «записных книжек»

Благодаря полной поддержке API-интерфейсов Python в BigDL специалисты по исследованиям и анализу данных могут работать с данными, применяя мощные «записные книжки» (например, Jupyter Notebook) с распределенной архитектурой ко всему кластеру, сочетая библиотеки Python, Spark SQL/DataFrames и MLlib, модели глубинного обучения в BigDL, а также интерактивные средства визуализации. Например, учебное руководство по Jupyter Notebook, входящее в состав BigDL 0.1.0, демонстрирует возможность оценки результата предсказания для модели классификации текста (используя точность и матрицу ошибок) следующим образом.

Поддержка TensorBoard

TensorBoard представляет собой целый пакет веб-приложений для выполнения анализа и точного понимания структуры работы, а также графов программы глубинного обучения. В BigDL 0.1.0 была реализована надежная поддержка визуализации с помощью использования TensorBoard (а также встроенных в «записные книжки» библиотек построения графиков, таких как Matplotlib). Можно также настроить программу BigDL таким образом, чтобы она успешно формировала сводную информацию для профессионального обучения и/или проверки (с помощью API-интерфейсов Python).

Сразу после запуска программы BigDL происходит полное сохранение данных о ходе ее работы и результатах ее проверки. После этого можно использовать TensorBoard для визуализации поведения программы BigDL, включая кривые Потери и Пропускная способность на вкладке СКАЛЯРНЫЕ ВЕЛИЧИНЫ (как показано ниже).

Улучшенная поддержка нейронных сетей с обратными связями (RNN)

Рекуррентные нейросети, то есть нейронные сети с обратными связями (RNN) представляют собой мощные модели для анализа речи, текста, временных последовательностей, данных датчиков и т. п. В выпуске BigDL 0.1.0 реализована всесторонняя поддержка RNN, в том числе различные варианты долгой краткосрочной памяти (LSTM), например управляемые рекуррентные единицы (GRU), LSTM с соединениями передачи состояния и вывод в рекуррентных нейросетях. Например, можно создать простую модель LSTM (с помощью API Python) следующим образом.

За несколько последних лет мы стали свидетелями довольно крупных достижений в области глубинного обучения. Сообщество глубинного обучения старается постоянно совершенствовать все доступные технологии, а благодаря BigDL они становятся доступными и максимально удобными в использовании для исследователей и инженеров в области интеллектуального анализа данных (эти специалисты не обязаны быть также и экспертами в области глубинного обучения).

Мы постоянно продолжаем работать над дальнейшим усовершенствованием BigDL сразу после выпуска 0.1 (к примеру, будут добавлены поддержка чтения и записи моделей TensorFlow, реализация сверточных нейронных сетей (CNN) для трехмерных изображений, рекурсивных сетей и пр.), именно поэтому пользователи больших данных могут пользоваться привычными инструментами и инфраструктурой, при этом создавая аналитические приложения с помощью алгоритмов глубинного обучения.

Close Menu
Закрыть