Machine learning nello sviluppo mobile: prospettive e decentralizzazione

Buongiorno, Habr!

Non abbiamo nulla da aggiungere al titolo dell'articolo nella nostra pre-notifica, quindi tutti sono immediatamente invitati al gatto. Leggi e commenta.

Machine learning nello sviluppo mobile: prospettive e decentralizzazione

I professionisti dello sviluppo mobile trarranno vantaggio dai cambiamenti rivoluzionari che oggi ha da offrire. apprendimento automatico sui dispositivi. Il punto è quanto questa tecnologia migliora qualsiasi applicazione mobile, ovvero fornisce un nuovo livello di comodità per gli utenti e consente di utilizzare attivamente funzionalità potenti, ad esempio per fornire i consigli più accurati, basato sulla geolocalizzazioneo rilevare immediatamente malattie delle piante.

Questo rapido sviluppo dell’apprendimento automatico mobile è una risposta a una serie di problemi comuni di cui abbiamo sofferto nell’apprendimento automatico classico. In effetti, tutto è ovvio. In futuro, le applicazioni mobili richiederanno un’elaborazione dei dati più rapida e un’ulteriore riduzione della latenza.

Potresti esserti già chiesto perché App mobili basate sull'intelligenza artificiale, non è possibile eseguire semplicemente l'inferenza nel cloud. Innanzitutto, le tecnologie cloud dipendono da nodi centrali (immagina un enorme data center con un ampio spazio di archiviazione dei dati e una grande potenza di calcolo). Questo approccio centralizzato non è in grado di gestire velocità di elaborazione sufficienti per creare esperienze mobili fluide basate sull'apprendimento automatico. I dati devono essere elaborati centralmente e poi rinviati ai dispositivi. Questo approccio richiede tempo, denaro e non garantisce la riservatezza dei dati stessi.

Quindi, dopo aver delineato questi vantaggi chiave dell'apprendimento automatico mobile, diamo uno sguardo più da vicino al motivo per cui la rivoluzione dell'apprendimento automatico che si sta svolgendo davanti ai nostri occhi dovrebbe interessare personalmente te come sviluppatore mobile.

Riduci la latenza

Gli sviluppatori di app mobili sanno che una maggiore latenza può essere un segno negativo per un programma, non importa quanto siano buone le sue funzionalità o quanto sia affidabile il marchio. In precedenza, sui dispositivi Android c'erano Grave ritardo in molte applicazioni video, a causa del quale la visualizzazione di video e audio spesso risultava non sincronizzata. Allo stesso modo, un client di social media con un’elevata latenza può rendere la comunicazione una vera tortura per l’utente.

L'implementazione dell'apprendimento automatico sui dispositivi sta diventando sempre più importante proprio a causa di problemi di latenza come questi. Immagina come funzionano i filtri delle immagini per i social network o i consigli sui ristoranti basati sulla geolocalizzazione. In tali applicazioni, la latenza deve essere minima affinché possa funzionare al massimo livello.

Come accennato in precedenza, l'elaborazione nel cloud a volte può essere lenta e lo sviluppatore desidera che la latenza sia prossima allo zero affinché le capacità di apprendimento automatico di un'app mobile funzionino correttamente. L'apprendimento automatico sui dispositivi apre funzionalità di elaborazione dei dati che possono davvero ridurre la latenza quasi a zero.

I produttori di smartphone e i giganti del mercato tecnologico stanno gradualmente iniziando a rendersene conto. Per molto tempo, Apple è rimasta leader in questo settore, in via di sviluppo chip sempre più avanzati per smartphone che utilizzano il suo sistema Bionic, che implementa il Neural Engine, che aiuta a guidare le reti neurali direttamente sul dispositivo, ottenendo allo stesso tempo velocità incredibili.

Apple continua inoltre a sviluppare passo dopo passo Core ML, la sua piattaforma di machine learning per app mobili; in biblioteca TensorFlow Lite aggiunto il supporto per le GPU; Google continua ad aggiungere funzionalità precaricate alla sua piattaforma di machine learning ML Kit. Utilizzando queste tecnologie è possibile sviluppare applicazioni che consentono di elaborare i dati alla velocità della luce, eliminare eventuali ritardi e ridurre il numero di errori.

Questa combinazione di precisione ed esperienza utente fluida è un parametro chiave che gli sviluppatori di app mobili devono considerare quando incorporano funzionalità di machine learning nelle loro app. E per garantire tale funzionalità, è necessario portare il machine learning sui dispositivi.

Sicurezza e privacy migliorate

Un altro enorme vantaggio dell’edge computing che non può essere sopravvalutato è quanto migliora la sicurezza e la privacy degli utenti. Garantire la sicurezza e la privacy dei dati nell'applicazione è parte integrante dei compiti dello sviluppatore, soprattutto tenendo conto della necessità di rispettare il GDPR (Regolamento generale sulla protezione dei dati), nuove leggi europee, che influenzeranno senza dubbio la pratica dello sviluppo mobile .

Poiché i dati non devono essere inviati a monte o nel cloud per l'elaborazione, i criminali informatici sono meno in grado di sfruttare eventuali vulnerabilità create durante la fase di trasferimento; pertanto, l'integrità dei dati viene mantenuta. Ciò rende più semplice per gli sviluppatori di app mobili conformarsi alle normative sulla sicurezza dei dati GDPR.

Anche l’apprendimento automatico sui dispositivi consente la decentralizzazione, più o meno allo stesso modo della blockchain. In altre parole, per gli hacker è più difficile sferrare un attacco DDoS contro una rete connessa di dispositivi nascosti che effettuare lo stesso attacco su un server centrale. Questa tecnologia può essere utile anche quando si lavora con i droni e per monitorare il rispetto della legislazione.

I suddetti chip per smartphone di Apple contribuiscono anche a migliorare la sicurezza e la privacy degli utenti, ad esempio possono servire come base per Face ID. Questa funzionalità dell'iPhone è alimentata da una rete neurale distribuita sui dispositivi che raccoglie dati da tutte le diverse rappresentazioni del volto di un utente. Pertanto, la tecnologia funge da metodo di identificazione estremamente accurato e affidabile.

Questi e i nuovi hardware abilitati all’intelligenza artificiale apriranno la strada a interazioni più sicure tra utente e smartphone. In effetti, gli sviluppatori ottengono un ulteriore livello di crittografia per proteggere i dati degli utenti.

Non è richiesta alcuna connessione Internet

A parte i problemi di latenza, l’invio dei dati al cloud per l’elaborazione e il trarre conclusioni richiede una buona connessione Internet. Spesso, soprattutto nei paesi sviluppati, non c'è bisogno di lamentarsi di Internet. Ma cosa fare nelle zone dove la connessione è peggiore? Quando l’apprendimento automatico viene implementato sui dispositivi, le reti neurali vivono sui telefoni stessi. Pertanto, lo sviluppatore può implementare la tecnologia su qualsiasi dispositivo e ovunque, indipendentemente dalla qualità della connessione. Inoltre, questo approccio porta a democratizzare le capacità di machine learning.

salute è uno dei settori che potrebbe trarre particolare vantaggio dall'apprendimento automatico sul dispositivo, poiché gli sviluppatori saranno in grado di creare strumenti in grado di controllare i segni vitali o persino di fornire interventi chirurgici robotici senza alcuna connessione Internet. Questa tecnologia sarà utile anche per gli studenti che desiderano accedere ai materiali delle lezioni senza una connessione Internet, ad esempio mentre si trovano in un tunnel.

In definitiva, l’apprendimento automatico sui dispositivi fornirà agli sviluppatori gli strumenti per creare strumenti che andranno a beneficio degli utenti di tutto il mondo, indipendentemente dalla loro situazione di connessione Internet. Considerando che la potenza dei nuovi smartphone sarà almeno altrettanto potente di quella attuale, gli utenti dimenticheranno i problemi con i ritardi quando lavorano con l'applicazione offline.

Ridurre i costi per la tua azienda

L'apprendimento automatico sui dispositivi può anche farti risparmiare una fortuna non dovendo pagare appaltatori esterni per implementare e mantenere molte delle soluzioni. Come accennato in precedenza, in molti casi si può fare a meno sia del cloud che di Internet.

I servizi cloud specifici per GPU e AI sono le soluzioni più costose che possono essere acquistate. Quando esegui i modelli sul tuo dispositivo, non devi pagare per tutti questi cluster, grazie al fatto che oggi ci sono sempre più smartphone avanzati dotati di processori neuromorfici (NPU).

Evitando l'incubo della pesante elaborazione dei dati che avviene tra il dispositivo e il cloud, risparmi enormemente; Pertanto, è molto vantaggioso implementare soluzioni di machine learning sui dispositivi. Inoltre risparmierai denaro poiché i requisiti di larghezza di banda della tua applicazione saranno notevolmente ridotti.

Anche gli stessi ingegneri risparmiano molto sul processo di sviluppo, poiché non devono assemblare e mantenere un'infrastruttura cloud aggiuntiva. Al contrario, è possibile ottenere di più con un team più piccolo. Pertanto, la pianificazione delle risorse umane nei team di sviluppo è molto più efficace.

conclusione

Indubbiamente, negli anni 2010, il cloud è diventato un vero vantaggio, semplificando l’elaborazione dei dati. Ma l’alta tecnologia si sta sviluppando in modo esponenziale e l’apprendimento automatico sui dispositivi potrebbe presto diventare lo standard di fatto non solo nel campo dello sviluppo mobile, ma anche nell’Internet delle cose.

Con una latenza ridotta, una sicurezza migliorata, funzionalità offline e costi complessivamente inferiori, non sorprende che i maggiori attori nello sviluppo mobile stiano scommettendo molto su questa tecnologia. Anche gli sviluppatori di applicazioni mobili dovrebbero esaminarlo più da vicino per stare al passo con i tempi.

Fonte: habr.com

Aggiungi un commento