Bonjour, Habr!
Nous n'avons rien à ajouter au titre de l'article dans notre avis - par conséquent, tout le monde est immédiatement invité à chat. Nous lisons et commentons.

Les développeurs d'appareils mobiles bénéficieront des changements révolutionnaires que le
machine learning sur les appareils peut offrir aujourd'hui. Le point est à quel point cette technologie améliore toute application mobile, à savoir qu'elle offre un nouveau niveau de commodité aux utilisateurs et vous permet d'utiliser activement des fonctionnalités puissantes, par exemple, de fournir les recommandations les plus précises
basées sur la géolocalisation ou de détecter instantanément des
maladies dans les plantes .
Un développement aussi rapide de l'apprentissage automatique mobile est la réponse à un certain nombre de problèmes communs que nous avons eu le temps d'apprendre dans l'apprentissage automatique classique. En fait, tout est évident. À l'avenir, les applications mobiles nécessiteront un traitement plus rapide des données et une nouvelle réduction de la latence.
Vous vous demandez peut-être pourquoi
les applications mobiles basées sur l'IA ne peuvent tout simplement pas exécuter l'inférence logique dans le cloud. Premièrement, les technologies cloud dépendent de nœuds centraux (imaginez un immense centre de données où se concentrent à la fois des entrepôts de données étendus et une grande puissance de calcul). Avec une telle approche centralisée, il est impossible de faire face aux vitesses de traitement suffisantes pour créer des interactions mobiles fluides basées sur l'apprentissage automatique. Les données doivent être traitées de manière centralisée, puis renvoyées à l'appareil. Cette approche prend du temps, de l'argent et ne garantit pas la confidentialité des données elles-mêmes.
Ainsi, après avoir souligné ces principaux avantages de l'apprentissage automatique mobile, examinons plus en détail pourquoi la révolution de l'apprentissage automatique qui se déroule sous nos yeux devrait vous intéresser personnellement en tant que développeur mobile.
Réduction des retards
Les développeurs d'applications mobiles savent qu'une latence accrue peut devenir une marque noire pour un programme, quelle que soit la qualité de ses fonctionnalités ou le respect de la marque. Plus tôt sur les appareils Android, il y avait de
sérieux retards dans de nombreuses applications vidéo , à cause desquelles la visualisation de la vidéo et de l'audio s'avérait souvent non synchronisée. De même, un client de médias sociaux à latence élevée peut transformer la communication en une véritable torture pour l'utilisateur.
La mise en œuvre de l'apprentissage automatique sur un appareil devient de plus en plus importante précisément en raison de ces problèmes de retards. Imaginez comment fonctionnent les filtres d'image pour les réseaux sociaux ou les recommandations de restaurants en référence à la géolocalisation. Dans de telles applications, le retard doit être minime, seulement dans ce cas, il peut fonctionner au plus haut niveau.
Comme mentionné ci-dessus, le traitement dans le cloud est parfois lent, et le développeur a besoin que le délai tende vers zéro - seulement dans ce cas, les capacités d'apprentissage automatique de l'application mobile fonctionneront comme il se doit. L'apprentissage automatique sur les appareils ouvre de telles capacités de traitement des données qui permettent vraiment de réduire le retard à presque zéro.
Les fabricants de smartphones et les géants de la technologie commencent lentement à s'en rendre compte. Pendant longtemps, Apple est resté le leader de cette industrie, développant
des puces de
plus en plus avancées pour les smartphones en utilisant son système Bionic, qui implémente le moteur neuronal Neural Engine, qui aide à piloter les réseaux neuronaux directement sur l'appareil, tout en atteignant des
vitesses incroyables .
Apple continue également de développer pas à pas Core ML, sa plate-forme d'apprentissage automatique pour les applications mobiles;
La bibliothèque
TensorFlow Lite ajoute la prise en charge des GPU; Google continue d'ajouter des fonctionnalités préchargées à sa plateforme d'apprentissage automatique ML Kit. C'est avec ces technologies que vous pouvez développer des applications qui vous permettent de traiter instantanément les données, d'éliminer les retards et de réduire le nombre d'erreurs.
Cette combinaison de précision et d'interactions utilisateur transparentes est un indicateur clé que les développeurs d'applications mobiles doivent prendre en compte lorsqu'ils leur incorporent des capacités d'apprentissage automatique. Et pour garantir une telle fonctionnalité, il est nécessaire
d'adopter le machine learning sur les appareils .
Sécurité et confidentialité améliorées
Un autre avantage énorme de l'informatique de pointe qui ne peut pas être surestimé est à quel point ils améliorent la sécurité et la confidentialité des utilisateurs. La garantie de la sécurité et de la confidentialité des données dans l'application fait partie intégrante des tâches du développeur, compte tenu notamment de la nécessité de se conformer au RGPD (Règlement Général sur la Protection des Données), les nouvelles lois européennes, qui affecteront sans aucun doute la pratique du développement mobile.
Étant donné que les données n'ont pas besoin d'être envoyées pour traitement vers le nord ou vers le cloud, les cybercriminels ont moins de possibilités d'exploiter les vulnérabilités qui se sont produites lors d'un tel transfert; par conséquent, l'intégrité des données est maintenue. Cela permet aux développeurs d'applications mobiles de se conformer plus facilement aux réglementations de sécurité des données du RGPD.
L'apprentissage automatique sur les appareils permet également la décentralisation, en grande partie sur le même principe que la blockchain. En d'autres termes, il est plus difficile pour les pirates informatiques de mettre un réseau connecté d'appareils cachés avec une attaque DDoS que d'effectuer la même attaque sur un serveur central. Cette technologie peut également être utile lorsque vous travaillez avec des drones et pour contrôler le respect de la loi.
Les puces pour smartphones susmentionnées d'Apple contribuent également à améliorer la sécurité et la confidentialité de l'utilisateur - afin qu'elles puissent servir de base à Face ID. Cette fonctionnalité iPhone est basée sur un réseau de neurones déployé sur des appareils et collecte des données sur toutes les différentes représentations du visage de l'utilisateur. Ainsi, la technologie sert de méthode d'identification extrêmement précise et fiable.
Ces nouveaux équipements compatibles avec l'IA ouvriront la voie à des interactions plus sûres entre les utilisateurs et le smartphone. En fait, les développeurs bénéficient d'une couche supplémentaire de cryptage pour protéger les données des utilisateurs.
Aucune connexion Internet requise
Outre les problèmes de latence, l'envoi de données vers le cloud pour le traitement et l'extraction de leads nécessite une bonne connexion Internet. Souvent, en particulier dans les pays développés, il n'est pas nécessaire de se plaindre d'Internet. Mais que faire dans les zones où la communication est pire? Lorsque l'apprentissage automatique est implémenté sur des appareils, les réseaux de neurones vivent seuls sur les téléphones. Ainsi, le développeur peut déployer la technologie sur n'importe quel appareil et en tout lieu, quelle que soit la qualité de la connexion. De plus, cette approche conduit à la
démocratisation des capacités de BC .
Les soins de santé sont l'une des industries qui peuvent particulièrement bénéficier de l'apprentissage automatique sur les appareils, car les développeurs peuvent créer des outils qui vérifient les indicateurs vitaux, ou même fournir une robotchirurgie sans connexion Internet. Cette technologie est également utile pour les étudiants qui souhaitent accéder au matériel de cours sans avoir de connexion Internet - par exemple, dans un tunnel de transport.
En fin de compte, l'apprentissage automatique sur les appareils fournira aux développeurs des outils pour créer des outils qui seront utiles aux utilisateurs du monde entier, quelle que soit la situation avec la connexion Internet. Étant donné que la puissance des nouveaux smartphones ne sera au moins pas inférieure à celle des smartphones actuels, les utilisateurs oublieront les problèmes de retards lorsqu'ils travaillent avec l'application hors ligne.
Réduisez les coûts pour votre entreprise
L'apprentissage automatique sur les appareils est également conçu pour vous faire économiser une fortune - car avec lui, vous n'aurez pas à payer des entrepreneurs externes qui mettront en œuvre et prendront en charge de nombreuses solutions. Comme mentionné ci-dessus, dans de nombreux cas, vous pouvez vous passer du cloud et d'Internet.
Les GPU et les services cloud spécifiques à l'IA sont les solutions les plus chères que vous pouvez acheter. Lors du lancement de modèles sur l'appareil, vous n'avez pas à payer pour tous ces clusters, du fait qu'aujourd'hui de plus en plus de smartphones avancés équipés de
processeurs neuromorphiques (NPU) apparaissent.
En évitant le cauchemar du traitement lourd des données entre l'appareil et le cloud, vous économisez énormément; par conséquent, la mise en œuvre de solutions d'apprentissage automatique sur les appareils est très bénéfique. De plus, vous économisez car les exigences de bande passante de données sont considérablement réduites dans votre application.
Les ingénieurs eux-mêmes économisent également considérablement sur le processus de développement, car ils n'ont pas à collecter et à maintenir une infrastructure cloud supplémentaire. Au contraire, il est possible de faire plus avec les forces d'une équipe plus petite. Ainsi, la planification des ressources humaines dans les équipes de développement est beaucoup plus efficace.
Conclusion
Sans aucun doute, dans les années 2010, les nuages sont devenus une véritable bénédiction qui a simplifié le traitement des données. Mais la haute technologie se développe de façon exponentielle et l'apprentissage automatique sur les appareils pourrait bientôt devenir la norme de facto non seulement dans le domaine du développement mobile, mais aussi dans le domaine de l'Internet des objets.
Grâce à une latence réduite, une sécurité améliorée, des fonctionnalités hors ligne et moins chères dans l'ensemble, il n'est pas surprenant que les plus grands acteurs du développement mobile parient sur cette technologie. Les développeurs d'applications mobiles devraient également y regarder de plus près pour suivre le temps.