Comment 3 développeurs ont utilisé Core ML pour exécuter des modèles AI sur un iPhone

Le premier iPhone d’Apple lancé en 2007, des décennies après le concept d’apprentissage automatique – un sous-ensemble de l’intelligence artificielle (IA) qui utilise des techniques mathématiques Mais ce n'est que récemment que les deux sont entrés en collision.

Apple a lancé Core ML, un framework conçu pour accélérer les tâches d’apprentissage automatique, parallèlement à iOS 11 en mai 2017. La société Cupertino a livré sa première puce spécialement conçue pour l’IA, l’A1 Bionic, l’an dernier. la Conférence mondiale des développeurs 2018 (WWDC), elle a mis un terme à Core ML 2, une nouvelle version améliorée de Core ML; et Create ML, un outil accéléré par GPU pour l'entraînement de modèle IA natif sur Mac.

C'est un progrès impressionnant en un an, mais il reste que l'IA du smartphone en est à ses débuts; il y a beaucoup de défis à surmonter. Pour mieux les comprendre, VentureBeat a parlé aux développeurs iOS utilisant Core ML aujourd'hui pour la traduction du langage, la détection d'objets et le transfert de style. Voici ce qu'ils avaient à dire.

Chefs-d'œuvre numériques

Digital Masterpieces – une retombée de l'Institut Hasso Plattner à Potsdam, en Allemagne, financé en partie par l'incubateur allemand Deep Tech – n'a pas entrepris d'adopter Core ML. Frank Schlegel, directeur de la technologie, a déclaré à VentureBeat que c'était une coïncidence.

«Nous utilisions des techniques mises au point à l’Institut», a-t-il déclaré – en particulier pour le transfert de style, une technique de recomposition de tableaux, d’images ou de croquis à la manière d’autres images. "Nous avions déjà des implémentations pour ces techniques de réseaux neuronaux et d'intelligence artificielle [on desktop]alors nous avons pensé qu'il serait cool de les porter sur l'iPhone."

Ces implémentations ont constitué la base de BeCasso, une application qui, selon Schlegel, «transforme des images en œuvres d'art» (elle a été présentée sur scène cette année à la WWDC).

Il a décrit le processus de portage comme "un peu comme le Wild West". Dans les mois qui ont suivi le lancement de Core ML, les outils de développement étaient "très" en développement, a déclaré Schlegel. "Le problème était d'atteindre une vitesse suffisante sans compromettre la précision."

Dans l'apprentissage automatique, les réseaux de neurones – des architectures informatiques reposant essentiellement sur la physiologie du cerveau humain – sont constitués de couches contenant des nœuds. Les nœuds s'apparentent à des neurones – ils sont le lieu où les données introduites dans le réseau sont combinées à des coefficients appelés pondérations, qui attribuent une importance aux entrées en les atténuant ou en les amplifiant. Les réseaux neuronaux profonds se composent de plusieurs couches et de plusieurs nœuds, et le terme généralement parlant (mais pas toujours) est un corollaire de la précision.

LIS  Apple overhauls MacBook Air with Retina display and Touch ID

"Pour le transfert de style, les modèles peuvent être entraînés à une profondeur arbitraire", a déclaré Schlegel. "Les modèles plus profonds peuvent effectuer plus d'opérations, mais nécessitent une puissance de calcul supérieure."

Ils nécessitent également plus de mémoire, en particulier de mémoire vive. En fait, les algorithmes de transfert de style ont des exigences de mémoire particulièrement élevées car les données d'entrée – images – sont codées sous forme de longues chaînes de bits (uns et zéros).

"Si votre image est trop volumineuse, votre mémoire RAM explose généralement", explique-t-il.

La solution de Digital Masterpieces consistait à expédier deux versions du même modèle: une pour les appareils plus anciens avec moins de RAM et des processeurs plus faibles (comme l’iPhone 6S, 7 et 7S) et un modèle pour les nouveaux appareils (comme l’iPhone 8). 8S et X). Cela a fonctionné: le transfert de style prend moins d'une seconde sur l'iPad de dernière génération.

"Nous sommes très satisfaits des résultats, tous considérés", a déclaré Schlegel.

Memrise

Memrise – l'équipe au-delà de l'application éponyme Memrise, qui propose des plans de cours basés sur des cartes-éclair et spécialisés dans l'apprentissage des langues – attribue à un hackathon ses efforts en matière d'IA.

"L'un de nos développeurs iOS a réussi à mettre en service un prototype en quelques jours", a déclaré James Salter, directeur de l'ingénierie chez Memrise. "Nous sommes en quelque sorte partis de là."

Le modèle prototypique identifiait des objets et indiquait aux utilisateurs comment le dire dans leur langue. Cela ne faisait pas partie de l'expérience de base de Memrise, et il ne pouvait reconnaître que quelques centaines de bibelots (les ingénieurs de Memrise l'ont formé sur ImageNet, une base de données d'images publiques de l'université de Stanford). Mais cela "a attiré l'attention d'Apple", a déclaré Salter.

Ils ont donc continué. Salter a utilisé Keras, une bibliothèque de réseaux neuronaux open source, pour recycler le modèle sur des dizaines de milliers d'images de Google. Bientôt, il a pu reconnaître 20 nouvelles choses, puis 160 nouvelles choses.

