Gemini Nano

Gemini Nano consente di offrire esperienze di AI generativa avanzate senza aver bisogno di una connessione di rete o di inviare dati al cloud. L'AI on-device è un'ottima soluzione per i casi d'uso in cui i costi ridotti e le misure di protezione della privacy sono le tue principali preoccupazioni.

Per i casi d'uso on-device, puoi sfruttare il modello di base Gemini Nano di Google. Gemini Nano viene eseguito nel servizio di sistema AICore di Android, che sfrutta l'hardware del dispositivo per consentire una bassa latenza di inferenza e mantiene il modello aggiornato.

API GenAI di ML Kit

Le API di AI generativa di ML Kit sfruttano la potenza di Gemini Nano per aiutare le tue app a eseguire attività di AI generativa on-device. Queste API sono basate su AICore, un servizio di sistema Android che consente l'esecuzione on-device dei foundation model di AI generativa per facilitare funzionalità come la funzionalità dell'app migliorata e la privacy dell'utente migliorata tramite l'elaborazione dei dati in locale. Ulteriori informazioni.

Funzionalità principali

ML Kit organizza le sue funzionalità di AI generativa nelle seguenti categorie:

Generazione e agenti personalizzati

Lavora direttamente con il foundation model Gemini Nano per casi d'uso personalizzati:

  • Accesso diretto al modello (utilizzando la classe GenerativeModel): genera testo generato o output strutturato digitato da prompt multimodali o di solo testo personalizzati oppure gestisci la cronologia della chat a più turni direttamente utilizzando un oggetto List<Content> con i ruoli USER e MODEL e un valore sessionId.
  • Agentic Workflows (utilizzando la classe AgentRunner): basati sulla classe GenerativeModel, automatizzano la gestione delle sessioni multi-turno (inclusa la cronologia delle conversazioni in memoria) e i loop di chiamate degli strumenti in più passaggi.

Voce e audio

Trascrivi, traduci e sintetizza l'audio vocale on-device:

Attività di testo e immagini

Utilizza API specifiche per le attività, ottimizzate per le attività comuni di visione, scrittura e ricerca tramite un'interfaccia di alto livello:

  • Descrizione dell'immagine: genera una breve descrizione di un'immagine specifica.
  • Riassunto: riassumi articoli o conversazioni sotto forma di elenco puntato.
  • Correzione delle bozze: correggi le bozze di brevi messaggi chat.
  • Riscrivere: riscrivi brevi messaggi chat con toni o stili diversi.
  • Ricerca semantica: genera vector embedding per testo e immagini utilizzando l'API Embedding e abbinali ad AppSearch di AndroidX per trovare i contenuti in base al significato.

Architettura tramite AICore

In quanto modulo a livello di sistema, accedi ad AICore tramite una serie di API per eseguire l'inferenza on-device. Inoltre, AICore dispone di diverse funzionalità di sicurezza integrate, che garantiscono una valutazione approfondita rispetto ai nostri filtri di sicurezza. Il seguente diagramma illustra come un'app accede ad AICore per eseguire Gemini Nano on-device.

Un diagramma che mostra come un'app per Android utilizza l'SDK Google AI Edge per accedere ad AICore, dove Gemini Nano, LoRA e le funzionalità di sicurezza vengono gestite ed eseguite su acceleratori hardware.
Figura 1. AICore funge da interfaccia tra la tua app e il modello Gemini Nano, gestendo gli aggiornamenti e la sicurezza del modello e sfruttando l'hardware on-device.

Mantieni i dati degli utenti privati e al sicuro

L'AI generativa on-device esegue i prompt localmente, eliminando le chiamate al server. In questo modo, la latenza di rete viene eliminata, ma la velocità di inferenza dipende dall'hardware del dispositivo. Questo approccio migliora la privacy mantenendo i dati sensibili sul dispositivo, consente la funzionalità offline e riduce i costi di inferenza.

AICore rispetta i principi di Private Compute Core, con le seguenti caratteristiche principali:

  • Associazione di pacchetti limitata: AICore è isolato dalla maggior parte degli altri pacchetti, con eccezioni limitate per pacchetti di sistema specifici. Eventuali modifiche a questo elenco consentito possono essere apportate solo durante un aggiornamento OTA completo di Android.
  • Accesso indiretto a internet: AICore non ha accesso diretto a internet. Tutte le richieste internet, inclusi i download dei modelli, vengono instradate tramite l'APK companion open source Private Compute Services. Le API all'interno di Private Compute Services devono dimostrare esplicitamente la loro natura incentrata sulla privacy.

Inoltre, AICore è progettato per isolare ogni richiesta e non memorizza alcun record dei dati di input o degli output risultanti dopo l'elaborazione per proteggere la privacy dell'utente. Per saperne di più, leggi il blog post An Introduction to Privacy and Safety for Gemini Nano.

Un diagramma dettagliato dell'architettura di AICore che mostra il flusso delle richieste:
    superficie dell'API, elaborazione degli input con indicatori di sicurezza, configurazione delle funzionalità,
    runtime con ponderazioni del modello e LoRA ed elaborazione degli output con indicatori di
    sicurezza. Mostra anche i download dei modelli tramite Private Compute Services.
Figura 2. L'architettura AICore gestisce la sicurezza di input e output, l'elaborazione delle richieste e i pesi dei modelli per fornire un ambiente sicuro per l'AI on-device.

Vantaggi dell'accesso ai foundation model di AI con AICore

AICore consente al sistema operativo Android di fornire e gestire i foundation model dell'AI. In questo modo, il costo di utilizzo di questi modelli di grandi dimensioni nella tua app si riduce notevolmente, principalmente per i seguenti motivi:

  • Facilità di deployment: AICore gestisce la distribuzione di Gemini Nano e gestisce gli aggiornamenti futuri. Non devi preoccuparti di scaricare o aggiornare modelli di grandi dimensioni sulla rete, né dell'impatto sul budget di memoria del disco e di runtime della tua app.
  • Inferenza accelerata: AICore sfrutta l'hardware on-device per accelerare l'inferenza. La tua app ottiene le migliori prestazioni su ogni dispositivo e non devi preoccuparti delle interfacce hardware sottostanti.

Quando utilizzare l'inferenza ibrida

Sebbene Gemini Nano sia ideale per le attività offline e sensibili alla privacy, presenta vincoli on-device come limiti di token, limitazioni hardware del dispositivo e limiti delle funzionalità del modello. In questi scenari, puoi utilizzare l'inferenza ibrida per bilanciare i workload di AI tra il dispositivo locale e il cloud.

Per garantire un'esperienza utente coerente su tutti i dispositivi e gestire query complesse, puoi utilizzare l'API Firebase AI Logic Hybrid. In questo modo, l'app può:

  • Esegui il fallback in modo controllato: instrada automaticamente le richieste ai modelli Gemini Flash o Gemini Pro nel cloud quando Gemini Nano non è disponibile o non è supportato sul dispositivo dell'utente.
  • Applica la sicurezza: proteggi l'inferenza cloud con Firebase App Check (e i relativi provider di attestazione supportati, come Play Integrity) e mantieni i prompt di sistema sensibili lato server.