Machine learning dans le développement mobile : perspectives et décentralisation

Bonjour, Habr!

Nous n'avons rien à ajouter au titre de l'article dans notre pré-notification - tout le monde est donc immédiatement invité au chat. Lisez et commentez.

Machine learning dans le développement mobile : perspectives et décentralisation

Les professionnels du développement mobile bénéficieront des changements révolutionnaires qu’offre aujourd’hui. apprentissage automatique sur les appareils. Le fait est de savoir à 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, pour fournir les recommandations les plus précises, basé sur la géolocalisation, ou détecter instantanément maladies des plantes.

Ce développement rapide de l’apprentissage automatique mobile est une réponse à un certain nombre de problèmes courants dont nous avons souffert dans l’apprentissage automatique classique. En fait, tout est évident. À l’avenir, les applications mobiles nécessiteront un traitement des données plus rapide et une réduction supplémentaire de la latence.

Vous vous êtes peut-être déjà demandé pourquoi Applications mobiles basées sur l'IA, ne peut pas simplement exécuter une inférence dans le cloud. Premièrement, les technologies cloud dépendent de nœuds centraux (imaginez un immense centre de données doté à la fois d’un stockage de données étendu et d’une grande puissance de calcul). Cette approche centralisée ne peut pas gérer des vitesses de traitement suffisantes pour créer des expériences mobiles fluides alimentées par l'apprentissage automatique. Les données doivent être traitées de manière centralisée puis renvoyées aux appareils. Cette approche nécessite du temps, de l'argent et ne garantit pas la confidentialité des données elles-mêmes.

Ainsi, après avoir décrit ces principaux avantages de l'apprentissage automatique mobile, examinons de plus près 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éduire la latence

Les développeurs d’applications mobiles savent qu’une latence accrue peut être un point noir pour un programme, quelle que soit la qualité de ses fonctionnalités ou la réputation de la marque. Auparavant, sur les appareils Android, il y avait Retard important dans de nombreuses applications vidéo, à cause de laquelle la visualisation vidéo et audio s'est souvent avérée désynchronisée. De même, un client de réseau social avec une latence élevée peut faire de la communication un véritable supplice pour l'utilisateur.

La mise en œuvre du machine learning sur les appareils devient de plus en plus importante, précisément en raison de problèmes de latence comme ceux-ci. Imaginez comment fonctionnent les filtres d'images pour les réseaux sociaux, ou les recommandations de restaurants basées sur la géolocalisation. Dans de telles applications, la latence doit être minimale pour que le système fonctionne au plus haut niveau.

Comme mentionné ci-dessus, le traitement du cloud peut parfois être lent et le développeur souhaite que la latence soit proche de zéro pour que les capacités d'apprentissage automatique d'une application mobile fonctionnent correctement. L'apprentissage automatique sur les appareils ouvre des capacités de traitement des données qui peuvent véritablement réduire la latence à presque zéro.

Les fabricants de smartphones et les géants du marché de la technologie commencent progressivement à 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 utilisant son système Bionic, qui implémente le Neural Engine, qui permet de piloter les réseaux neuronaux directement sur l'appareil, tout en réalisant des vitesses incroyables.

Apple continue également de développer étape par étape Core ML, sa plateforme d'apprentissage automatique pour applications mobiles ; en librairie TensorFlow Lite ajout de la prise en charge des GPU ; Google continue d'ajouter des fonctionnalités préchargées à sa plateforme d'apprentissage automatique ML Kit. Grâce à ces technologies, vous pouvez développer des applications qui vous permettent de traiter les données à une vitesse fulgurante, d'éliminer les retards et de réduire le nombre d'erreurs.

Cette combinaison de précision et d’expériences utilisateur fluides est une mesure clé que les développeurs d’applications mobiles doivent prendre en compte lors de l’introduction de fonctionnalités d’apprentissage automatique dans leurs applications. Et pour garantir une telle fonctionnalité, il faut amener l'apprentissage automatique sur les appareils.

Sécurité et confidentialité améliorées

Un autre avantage considérable de l’informatique de pointe, qu’on ne peut surestimer, est la mesure dans laquelle elle améliore la sécurité et la confidentialité des utilisateurs. Garantir la sécurité et la confidentialité des données dans l'application fait partie intégrante des tâches du développeur, notamment en tenant compte de la nécessité de se conformer au RGPD (Règlement Général sur la Protection des Données), de 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 en amont ou vers le cloud pour être traitées, les cybercriminels sont moins en mesure d'exploiter les vulnérabilités créées pendant la phase de transfert ; par conséquent, l’intégrité des données est préservée. 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, de la même manière que la blockchain. Autrement dit, il est plus difficile pour les pirates de lancer une attaque DDoS sur un réseau connecté d’appareils cachés que de mener la même attaque sur un serveur central. Cette technologie peut également être utile pour travailler avec des drones et pour contrôler le respect de la législation.

