BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Intel open source BigDL, une bibliothèque d'apprentissage en profondeur distribuée pour Apache Spark

Intel open source BigDL, une bibliothèque d'apprentissage en profondeur distribuée pour Apache Spark

Intel a publié les sources de BigDL, une bibliothèque d'apprentissage en profondeur distribuée qui s'exécute sur Apache Spark. Elle utilise les clusters Spark existants pour exécuter des calculs d'apprentissage approfondis et simplifie le chargement de données à partir de grands ensembles de données stockés dans Hadoop.

Les tests montrent une performance d'accélération significative sur les serveurs Xeon par rapport aux autres frameworks open source comme Caffe, Torch ou TensorFlow. La vitesse est comparable à celle d'un GPU grand public et BigDL est capable de s'étaler sur des dizaines de serveurs Xeon.

La bibliothèque BigDL prend en charge les versions Spark 1.5, 1.6 et 2.0 et permet d'intégrer l'apprentissage en profondeur dans les programmes Spark existants. Elle contient des méthodes pour convertir Spark RDDs en BigDL DataSet et peut être utilisé directement avec Spark ML Pipelines.

Pour l’apprentissage du modèle, BigDL applique un mini-batch synchronisé SGD (Stochastic Gradient Descent) exécuté dans une seule tâche Spark à travers plusieurs exécuteurs. Chaque exécuteur exécute un moteur multithread et traite une partie des données de micro-batch. Dans la version actuelle, toutes les données d’apprentissage et de validation sont chargées en mémoire.

BigDL est implémentée avec Scala et est modélisée sur Torch. Comme Torch, elle fournit une classe Tensor, qui utilise la bibliothèque Intel MKL pour les calculs. Intel MKL est l’abréviation de Math Kernel Library et qui se compose d'une bibliothèque avec un ensemble de routines optimisées pour les calculs, allant de la FFT (Fast Fourier Transform) aux multiplications matricielles, qui sont fortement utilisées pour l'apprentissage en profondeur. D'autres concepts empruntés de Torch comme Module sont inspirés du package nn de Torch, qui représente les couches de réseaux neuronaux individuels, Table et Criterion.

BigDL fournit une image AWS EC2 et des exemples pour la classification de texte à l'aide de réseaux de neurones convolutifs, la classification d'images et la manière de charger des modèles préformés de Torch ou Caffe dans Spark pour le calcul des prédictions. Les principales demandes de la communauté sont le support de Python et de MKL-DNN, ainsi que des extensions d'apprentissage en profondeur pour MKL.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT