Questa guida è progettata per aiutarti a integrare le soluzioni di intelligenza artificiale generativa e di machine learning (IA/ML) di Google nelle tue applicazioni. Fornisce indicazioni per aiutarti a orientarti tra le varie soluzioni di intelligenza artificiale e machine learning disponibili e a scegliere quella più adatta alle tue esigenze. Lo scopo di questo documento è aiutarti a determinare quale strumento utilizzare e perché, concentrandoti sulle tue esigenze e sui tuoi casi d'uso.
Per aiutarti a selezionare la soluzione IA/ML più adatta ai tuoi requisiti specifici, questo documento include una guida alle soluzioni. Se rispondi a una serie di domande sugli obiettivi e sui vincoli del tuo progetto, la guida ti indirizza verso le tecnologie e gli strumenti più appropriati.
Questa guida ti aiuta a scegliere la soluzione di IA migliore per la tua app. Prendi in considerazione i seguenti fattori: il tipo di dati (testo, immagini, audio, video), la complessità dell'attività (dal semplice riassunto alle attività complesse che richiedono conoscenze specializzate) e le dimensioni dei dati (input brevi rispetto a documenti di grandi dimensioni). In questo modo potrai decidere se utilizzare Gemini Nano sul tuo dispositivo o l'IA basata su cloud di Firebase (Gemini Flash, Gemini Pro o Imagen).
Sfrutta la potenza dell'inferenza on-device
Quando aggiungi funzionalità di AI e ML alla tua app per Android, puoi scegliere diversi modi per implementarle, sul dispositivo o utilizzando il cloud.
Le soluzioni on-device come Gemini Nano offrono risultati senza costi aggiuntivi, garantiscono una maggiore privacy degli utenti e funzionalità offline affidabili poiché i dati di input vengono elaborati localmente. Questi vantaggi possono essere fondamentali per alcuni casi d'uso, come il riepilogo dei messaggi, rendendo l'on-device una priorità quando si scelgono le soluzioni giuste.
Gemini Nano ti consente di eseguire l'inferenza direttamente su un dispositivo Android. Se utilizzi testo o immagini, inizia con le API di IA generativa di ML Kit per soluzioni pronte all'uso. Le API di IA generativa di ML Kit sono basate su Gemini Nano e ottimizzate per attività specifiche sul dispositivo. Le API ML Kit GenAI sono un percorso ideale per la produzione delle tue app grazie alla loro interfaccia e scalabilità di livello superiore. Queste API ti consentono di implementare casi d'uso per riassumere, correggere e riscrivere il testo, nonché generare descrizioni delle immagini.
Per andare oltre i casi d'uso fondamentali forniti dalle API di ML Kit per l'IA generativa, valuta la possibilità di utilizzare l'accesso sperimentale a Gemini Nano. L'accesso sperimentale a Gemini Nano ti offre un accesso più diretto ai prompt personalizzati con Gemini Nano.
Per le attività di machine learning tradizionali, hai la flessibilità di implementare i tuoi modelli personalizzati. Forniamo strumenti solidi come ML Kit, MediaPipe, LiteRT e le funzionalità di caricamento di Google Play per snellire il processo di sviluppo.
Per le applicazioni che richiedono soluzioni altamente specializzate, puoi utilizzare il tuo modello personalizzato, come Gemma o un altro modello personalizzato per il tuo caso d'uso specifico. Esegui il modello direttamente sul dispositivo dell'utente con LiteRT, che fornisce architetture di modelli pre-progettate per prestazioni ottimizzate.
Puoi anche valutare la possibilità di creare una soluzione ibrida sfruttando sia i modelli on-device sia quelli cloud.
Le app mobile utilizzano comunemente modelli locali per piccoli dati di testo, come conversazioni di chat o articoli di blog. Tuttavia, per origini dati più grandi (come i PDF) o quando sono necessarie conoscenze aggiuntive, potrebbe essere necessaria una soluzione basata su cloud con modelli Gemini più potenti.
Integrare i modelli Gemini avanzati
Gli sviluppatori Android possono integrare le funzionalità avanzate di AI generativa di Google, tra cui i potenti modelli Gemini Pro, Gemini Flash e Imagen, nelle loro applicazioni utilizzando l'SDK Firebase AI Logic. Questo SDK è progettato per soddisfare esigenze di dati più elevate e offre funzionalità e adattabilità ampliate consentendo l'accesso a questi modelli di IA multimodale ad alte prestazioni.
Con l'SDK Firebase AI Logic, gli sviluppatori possono effettuare chiamate lato client ai modelli di IA di Google con il minimo sforzo. Questi modelli, come Gemini Pro e Gemini Flash, eseguono l'inferenza nel cloud e consentono alle app per Android di elaborare una serie di input, tra cui immagini, audio, video e testo. Gemini Pro eccelle nel ragionare su problemi complessi e nell'analizzare dati di grandi dimensioni, mentre la serie Gemini Flash offre una velocità superiore e una finestra contestuale sufficientemente grande per la maggior parte delle attività.
Quando utilizzare il machine learning tradizionale
Sebbene l'IA generativa sia utile per creare e modificare contenuti come testo, immagini e codice, molti problemi del mondo reale sono meglio risolti utilizzando le tecniche tradizionali di machine learning (ML). Questi metodi consolidati eccellono nelle attività che richiedono la previsione, la classificazione, il rilevamento e la comprensione di schemi all'interno dei dati esistenti, spesso con maggiore efficienza, costi di calcolo inferiori e implementazione più semplice rispetto ai modelli generativi.
I framework ML tradizionali offrono soluzioni solide, ottimizzate e spesso più pratiche per le applicazioni incentrate sull'analisi degli input, sull'identificazione delle funzionalità o sulla generazione di previsioni in base a pattern appresi, anziché sulla generazione di output completamente nuovi. Strumenti come ML Kit, LiteRT e MediaPipe di Google offrono funzionalità potenti personalizzate per questi casi d'uso non generativi, in particolare in ambienti di edge computing e mobile.
Inizia a utilizzare l'integrazione del machine learning con ML Kit
ML Kit offre soluzioni pronte per la produzione e ottimizzate per il mobile per le comuni attività di machine learning, senza richiedere alcuna esperienza precedente in ML. Questo SDK mobile facile da usare porta le competenze di Google in materia di ML direttamente nelle tue app per Android e iOS, consentendoti di concentrarti sullo sviluppo delle funzionalità anziché sull'addestramento e sull'ottimizzazione dei modelli. ML Kit fornisce API predefinite e modelli pronti all'uso per funzionalità come scansione di codici a barre, riconoscimento del testo (OCR), rilevamento di volti, etichettatura delle immagini, rilevamento e monitoraggio di oggetti, identificazione della lingua e risposta rapida.
Questi modelli sono in genere ottimizzati per l'esecuzione sul dispositivo, garantendo una bassa latenza, funzionalità offline e una maggiore privacy degli utenti, poiché i dati rimangono spesso sul dispositivo. Scegli ML Kit per aggiungere rapidamente funzionalità di ML consolidate alla tua app mobile senza dover addestrare i modelli o richiedere output generativi. È ideale per migliorare in modo efficiente le app con funzionalità "smart" utilizzando i modelli ottimizzati di Google o implementando modelli TensorFlow Lite personalizzati.
Inizia a utilizzare le nostre guide e la nostra documentazione complete sul sito per sviluppatori di ML Kit.
Deployment di ML personalizzato con LiteRT
Per un maggiore controllo o per implementare i tuoi modelli di ML, utilizza uno stack ML personalizzato basato su LiteRT e Google Play Services. Questo stack fornisce gli elementi essenziali per il deployment di funzionalità di ML ad alte prestazioni. LiteRT è un toolkit ottimizzato per eseguire in modo efficiente i modelli TensorFlow su dispositivi mobili, embedded e edge con risorse limitate, consentendoti di eseguire modelli notevolmente più piccoli e veloci che consumano meno memoria, potenza e spazio di archiviazione. Il runtime LiteRT è molto ottimizzato per vari acceleratori hardware (GPU, DSP, NPU) sui dispositivi perimetrali, consentendo l'inferenza a bassa latenza.
Scegli LiteRT quando devi implementare in modo efficiente modelli di ML addestrati (in genere per classificazione, regressione o rilevamento) su dispositivi con potenza di calcolo o durata della batteria limitata, come smartphone, dispositivi IoT o microcontrollori. È la soluzione preferita per il deployment di modelli predittivi personalizzati o standard in edge, dove velocità e risparmio di risorse sono fondamentali.
Scopri di più sul deployment di ML con LiteRT.
Integra la percezione in tempo reale nelle tue app con MediaPipe
MediaPipe fornisce soluzioni di machine learning personalizzabili, open source e multipiattaforma progettate per i media live e in streaming. Sfrutta gli strumenti ottimizzati e predefiniti per attività complesse come il rilevamento delle mani, la stima della posa, il rilevamento della mesh del viso e il rilevamento degli oggetti, il tutto per consentire un'interazione in tempo reale ad alte prestazioni anche sui dispositivi mobili.
Le pipeline basate su grafo di MediaPipe sono altamente personalizzabili e ti consentono di personalizzare le soluzioni per applicazioni Android, iOS, web, desktop e di backend. Scegli MediaPipe quando la tua applicazione deve comprendere e reagire immediatamente ai dati dei sensori in tempo reale, in particolare agli stream video, per casi d'uso come il riconoscimento dei gesti, gli effetti AR, il monitoraggio dell'attività fisica o il controllo dell'avatar, tutti incentrati sull'analisi e sull'interpretazione dell'input.
Esplora le soluzioni e inizia a creare con MediaPipe.
Scegli un approccio: on-device o cloud
Quando integri funzionalità di IA/ML nella tua app per Android, una decisione iniziale fondamentale è se eseguire l'elaborazione direttamente sul dispositivo dell'utente o nel cloud. Strumenti come ML Kit, Gemini Nano e TensorFlow Lite abilitano funzionalità sul dispositivo, mentre le API cloud Gemini con la logica AI di Firebase possono fornire un'elaborazione efficace basata su cloud. Fare la scelta giusta dipende da una serie di fattori specifici per il tuo caso d'uso e le esigenze degli utenti.
Valuta i seguenti aspetti per prendere la tua decisione:
- Connettività e funzionalità offline: se la tua applicazione deve funzionare in modo affidabile senza una connessione a internet, le soluzioni on-device come Gemini Nano sono ideali. L'elaborazione basata su cloud, per sua natura, richiede accesso alla rete.
- Privacy dei dati: per i casi d'uso in cui i dati utente devono rimanere sul dispositivo per motivi di privacy, l'elaborazione on-device offre un vantaggio distinto mantenendo le informazioni sensibili locali.
- Funzionalità del modello e complessità delle attività: i modelli basati su cloud sono spesso molto più grandi, più potenti e aggiornati più di frequente, il che li rende adatti per attività di IA altamente complesse o per l'elaborazione di input più grandi in cui la qualità dell'output e le funzionalità estese sono fondamentali. Le attività più semplici potrebbero essere gestite bene dai modelli on-device.
- Considerazioni sui costi: in genere le API cloud prevedono prezzi basati sull'utilizzo, il che significa che i costi possono variare in base al numero di deduzioni o alla quantità di dati elaborate. L'inferenza on-device, sebbene generalmente esente da costi diretti per l'utilizzo, comporta costi di sviluppo e può influire sulle risorse del dispositivo, come la durata della batteria e le prestazioni complessive.
- Risorse del dispositivo: i modelli on-device occupano spazio di archiviazione sul dispositivo dell'utente. È inoltre importante conoscere la compatibilità dei dispositivi con modelli on-device specifici, come Gemini Nano, per assicurarti che il pubblico di destinazione possa utilizzare le funzionalità.
- Ottimizzazione e personalizzazione: se hai bisogno di ottimizzare i modelli per il tuo caso d'uso specifico, le soluzioni basate su cloud in genere offrono una maggiore flessibilità e opzioni di personalizzazione più ampie.
- Congruenza multipiattaforma: se le funzionalità di IA coerenti su più piattaforme, tra cui iOS, sono fondamentali, tieni presente che alcune soluzioni on-device, come Gemini Nano, potrebbero non essere ancora disponibili su tutti i sistemi operativi.
Se prendi in considerazione attentamente i requisiti del tuo caso d'uso e le opzioni disponibili, puoi trovare la soluzione di IA/ML perfetta per migliorare la tua app per Android e offrire esperienze intelligenti e personalizzate ai tuoi utenti.
Guida alle soluzioni AI/ML
Questa guida alle soluzioni può aiutarti a identificare gli strumenti per sviluppatori appropriati per integrare le tecnologie di IA/ML nei tuoi progetti Android.
Qual è lo scopo principale della funzionalità di IA?
- A) Generazione di nuovi contenuti (testo, descrizioni di immagini) o esecuzione di una semplice elaborazione di testo (riepilogo, correzione o riscrittura del testo)? → Vai ad IA generativa
- B) Analizzi dati/input esistenti per la previsione, la classificazione, il rilevamento, la comprensione di pattern o l'elaborazione di stream in tempo reale (ad esempio video/audio)? → Vai a ML e percezione tradizionali
ML tradizionale e percezione
Devi analizzare gli input, identificare le funzionalità o fare previsioni in base ai pattern appresi, anziché generare output completamente nuovi.
Quale attività specifica stai eseguendo?
- A) Hai bisogno di un'integrazione rapida di funzionalità ML mobile comuni predefinite?
(ad es. scansione di codici a barre, riconoscimento del testo (OCR), rilevamento di volti, etichettatura delle immagini, rilevamento e monitoraggio di oggetti, ID lingua, risposta rapida di base)
- → Utilizzo: ML Kit (API tradizionali)
- Perché: l'integrazione più semplice per le attività di ML mobile consolidate, spesso ottimizzate per l'utilizzo sul dispositivo (bassa latenza, offline, privacy).
- B) Devi elaborare dati in streaming in tempo reale (come video o audio) per compiti di percezione? (ad es. monitoraggio delle mani, stima della posizione, mesh del viso,
rilevamento e segmentazione di oggetti in tempo reale nei video)
- → Utilizzo: MediaPipe
- Perché: framework specializzato per pipeline di percezione in tempo reale ad alte prestazioni su varie piattaforme.
- C) Devi eseguire in modo efficiente il tuo modello ML addestrato in modo personalizzato (ad es. per classificazione, regressione, rilevamento) sul dispositivo, dando la priorità alle prestazioni e a un basso utilizzo delle risorse?
- → Utilizzo: LiteRT (TensorFlow Lite Runtime)
- Perché: runtime ottimizzato per il deployment efficiente di modelli personalizzati su dispositivi mobili ed edge (piccole dimensioni, inferenza rapida, accelerazione hardware).
- D) Devi addestrare il tuo modello ML personalizzato per un'attività specifica?
- → Utilizzo: LiteRT (TensorFlow Lite Runtime) + addestramento di modelli personalizzati
- Perché: fornisce gli strumenti per formare e implementare modelli personalizzati, ottimizzati per i dispositivi mobili e di edge.
- E) Hai bisogno di classificazione avanzata dei contenuti, analisi del sentiment o traduzione di molte lingue con sfumature elevate?
- Valuta se i modelli ML tradizionali (potenzialmente implementati utilizzando LiteRT o il cloud) sono adatti o se l'NLU avanzata richiede modelli generativi (torna a Inizia, scegli A). Per la classificazione, il sentiment o la traduzione basati su cloud:
- → Utilizzo: soluzioni basate su cloud (ad es. API Google Cloud Natural Language, API Google Cloud Translation, a cui è possibile accedere utilizzando un backend personalizzato o Vertex AI). (priorità inferiore rispetto alle opzioni sul dispositivo se la privacy o la modalità offline sono fondamentali).
- Perché: le soluzioni cloud offrono modelli efficaci e un'ampia assistenza linguistica, ma richiedono connettività e potrebbero comportare costi.
AI generativa
Devi creare nuovi contenuti, riassumere, riscrivere o eseguire attività complesse di comprensione o interazione.
Hai bisogno che l'AI funzioni offline, hai bisogno della massima privacy dei dati (mantenendo i dati utente sul dispositivo) o vuoi evitare i costi di inferenza sul cloud?
- R) Sì, offline, massima privacy o nessun costo del cloud è fondamentale.
- → Vai a IA generativa on-device
- B) No, la connettività è disponibile e accettabile, le funzionalità e la scalabilità del cloud sono più importanti o funzionalità specifiche richiedono il cloud.
- → Vai ad IA generativa di Cloud
AI generativa on-device (utilizzo di Gemini Nano)
Limiti: sono richiesti dispositivi Android compatibili, il supporto di iOS è limitato, esistono limiti specifici per i token (prompt 1024, contesto 4096) e i modelli sono meno potenti rispetto a quelli cloud.
Il tuo caso d'uso corrisponde specificamente alle attività semplificate offerte dalle API GenAI di ML Kit? (Riassumi testo, Correggi bozza testo, Riscrivi testo, Genera descrizioni delle immagini) E i limiti di token sono sufficienti?
- A) Sì:
- → Utilizzo: API di IA generativa di ML Kit (basate su Gemini Nano)
- Perché: il modo più semplice per integrare attività generative specifiche e comuni sul dispositivo, la soluzione on-device con la massima priorità.
- B) No (hai bisogno di prompt o attività più flessibili oltre alle API MLKit GenAI specifiche, ma vuoi comunque l'esecuzione on-device nelle funzionalità di Nano):
- → Utilizzo: accesso sperimentale a Gemini Nano
- Perché: fornisce funzionalità di prompt aperti sul dispositivo per casi d'uso che vanno oltre le API di IA generativa di ML Kit strutturate, rispettando le limitazioni di Nano.
IA generativa su Cloud
Utilizza modelli più potenti, richiede connettività, di solito comporta costi di inferenza, offre una copertura più ampia dei dispositivi e una maggiore coerenza multipiattaforma (Android e iOS).
Qual è la tua priorità: facilità di integrazione in Firebase OPPURE massima flessibilità/controllo?
- A) Preferisci un'integrazione più semplice, un'esperienza API gestita e probabilmente già utilizzi Firebase?
- → Utilizzo: SDK Firebase AI Logic → Vai a Firebase AI Logic
- B) Hai bisogno della massima flessibilità, dell'accesso alla più ampia gamma di modelli (inclusi quelli di terze parti/personalizzati), dell'ottimizzazione avanzata e sei disposto a gestire la tua integrazione di backend (più complessa)?
- → Utilizzo: API Gemini con un backend cloud personalizzato (utilizzando la piattaforma Google Cloud)
- Perché: offre il massimo controllo, l'accesso più ampio ai modelli e opzioni di addestramento personalizzate, ma richiede un impegno significativo per lo sviluppo del backend. Adatta per esigenze complesse, su larga scala o altamente personalizzate.
(Hai scelto l'SDK Firebase AI Logic) Di che tipo di attività generativa e profilo di rendimento hai bisogno?
- A) Hai bisogno di un equilibrio tra prestazioni e costi, adatto alla generazione di testo generale, al riassunto o ad applicazioni di chat in cui la velocità è importante?
- → Utilizza: SDK Firebase AI Logic con Gemini Flash
- Perché: ottimizzato per velocità ed efficacia nell'ambiente gestito di Vertex AI.
- B) Hai bisogno di una qualità e di funzionalità superiori per la generazione di testo complesso, il ragionamento, l'NLU avanzata o il rispetto delle istruzioni?
- → Utilizzo: SDK Firebase AI Logic con Gemini Pro
- Perché: un modello di testo più potente per attività impegnative, a cui si accede tramite Firebase.
- C) Hai bisogno di generazione di immagini sofisticata o di una comprensione o manipolazione avanzata delle immagini in base a prompt di testo?
- → Utilizzo: SDK Firebase AI Logic con Imagen 3
- Perché: modello di generazione di immagini all'avanguardia a cui si accede utilizzando l'ambiente Firebase gestito.