Les puces pour smartphone d'Apple mentionnées ci-dessus contribuent également à améliorer la sécurité et la confidentialité des utilisateurs - elles peuvent par exemple servir de base à Face ID. Cette fonctionnalité iPhone est alimentée par un réseau de neurones déployé sur les appareils qui collecte les données de toutes les différentes représentations du visage d'un utilisateur. Ainsi, la technologie constitue une méthode d’identification extrêmement précise et fiable.

Ces matériels, ainsi que les plus récents, basés sur l'IA, ouvriront la voie à des interactions utilisateur-smartphone plus sûres. En fait, les développeurs bénéficient d’une couche de cryptage supplémentaire pour protéger les données des utilisateurs.

Aucune connexion Internet requise

Mis à part les problèmes de latence, l’envoi de données vers le cloud pour être traitées et tirer des conclusions nécessite une bonne connexion Internet. Souvent, surtout 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 connexion est moins bonne ? Lorsque l’apprentissage automatique est mis en œuvre sur les appareils, les réseaux neuronaux vivent sur les téléphones eux-mêmes. Ainsi, le développeur peut déployer la technologie sur n’importe quel appareil et n’importe où, quelle que soit la qualité de la connexion. De plus, cette approche conduit à démocratiser les capacités de ML.

Soins de santé est l'une des industries qui pourrait particulièrement bénéficier de l'apprentissage automatique sur appareil, car les développeurs pourront créer des outils permettant de vérifier les signes vitaux ou même de proposer une chirurgie robotique sans aucune connexion Internet. Cette technologie sera également utile aux étudiants qui souhaitent accéder au matériel de cours sans connexion Internet, par exemple dans un tunnel de transport.

À terme, l'apprentissage automatique sur les appareils fournira aux développeurs les outils nécessaires pour créer des outils qui profiteront aux utilisateurs du monde entier, quelle que soit leur situation de connexion Internet. Étant donné que la puissance des nouveaux smartphones sera au moins aussi puissante que celle des smartphones actuels, les utilisateurs oublieront les problèmes de retard lorsqu'ils travaillent avec l'application hors ligne.

Réduire les coûts pour votre entreprise

L'apprentissage automatique sur les appareils peut également vous faire économiser une fortune en n'ayant pas à payer des sous-traitants externes pour mettre en œuvre et maintenir de nombreuses solutions. Comme mentionné ci-dessus, dans de nombreux cas, vous pouvez vous passer du cloud et d'Internet.

Les services cloud spécifiques au GPU et à l’IA sont les solutions les plus coûteuses pouvant être achetées. Lorsque vous exécutez des modèles sur votre appareil, vous n'avez pas à payer pour tous ces clusters, grâce au fait qu'il existe aujourd'hui de plus en plus de smartphones avancés équipés de processeurs neuromorphiques (NPU).

En évitant le cauchemar du traitement lourd des données qui se produit entre l'appareil et le cloud, vous économisez énormément ; Il est donc très rentable de mettre en œuvre des solutions d’apprentissage automatique sur les appareils. De plus, vous économisez de l'argent car les besoins en bande passante de votre application sont considérablement réduits.

Les ingénieurs eux-mêmes économisent également beaucoup sur le processus de développement, puisqu'ils n'ont pas besoin d'assembler et de maintenir une infrastructure cloud supplémentaire. Au contraire, il est possible de faire plus avec une équipe plus petite. Ainsi, la planification des ressources humaines dans les équipes de développement est bien plus efficace.

Conclusion

Sans aucun doute, dans les années 2010, le cloud est devenu une véritable aubaine, simplifiant le traitement des données. Mais la haute technologie se développe de manière 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 celui de l’Internet des objets.

Avec une latence réduite, une sécurité améliorée, des capacités hors ligne et des coûts globalement inférieurs, il n'est pas surprenant que les plus grands acteurs du développement mobile parient gros sur la technologie. Les développeurs d’applications mobiles devraient également y réfléchir de plus près pour rester dans l’air du temps.

Source: habr.com

Ajouter un commentaire