Amazon Web Services (AWS) et Microsoft lancent conjointement une nouvelle librairie appelée Gluon, qui permet aux développeurs de tout niveau de prototyper, construire, entraîner et déployer des modèles d’apprentissage automatique (Machine Learning, ML) pour le nuage, pour les appareils en périphérie et pour les applications mobiles.

Gluon s’interface immédiatement avec Apache MXNet, et bientôt avec le Microsoft Cognitive Toolkit (CNTK).

La spécification de référence de l’interface de programmation est ouverte et publiée sur https://github.com/gluon-api/gluon-api/ dans l’espoir que d’autres acteurs de l’industrie intègrent leur engin d’apprentissage automatique avec elle.

Pour construire des réseaux neuronaux, on a besoin de données d’apprentissage, d’un modèle et d’un algorithme, qui entraîne le modèle à comprendre les motifs dans les données. Du fait de la complexité, il faut souvent des jours ou des semaines pour entraîner le modèle.

Grâce aux engins comme Apache MXNet et CNTK, il est relativement simple d’optimiser et d’accélérer ce processus, à condition d’avoir défini à l’avance le modèle et l’algorithme avec un code compliqué, difficilement modifiable.

D’autres outils d’apprentissage profond facilitent le développement de modèles, mais au prix de performances d’entraînement dégradées.

Gluon ambitionne d’offrir le meilleur des deux mondes : une API en Python simple à comprendre pour faciliter le prototypage et l’expérimentation avec les réseaux neuronaux, avec une méthode d’entraînement qui affecte à peine la vitesse de l’engin.

Les caractéristiques principales de Gluon sont :

Programmation symbolique et impérative. Les utilisateurs avancés se réjouiront de la double compatibilité de Gluon avec la programmation aussi bien impérative que symbolique, que l’on ne retrouve pas dans les autres trousses à outils.

Hybridation. Gluon peut automatiquement différencier le code symbolique à partir du code exécuté procéduralement, y compris les flux de contrôle, par hybridation : les graphes statiques de calcul sont calculés une fois puis mis en mémoire cache et réutilisés pour les itérations suivantes.

Modèles complexes. Gluon intègre une riche librairie de blocs prédéfinis pour définir facilement des modèles complexes.

Efficacité de l’exécution. Gluon est compatible avec les boucles et les tensors irréguliers (séquences de taille variable de traitement par lots).

Compatibilité avec les matrices creuses.

Planification avancée. S’il est simple de planifier les tâches sur un seul processeur graphique (GPU), il est très complexe de planifier pour plusieurs GPUs. Gluon peut automatiquement distribuer les traitements pour les deux modes de programmation : symbolique et impérative.

On pourrait s’étonner que les deux premiers acteurs de l’informatique en nuage coopèrent dans le domaine de l’apprentissage automatique. Les progrès de l’intelligence artificielle sont principalement dus à l’accès à des volumes massifs de données, tout comme les massives capacités nécessaires de traitement, de stockage et de communication.

Les fournisseurs de services d’informatique en nuage profitent donc directement de la popularité croissante de l’apprentissage automatique, alors que peu d’entreprises pourront justifier des investissements en matériels quand elles peuvent profiter de l’élasticité et des tarifs raisonnables du nuage.

C’est également pourquoi Microsoft et Facebook ont conjointement lancé le format ouvert ONNX, afin de faciliter l’interopérabilité et l’indépendance des cadres applicatifs et des engins d’intelligence artificielle.