20/01/2017

Intel libère BigDL, une librairie pour l’apprentissage profond distribué

Cette librairie rendue open source par Intel est développée pour Apache Spark. Cette librairie permet de tirer parti de la puissance de clusters Spark existants pour exécuter des calculs d’apprentissage profond et simplifie le chargement de jeux de données volumineux stockés sur des serveurs Hadoop.

Gain de performance

Les tests réalisés sur des serveurs Xéons ont montré une accélération significative des performances comparées à d’autres solutions open source comme Caffe, Torch ou TensorFlow. L’utilisation des processeurs Xeon offre en outre une démultiplication de la puissance de près de dix fois comparée à l’utilisation de processeurs généralistes.

Compatibilité et conversions de données

La librairie BigDL supporte les versions 1.5, 1.6 et 2.0 de Spark et peut être intégrée à des codes existants pour Spark. La librairie contient par ailleurs des méthodes pour convertir des RDDs (Resilient Distributed Datasets) en jeux de données BigDL pour être utilisés directement avec les pipelines d’apprentissage machine de Spark.

Pour l’apprentissage des modèles, BigDl applique l’algorithme du gradient stochastique exécuté dans une tâche Spark unique au travers plusieurs exécutants. Chaque exécutant exécute lui-même un moteur multithread et s’occupe d’une partie des données. La version actuelle charge l’intégralité des données d’entraînement et de validation en mémoire.

La librairie est implémentée en Scala et implémente une classe Tensor qui utilise la librairie MKL d’Intel pour les calculs. Cette dernière est une libraire constituée d’un ensemble de routines optimisées pour les calculs mathématiques allant des transformations de Fourier aux multiplications matricielles, très utilisées dans le cadre les algorithmes d’apprentissage profond. Développée après Torch, BigDl partage avec ce projet les concepts de Modules (ou nn package), qui représentent des couches individuelles de réseaux neuronaux.

Le projet BigDL fournit une image AWS EC2 et des exemples de classification de texte utilisant les réseaux neuronaux, des exemples de classification d’images et des méthodes pour charger des modèles préentraînés dans Troch, Caffe dans Spark pour le calcul prédictif. À ce jour, les demandes de développement issues de la communauté concernent le support de Python et MKL-DNN, une extension pour l’apprentissage profond avec MKL.

Source : www-ssl.intel.com

Actualités