LIS  Aucun règlement de recours collectif sur les téléphones LG de Bootlooping: avocats

Le seul problème? À mesure que la précision du modèle augmentait, sa taille augmentait également.

L'équipe de Memrise a trouvé une solution dans Create ML, qui non seulement réduit le temps de formation du modèle de 24 heures à 48 minutes, mais réduit également son empreinte de 90 Mo à 3 Mo.

"C'est un peu un cas d'utilisation étroit, alors nous avons pu obtenir d'excellents résultats", a déclaré Salter.

Polarr

Ci-dessus: l'application de Polarr pour iOS.

: Polarr

Pour le team de Polarr, composé d'environ 20 personnes, l'appel de Core ML était sa capacité à obtenir des algorithmes "gros et complexes" sur les téléphones, a déclaré le PDG Borui Wang.

Mais il n'y a pas eu tout le soleil et les arcs-en-ciel. Travailler dans l'écosystème iOS nécessite "une tonne de compromis", a déclaré Wang, principalement parce que la mémoire vive de l'iPhone – 3 Go dans le cas de l'iPhone 8 – ne fournit pas beaucoup de marge pour les réseaux neuronaux complexes.

Cela ne veut pas dire que l'équipe Polarr n'a pas essayé. Il a poussé les appareils iOS à la limite en laboratoire, avec des modèles qui augmentent l'utilisation du processeur et de la puce graphique à 100% dans les cinq premières secondes de l'exécution. Mais les inconvénients ont été graves – le système d'exploitation entier devient insensible; l'écran et le panneau arrière deviennent trop chauds; et la durée de vie de la batterie s'épuise rapidement.

«Si vous voulez extraire des noms d’une carte de visite, c’est assez facile, mais nous essayons de rendre l’apprentissage automatique utile pour les consommateurs», at-il déclaré. "Je pense qu'il reste un long chemin à parcourir."

Ce n'est pas une mauvaise nouvelle, a déclaré Wang. L’équipe a utilisé des techniques de compression telles que la quantification pour obtenir une réduction de la taille du modèle jusqu’à «cinq fois», et a obtenu des algorithmes de reconnaissance d’objets fonctionnant à 20 images par seconde.

Et Wang est optimiste quant à l'avenir. Il s’attend à ce que, dans un à trois ans, le matériel téléphonique s’améliore au point où la limite de la batterie, et non du processeur ou de la mémoire, sera la plus stricte.

"Comme les chipsets deviennent de plus en plus rapides, cela devient un compromis de consommation d'énergie", a-t-il déclaré. "En ce moment, ce n'est pas le cas."

LIS  Spotify publie une application gratuite redessinée avec accès aux playlists à la demande

Quels sont les besoins fondamentaux en matière de gestion du savoir: Plus de modèles et d'outils d'analyse comparative

En toute équité envers Apple, Core ML 2 apporte un certain nombre d’améliorations. Il est 30% plus rapide grâce à une technique appelée prédiction par lots. Il prend en charge les virgules flottantes 16 bits et tous les niveaux de quantification jusqu'à 1 bit. Et il est livré avec un convertisseur de modèle qui fonctionne avec les frameworks Facebook Caffe et Caffe2, Keras, Scikit-learn, XGBoost, LibSVM et Google TensorFlow Lite.

Schlegel pense que cela suffit amplement. "Nos cas d'utilisation sont complètement couverts par le cadre jusqu'à présent", a-t-il déclaré.

Salter est d'accord, mais croit que Core ML a plus de place pour croître.

"Pour le futur, il serait logique qu'Apple publie davantage de modèles basés sur des pré-tests basés sur leurs propres big data", a-t-il écrit dans un courriel. "Les plus petits développeurs n’ont pas accès à de grandes quantités de données ou aux ressources nécessaires pour effectuer de longues sessions de formation. Il y a donc certaines choses qui ne sont pas pratiques même si vous avez l’expertise. Par exemple, ce serait bien s'il y avait un moyen de créer un classificateur d'image qui ne nécessitait pas que vous apportiez votre propre ensemble de données – idéalement, il vous suffit de déclarer les objets que vous souhaitez reconnaître et cela fonctionne simplement – le cloud d'Apple le modèle pour vous, en utilisant leurs données. "

Quant à Wang, il espère que les futures versions de Core ML offriront des outils d’étalonnage améliorés.

«Ce qui m’intéresse le plus, c’est de comprendre les contraintes des processeurs graphiques et des processeurs», écrit-il dans un courrier électronique. "Par exemple, vous connaissez [how] beaucoup de jeux PC … vous dire le FPS et tracer une courbe pour un gameplay étendu? En tant que développeur, il serait étonnant que CoreML puisse le faire pour les modèles. Vous le chargez, il vous dira quand le GPU commence à ralentir, et basé sur cela produit une liste de rapports de performance pour d'autres périphériques (iPhone 5, 6, 7, 8, X). Si Apple ne fait pas cela, je suis sûr que certains démarrages seront formés uniquement pour ce genre de chose. "


Lien source

Comments

comments

Laisser un commentaire