Comme souvent, ce problème est une question de définition. Le Big Data pris au sens large signifie, pour les entreprises, qu’elles doivent se poser la question de la valorisation maximale des données présentes dans et autour de l’entreprise, et adopter un modèle data centric. Dans ce contexte, pour une raison de profils disponibles et d’effet de mode, la démarche a souvent été associée à une généralisation des méthodes analytiques sur les données existantes, et à des technologies telles que Hadoop qui facilitent l’intégration de la donnée non structurée. Si on en revient à la vocation initiale, toute nouvelle façon de donner de la valeur à la donnée doit être prise en considération. Dans ce cadre, le Deep Learning, en tant que nouvelle façon de valoriser la donnée, a sa place au sein d’une stratégie Big Data. Cependant, comme nous le verrons, il a un impact sur les compétences et les technologies sous-jacentes.
Caractéristiques du Deep Learning
Revenons sur ce qui caractérise le Deep Learning. Par défaut, l’informatique fonctionne sur une démarche procédurale et analytique, elle part des langages de développement qui définissaient les règles et les transformations (IF . THEN . ELSE…). Dans ce cadre, la valorisation des données s’est principalement faite avec de la modélisation mathématique pour trouver la formule qui permet de segmenter et de prédire.
Le Deep Learning fait appel à une autre sphère cognitive, qui n’est pas celle de l’analytique, mais celle de l’analogie. Prenons un exemple simple qui illustre bien les 2 approches: dans un contexte analytique, si je veux convertir des degrés Celsius en degré Fahrenheit, je vais simplement donner la formule. Ce n’est pas optimal pour ce cas d’usage mais je peux également faire la conversion avec un modèle de Deep Learning: dans ce cas je vais donner au système une cinquantaine de conversions de température, et le système va appréhender (et non calculer) la proportion, et être capable de me donner la valeur équivalente dans les 2 systèmes. Dans cet exemple, la méthode analytique est sans doute plus efficace que la méthode analogique, mais dans un certain nombre de domaines, la logique analogique peut être bien plus pertinente. Un exemple type est la reconnaissance d’image: Nous ne savons pas définir les règles qui permettent de caractériser un chat sur une photo, mais si on utilise une démarche analogique, on va nourrir le système avec des centaines de photos de chats, puis lui soumettre d’autres photos en lui disant si il a raison ou tort d’y voir un chat. Au bout d’un certain temps, le système pourra efficacement reconnaitre les chats par analogie.
C’est avec ce qu’on appelle la logique des réseaux neuronaux que fonctionne le Deep Learning, et l’analogie se fait en donnant du poids aux différentes connexions. Sans rentrer dans le détail de la technique, il est intéressant de savoir que, si l’on ne sort pas de formule de calcul, les « poids » qui servent à la reconnaissance du modèle peuvent être exportés et rejoués sur un autre système. A ce titre, si le Deep Learning a sa place dans une stratégie Big Data, il peut aussi ouvrir des perspectives sur l’IOT et le Edge Computing. En effet, il faut un système assez important pour apprendre les modèles, mais il est possible de les rejouer sur des systèmes plus petits (voire très petits), pour appliquer le modèle au plus près de la collecte de données. Si vous étiez dans un véhicule autonome, vous ne voudriez pas qu’il ait à envoyer ses données de capteur à un système central pour décider de freiner. L’export de modèles de reconnaissance de contexte permet cela.
En retour le Deep Learning est souvent dépendant du Big Data, car là ou l’analytique peut aussi traiter des petits volumes de données structurées, la démarche analogique doit être alimentée par un volume de données important et en général peu ou non structuré, ce qui caractérise le Big Data. Les clients adossent donc leur système de Deep Learning à un eco-système Big Data ou à une ferme de Calcul HPC qui génère également de très gros volumes de données.
Le Deep Learning fait appel à une autre sphère cognitive, qui n’est pas celle de l’analytique, mais celle de l’analogie. Prenons un exemple simple qui illustre bien les 2 approches: dans un contexte analytique, si je veux convertir des degrés Celsius en degré Fahrenheit, je vais simplement donner la formule. Ce n’est pas optimal pour ce cas d’usage mais je peux également faire la conversion avec un modèle de Deep Learning: dans ce cas je vais donner au système une cinquantaine de conversions de température, et le système va appréhender (et non calculer) la proportion, et être capable de me donner la valeur équivalente dans les 2 systèmes. Dans cet exemple, la méthode analytique est sans doute plus efficace que la méthode analogique, mais dans un certain nombre de domaines, la logique analogique peut être bien plus pertinente. Un exemple type est la reconnaissance d’image: Nous ne savons pas définir les règles qui permettent de caractériser un chat sur une photo, mais si on utilise une démarche analogique, on va nourrir le système avec des centaines de photos de chats, puis lui soumettre d’autres photos en lui disant si il a raison ou tort d’y voir un chat. Au bout d’un certain temps, le système pourra efficacement reconnaitre les chats par analogie.
C’est avec ce qu’on appelle la logique des réseaux neuronaux que fonctionne le Deep Learning, et l’analogie se fait en donnant du poids aux différentes connexions. Sans rentrer dans le détail de la technique, il est intéressant de savoir que, si l’on ne sort pas de formule de calcul, les « poids » qui servent à la reconnaissance du modèle peuvent être exportés et rejoués sur un autre système. A ce titre, si le Deep Learning a sa place dans une stratégie Big Data, il peut aussi ouvrir des perspectives sur l’IOT et le Edge Computing. En effet, il faut un système assez important pour apprendre les modèles, mais il est possible de les rejouer sur des systèmes plus petits (voire très petits), pour appliquer le modèle au plus près de la collecte de données. Si vous étiez dans un véhicule autonome, vous ne voudriez pas qu’il ait à envoyer ses données de capteur à un système central pour décider de freiner. L’export de modèles de reconnaissance de contexte permet cela.
En retour le Deep Learning est souvent dépendant du Big Data, car là ou l’analytique peut aussi traiter des petits volumes de données structurées, la démarche analogique doit être alimentée par un volume de données important et en général peu ou non structuré, ce qui caractérise le Big Data. Les clients adossent donc leur système de Deep Learning à un eco-système Big Data ou à une ferme de Calcul HPC qui génère également de très gros volumes de données.
Spécificités du Deep Learning
Une fois cette complémentarité posée, il est important de voir aussi les différences avec l’approche classique. Le mode de raisonnement étant différent, il doit être assimilé par les Data Analystes et les Data Scientistes. Par ailleurs, il faut intégrer au niveau du développement un nouveau type de framework comme Tensorflow, Caffe ou Torch. Enfin, il y a un impact sur l’infrastructure matérielle.
La majorité des entreprises ont centré leur architecture Big Data sur Hadoop. Chez HPE, nous avons toujours fait attention à éviter les implémentations fermées et propriétaires, et avons ainsi pu faire évoluer ces architectures chez beaucoup de nos clients, avec des systèmes pour le traitement des flux tels que Kafka, ou pour du Machine learning, tels qu’Elastic Search. Avec l’intégration du deep learning, il devient intéressant de déployer en complément des systèmes à base de GPU. L’intérêt des GPU est lié à la logique analogique du Deep Learning. Dans l’approche analytique on est sur des logiques de calcul très bien prises en compte par les CPU. Par contre, avec l’approche analogique, on cherche à trouver les similitudes. Or, les GPU qui font historiquement du graphique sont conçues pour traiter du mode vectoriel, et il est plus facile de voir quels vecteurs ont des similitudes que de faire des calculs. En complément de la dimension vectorielle les GPU sont également plus efficaces dans les calculs matriciels que le Deep Learning utilise dans sa phase d’apprentissage ((Error Backward Propagation) et dans l’optimisation des « poids » dans les réseaux neuronaux. Nous avons ainsi déjà commencé à déployer des systèmes à base de GPU chez certains de nos clients Big Data. Il est intéressant de noter que certaines librairies mathématiques ont été portées sur GPU où elles ont de meilleures performances que sur des CPU, ce qui augmente les cas d’usages pour ce type de technologies.
HPE traille avec Intel et AMD pour des GPU d’entrée de gamme, mais avons un partenariat avec Nvidia, pour travailler sur les GPU haut de gamme. Dans ce cadre, nous ajoutons aussi à notre catalogue des formations de Nvidia afin de mieux accompagner les entreprises sur ces nouvelles technologies.
En résumé, le Deep Learning fournit aux entreprises la possibilité de développer de nouveaux cas d’usages dans leur stratégie Big Data, mais demande une adaptation de leurs stratégies actuelles aussi bien d’un point de vue des ressources que du socle technique.
La majorité des entreprises ont centré leur architecture Big Data sur Hadoop. Chez HPE, nous avons toujours fait attention à éviter les implémentations fermées et propriétaires, et avons ainsi pu faire évoluer ces architectures chez beaucoup de nos clients, avec des systèmes pour le traitement des flux tels que Kafka, ou pour du Machine learning, tels qu’Elastic Search. Avec l’intégration du deep learning, il devient intéressant de déployer en complément des systèmes à base de GPU. L’intérêt des GPU est lié à la logique analogique du Deep Learning. Dans l’approche analytique on est sur des logiques de calcul très bien prises en compte par les CPU. Par contre, avec l’approche analogique, on cherche à trouver les similitudes. Or, les GPU qui font historiquement du graphique sont conçues pour traiter du mode vectoriel, et il est plus facile de voir quels vecteurs ont des similitudes que de faire des calculs. En complément de la dimension vectorielle les GPU sont également plus efficaces dans les calculs matriciels que le Deep Learning utilise dans sa phase d’apprentissage ((Error Backward Propagation) et dans l’optimisation des « poids » dans les réseaux neuronaux. Nous avons ainsi déjà commencé à déployer des systèmes à base de GPU chez certains de nos clients Big Data. Il est intéressant de noter que certaines librairies mathématiques ont été portées sur GPU où elles ont de meilleures performances que sur des CPU, ce qui augmente les cas d’usages pour ce type de technologies.
HPE traille avec Intel et AMD pour des GPU d’entrée de gamme, mais avons un partenariat avec Nvidia, pour travailler sur les GPU haut de gamme. Dans ce cadre, nous ajoutons aussi à notre catalogue des formations de Nvidia afin de mieux accompagner les entreprises sur ces nouvelles technologies.
En résumé, le Deep Learning fournit aux entreprises la possibilité de développer de nouveaux cas d’usages dans leur stratégie Big Data, mais demande une adaptation de leurs stratégies actuelles aussi bien d’un point de vue des ressources que du socle technique.
Autres articles
-
HPE Ezmeral Software accélère et simplifie les projets d'analyse et d'IA/ML grâce à sa plateforme hybride de données et d'analyse multicloud
-
HPE transforme la gestion du cycle de vie des données en ajoutant de nouveaux services de protection des fichiers, des blocs et des données à son portefeuille HPE Alletra
-
Vast Data annonce un partenariat stratégique avec Hewlett Packard Enterprise pour intégrer sa solution logicielle dans HPE GreenLake for File Storage
-
HPE GreenLake ajoute de nouvelles applications, de l'analytique et des services pour les développeurs afin de moderniser les charges de travail grâce cloud hybride
-
Hewlett Packard Enterprise fait progresser la recherche alimentaire mondiale grâce au Memory-Driven Computing