L'Intelligence Artificielle chez Apple, un virage tardif mais prometteur

Quand on pense à Intelligence Artificielle, on ne pense pas à Apple. Alors que les autres “géants” de l’IT comme Google, Amazon, Microsoft, IBM, Oracle, etc. ont des solutions bien en place coté IA, Apple semble être totalement à la traine… C’est dommage, car s’ils passent à coté de ça, ils risquent de rater le tournant du 21ième siècle et arriver dans une voie de garage avec de beaux objets, mais complètement idiots…

Non, rassurez-vous, Apple a conscience de tout cela et vient d’appuyer à fond fin 2016 sur l’accélérateur… Et quand on pèse 800 Milliards en bourse avec 200 Milliards de dispos (argent de poche), on peut vite rattraper son manque de vision.

Dans cet article, nous allons donc voir le contexte de ce tournant (nouveau directeur et rachat de Lattice Data) et nous focaliser sur Core ML et Neural Engine.  Et puis, coté voiture autonome, ça avance un peu aussi 🙂

Le nouveau directeur de l’intelligence artificielle

Depuis octobre 2016,  le directeur de l’intelligence artificielle (IA) d’Apple est  Ruslan Salakhutdinov . Il est professeur agrégé en machine learning de Carnegie Mellon (mon université préférée, avant le MIT) et petit clin d’oeil: il est aussi Membre de la Faculté de Microsoft ! Bon passons.

Il pense que les réseaux de neurones profonds (Deep Learning) ont produit des résultats spectaculaires ces dernières années mais qu’il reste du travail! Par exemple sur les systèmes de sous-titrage d’images, sur les  «mécanismes d’attention», un ajustement de l’apprentissage profond, développé au cours des dernières années. Pour lui, l’approche devrait se concentrer sur des parties spécifiques de l’image, de la phrase, …. un composant dédié permettrait aussi d’accélérer mes calculs, il s’agit du Neural Engin (voir plus bas).

Il pense aussi partager avec le monde académique les résultats des recherches en IA d’Apple, et permettre à leurs salariés de publier leurs résultats.

Salakhutdinov étudie ainsi toutes les possibilités de s’aligner avec Google, Amazon et Microsoft. En effet, Apple qui était en avance il y a quelques années a pris du retard, quant aux smartphones, smartwatches, Hauts-parleurs intelligents.

Rachat de Lattice data

Apple a racheté Lattice Data, spécialiste de la caractérisation des données non structurées, peut-être pour améliorer Siri. Ses principaux outils permettent de donner du sens à des données non structurées, textes comme images, par automatismes et machine learning. Lattice Data a été créée par Chris Re et Michael Cafarella, professeurs en université. Michael Cafarella a été un des créateurs d’Hadoop, la société spécialisée du Big Data (voir notre dernier article sur Hadoop et Spark)

Core ML

La firme a présenté dernièrement Core ML, un framework pour intégrer facilement des modèles de machine learning dans nos applications (IOS, watchOS, macOS et tvOS).
 Sur la base de Core ML , vous avez 3 frameworks spécifiques :
  • Vision est un framework pour l’analyse d’image qui permet de créer des fonctionnalités machine learning de vision par ordinateur dans votre application. Il propose la gestion du suivi du visage, la détection des visages, les landmarks (points de repère), la détection de texte, la détection de rectangles, la détection de codes-barres, le suivi des objets entre autres.
  • Foundation est un framework de traitement du langage naturel, ses API utilisent le machine learning pour comprendre le texte à l’aide de fonctionnalités telles que l’identification de la langue, la tokenisation (segmentation de texte), la lemmatisation (analyse lexicale du contenu d’un texte en regroupant les mots d’une même famille), la reconnaissance d’entité nommée et de la parole.
  • GameplayKit est un framework orienté objet qui fournit des outils et des technologies fondamentales pour le développement de jeux. Il comprend des outils pour concevoir des jeux avec une architecture fonctionnelle et réutilisable ainsi que des technologies pour créer et améliorer des fonctionnalités de gameplay comme le mouvement des personnages.

Core ML est construit sur des technologies bas niveau :

  • Accelerate, framework pour les mathématiques vectorielles et matricielles, le traitement du signal numérique, la gestion des grands nombres et le traitement de l’image,

  • BNNS (Basic neural network subroutines), collection de fonctions à implémenter et exécuter des réseaux de neurones

  • Metal Performance Shaders, frameworks qui apporte des optimisations graphiques et des performances de calculs.

Core ML met en place un format de fichier public (.mlmodel) pour un des méthodes de machine learning et les modèles linéaires généralisés, entre autres. Vous pouvez importer et déployer des modèles qui ont déjà appris et les utiliser pour vos prédictions. Apple propose aussi quelques modèles de machine learning prêts à l’emploi.

Les modèles au format .mlmodel peuvent être directement intégrés dans les applications via XCode.

Apple propose un outil “Core ML Tools ”  pour convertir, évaluer et tester les modèles de machine learning en format Core ML. Les fichiers peuvent venir de Keras, Caffe, scikit-learn, libsvm et XGBoost. Il est open source (licence BSD) tant qu’il est en version bêta.

Les voitures électriques

Apple vient de décrocher son autorisation de tester ses véhicules autonomes sur les routes de Californie. La firme semblerait toutefois ne pas s’orienter dans la conception de voitures mais se positionner en tant que sous-traitant spécialisé IT, sans toutefois se fermer la porte à la conception intégrale.

 Le Neural Engine, composant dédié à l’IA

Son but est de délester le processeur des calculs spécifiques à l’intelligence artificielle, (reconnaissance faciale ou de voix, la prédiction de frappe, la réalité augmentée. Ainsi, la puce Neural Engine travaillerait en collaboration avec le processeur et la puce graphique ainsi que le coprocesseur de mouvement et autres capteurs. D’autres firmes avaient déjà mis en place des puces dédiées: Snapdragon de Qualcomm (qui équipe d’ailleurs des Iphone – peut-on parler de puce dédiée pour les Snapdragon? Il y a peut-être des processeurs spécifiques que je ne connais pas – à voir), le  Tensor Processing Unit (TPU) de Google, Nvidia, …

Il sera intégré aux terminaux mobiles, véhicules, et autres et devrait utiliser Core Ml, de plus, les applis de Lattice data seront optimisées pour elle, et la boucle est bouclée! FPGA, Asic ? On ne connait pas encore le format (ou si vous avez plus d’infos, suis preneur).

Un SDK permettant de l’exploiter sera proposé aux développeurs.

Conclusion

Apple arrive t-elle a rattraper son retard ? Oui, je n’ai pas de doute à ce sujet, mais Google reste quand même un géant dans ce domaine. C’est au coeur de sa stratégie alors que ça n’est qu’une branche chez Apple… Dans tous les cas, si le Machine Learning vous intéresse, je pense qu’il faut surveiller Apple de près, on pourrait être surpris. Ce sont surtout les rachats qui peuvent leur permettre de revenir à la charge. Pour l’instant, le rachat de Lattice Data est, à mon avis, une tentative timide. Apple se fait aussi quelques ennemis avec Qualcomm (qu’ils mettent en concurrence avec Intel) et Imagination Technologies (proc graphiques)… Alors, ils veulent faire du processeur… même pour l’IA… pourquoi pas… je reste un peu septique tout de même. Voilà , pour l’instant je suis intrigué, pas convaincu. Je vous rappelle que je ne suis pas un grand Fan d’Apple, mais que j’ai décidé récemment de leur porter un peu d’attention.

Ces articles pourraient aussi vous intéresser …