De plus en plus de smartphones s’équipent de processeurs qui se consacrent entièrement à l’intelligence artificielle. Photo, authentification, personnalisation… Si les développeurs réussissent à maîtriser le sujet, de nombreuses fonctions devraient en tirer bénéfice.
L’intelligence artificielle est une vague de fond prête à happer le smartphone. Depuis 2017 environ, les grands acteurs de la filière, dont Apple, Huawei et le leader Samsung, la convoquent en permanence dans leur argumentaire marketing et promettent que celle-ci va bonifier l’expérience utilisateur. Mais les discours sont un peu brumeux. Comment l’IA opère-t-elle au juste, et quels rôles va-t-elle jouer ?
Peut-être qu’une mise au point s’impose avant d’entrer dans le détail. En vérité, les IA sont monnaie courante depuis que les processeurs existent, que ce soit dans les smartphones, dans les PC et dans beaucoup d’autres équipements électroniques. Au sens le plus généraliste, une IA est en effet un code informatique qui prend une décision en fonction de variables. Cas typique dans un smartphone : la photographie en mode automatique. Des algorithmes analysent l’image au travers du capteur et sélectionnent les paramètres appropriés, pour que la prise de vue soit d’une qualité optimale.
Les techniques algorithmiques mises en œuvre évoluent toutefois. On assiste aujourd’hui à l’avènement de l’apprentissage approfondi (deep learning), un sous-ensemble de l’apprentissage automatique (machine learning). Ce procédé repose le plus souvent sur des réseaux de neurones artificiels, qui simulent les fonctions cognitives du cerveau humain.
Une IA apprenante se perfectionne par l’exemple en ingurgitant des quantités phénoménales de données : elle réussit à identifier un chat parce qu’elle a d’abord assimilé des milliers et des milliers d’images de chat. Les deux conditions principales – puissance de traitement, abondance des banques de données – sont réunies depuis quelques années, grâce à l’essor du cloud et du Big Data. Par ailleurs, l’usage massif des GPU, dont l’architecture est adaptée aux calculs massivement parallèles requis par le Deep Learning, a été un puissant accélérateur.
Transition du cloud au smartphone
Dans les smartphones, la puissance du cloud est déjà mise à contribution dans de nombreuses applications faisant appel à l’IA, comme en témoigne l’interprétation des instructions vocales en langage naturel, à la suite des commandes « Dis Siri » ou « Ok Google ». Mais l’IA se loge depuis peu dans les entrailles du smartphone et peut donc être exploitée hors connexion.
Conçus par Apple, les processeurs A11 et maintenant A12 (dont profitent l’iPhone XS et ses déclinaisons) intègrent en effet un « neural engine » (ou moteur neuronal), qui se consacre à l’apprentissage. Après le Kirin 970, un pionnier en la matière, Huawei et sa filiale Honor récidivent avec le Kirin 980, bénéficiant aussi d’un NPU (Neural processing unit) réservé à l’IA. Samsung évoque également un NPU pour son prochain processeur Exynos 9 Series 9820, le probable cerveau du futur Galaxy S10. Seul Qualcomm n’a pas encore opté pour des unités dédiées à l’IA dans ses dernières puces Snapdragon, bien que les plus récentes versions possèdent un DSP (Digital signal processor) spécifique.
On ne sait pas grand-chose sur ces unités de calculs neuronaux, si ce n’est que leur architecture est normalement optimisée pour l’apprentissage automatique et approfondi. Honor indique qu’un NPU, pour accomplir les tâches dévolues à une IA, se révèle 25 fois plus performant qu’un CPU et 4 fois plus qu’un GPU, tout en consommant respectivement 50 fois et 8 fois moins. C’est un benchmark maison, donc à prendre avec des pincettes. Mais la question primordiale demeure : de quelles tâches parle-t-on ?
La photographie est la première qui commence à en tirer profit. Une IA apprenante est en effet susceptible de « comprendre » le contexte (coucher de soleil par exemple), le type de photo (portrait, panorama…) et d’identifier des objets et des formes, statiques ou en mouvement. Un animal qui court ou un selfie est reconnu comme tel et les meilleurs paramètres (profondeur de champ, vitesse de mise au point…) sont automatiquement choisis. De plus, un NPU spécialisé opère ces analyses d’image plus rapidement qu’un CPU, mobilisé partout ailleurs dans un smartphone. Bien sûr, il existe toujours un risque que l’IA se « vautre », mais l’apprentissage automatique et approfondi tend à minimiser les erreurs.
Puisqu’il est question de photographie, l’amélioration des fonctions d’identification faciale est envisageable. À force d’entraînement, une IA basée sur des réseaux de neurones est capable de reconnaître avec un excellent taux de réussite le visage de l’utilisateur, quelles que soient les conditions (luminosité, etc.), avant de procéder au déverrouillage du smartphone.
À ce propos, ce processus d’authentification pourrait impliquer l’analyse de l’utilisation de l’interface, des applications, etc. : une IA peut apprendre par l’expérience les habitudes de l’utilisateur et détecter tout écart suspect à la norme. Les traditionnelles méthodes d’authentification, dont le mot de passe, seraient promises au déclin, car l’IA « sait » que le smartphone est dans les bonnes mains.
Les développeurs doivent aussi apprendre
Cet apprentissage pourrait aussi servir à anticiper les besoins de l’utilisateur, notamment à précharger ses applications préférées pour que le lancement soit plus rapide. La reconnaissance vocale, citée plus haut, ou la reconnaissance de caractères à des fins de traduction pourraient être exécutées localement, dans le smartphone, et donc gagner en fiabilité et rapidité…
Dans la plupart des cas, le conditionnel est de mise, car l’apprentissage automatique et les NPUs sont très récents dans l’industrie du smartphone. Les fabricants laissent heureusement à disposition des SDK (software development kit), dans l’espoir que les développeurs se familiarisent avec tous ces aspects relativement innovants pour en explorer le potentiel. C’est à cette condition que l’IA tiendra ses promesses.