Vai al contenuto principale

Gemma 3n: guida con progetto demo (app Android VLM)

Scopri come creare un'app Android che usa Gemma 3n di Google per rispondere a domande sulle immagini direttamente sul tuo telefono, senza bisogno del cloud.
Aggiornato 29 set 2026  · 12 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Google ha appena rilasciato Gemma 3n, un modello multimodale per dispositivi edge che supporta attività di visione, linguaggio e audio con esecuzione modulare. In questo tutorial ti spiego passo dopo passo come scaricare ed eseguire Gemma 3n in locale, direttamente sul tuo dispositivo Android, senza risorse cloud. Useremo un'app demo che ti permette di:

  • Porre domande in linguaggio naturale sulle immagini
  • Eseguire il modello interamente offline usando il runtime ai-edge-litert di Google
  • Provare l'esperienza in un'interfaccia Android personalizzata

Imparerai come il formato del file .task abilita un deployment leggero, come l'app scarica e inizializza automaticamente Gemma 3n per l'uso locale, mantenendo al contempo le prestazioni fluide e il consumo di memoria basso.

Che cos'è Gemma 3n?

Gemma 3n è l'ultima famiglia di modelli multimodali a pesi aperti di Google AI, progettata per girare in modo efficiente su dispositivi di tutti i giorni come telefoni, tablet e laptop. Basata su una nuova architettura MatFormer con supporto per la cache dei parametri PLE (Per-Layer Embedding), Gemma 3n offre prestazioni on-device riducendo al minimo i costi di memoria e calcolo.

Pur essendo simile ai tradizionali modelli visione-linguaggio (VLM), Gemma 3n supporta modalità testo, immagine e audio. La variante "3n" è ottimizzata specificamente per il deployment su edge, con esecuzione leggera su CPU, NPU o GPU mobile tramite l'AI Edge SDK di Google.

Ecco le principali caratteristiche di Gemma 3n:

  • Input multimodale: accetta input sia testuali sia di immagine per un ragionamento visivo ancorato
  • Inferenza on-device: non serve Internet una volta scaricato il modello
  • Efficienza dei parametri: usa attivazione selettiva, cache PLE e nesting MatFormer per ridurre l'overhead di memoria
  • Ottimizzato per mobile: Gemma 3n supporta inferenza INT4 e FP16 su Android tramite MediaPipe e gli strumenti Google AI Edge
  • Pesi aperti: è concesso in licenza per uso commerciale responsabile e fine-tuning

Nota importante: sebbene Gemma 3n supporti input audio nella sua architettura completa, le funzionalità audio non sono ancora disponibili in anteprima pubblica.

Come accedere a Gemma 3n?

Puoi provare Gemma 3n in tre modi:

  1. Google AI Studio: il modo più semplice per iniziare nel browser. Vai su Google AI Studio e seleziona Gemma 3n dall'elenco dei modelli. Al momento è disponibile solo la variante “gemma-3n-e4b-it”. 
  2. Anteprima su Hugging Face: il file .task di Gemma 3n è pubblicato nel formato ai-edge-litert di Google. Puoi richiedere l'accesso alla pagina dei modelli su Hugging Face e scaricare localmente il modello per l'inferenza. Un file .task è un pacchetto compatto e adatto al runtime che contiene una versione precompilata del modello, i suoi metadati e tutte le configurazioni necessarie, progettato specificamente per un'esecuzione rapida e sicura on-device con l'AI Edge SDK di Google.
  3. Esegui sul dispositivo (consigliato): usa l'app Gemma Gallery ufficiale di Google per eseguire Gemma 3n direttamente sul tuo telefono Android. Questo metodo supporta l'interazione completa con immagini e prompt tramite un modello locale.

Ora ti guiderò nella creazione di un'app Android funzionante che usa il modello Gemma 3n per elaborare prompt di immagine e testo. Useremo il repository ufficiale Gallery come base e lo personalizzeremo per aprirsi direttamente nella schermata Ask Image senza distrazioni.

Passo 1: Clona e configura l'app

Iniziamo configurando un nuovo progetto e clonando il repository originale di Google.

Passo 1.1: Crea un nuovo progetto Android Studio

Sul tuo laptop, apri il progetto come nuovo progetto in Android Studio e seleziona Empty Activity.

Finestra Nuovo progetto di Android Studio per eseguire gemma 3n

Passo 1.2: Configura una nuova Empty Activity

Inserisci il nome della tua activity (per esempio, “Ask_Image_Demo”) e lascia il resto invariato. Poi clicca su Finish.

Empty Activity di Android Studio per gemma 3n

Passo 1.3: Clona il repository principale

Ora apri il terminale all'interno di Android Studio (angolo in basso a sinistra) ed esegui i seguenti comandi bash:

git clone https://github.com/google-ai-edge/gallery
cd gallery/android

Terminale di Android Studio per eseguire gemma 3n

Questo aprirà il tuo progetto. Puoi visualizzare tutti i file del progetto sul lato sinistro della scheda.

File di Android Studio

Passo 2: Mantieni solo Ask Image e rimuovi gli altri task

Ora modifichiamo alcuni file in modo che l'apertura dell'app porti direttamente alla pagina Ask Image. Quindi andiamo al file Tasks.kt nel percorso:   app/src/main/java/com/google/ai/edge/gallery/data/Tasks.kt. Per limitare le funzionalità dell'app alla sola funzione "Ask Image", effettueremo queste modifiche:

Prima:

/** All tasks. */
val TASKS: List<Task> = listOf(
  TASK_LLM_ASK_IMAGE,
  TASK_LLM_PROMPT_LAB,
  TASK_LLM_CHAT,
)

Dopo:

/** All tasks. */
val TASKS: List<Task> = listOf(
  TASK_LLM_ASK_IMAGE
)

Questo disabilita le altre demo come Prompt Lab e Chat, assicurando che venga mostrato solo Ask Image.

Passo 3: Navigazione automatica alla schermata Ask Image

In GalleryApp.kt (situato in // app/src/main/java/com/google/ai/edge/gallery/GalleryApp.kt), aggiorna il LaunchedEffect per navigare automaticamente alla pagina dell'immagine.  Questa modifica fa sì che l'app apra direttamente l'interfaccia Ask Image, saltando la schermata predefinita di selezione dei task.

Prima:

@Composable
fun GalleryApp(navController: NavHostController = rememberNavController()) {
  GalleryNavHost(navController = navController)
}

Dopo:

package com.google.ai.edge.gallery
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.navigation.NavHostController
import androidx.navigation.compose.rememberNavController
import com.google.ai.edge.gallery.data.TASK_LLM_ASK_IMAGE
import com.google.ai.edge.gallery.ui.llmchat.LlmAskImageDestination
import com.google.ai.edge.gallery.ui.navigation.GalleryNavHost
@Composable
fun GalleryApp(
  navController: NavHostController = rememberNavController()
) {
  // as soon as GalleryApp comes up, navigate to Ask-Image 
  // and drop “home” off the back-stack:
  LaunchedEffect(Unit) {
    TASK_LLM_ASK_IMAGE.models
      .firstOrNull()    // safety: don’t crash if the models list is empty
      ?.name
      ?.let { modelName ->
        navController.navigate("${LlmAskImageDestination.route}/$modelName") {
          popUpTo("home") { inclusive = true }
        }
      }
  }
  GalleryNavHost(navController = navController)
}

Ecco una panoramica di cosa fa la funzione GalleryApp aggiornata nel nuovo codice:

  • LaunchedEffect: un side-effect di Jetpack Compose che si attiva una volta al momento della composizione. Qui è usato per eseguire immediatamente la logica di navigazione non appena GalleryApp viene renderizzato.
  • Recupero del primo modello disponibile: TASK_LLM_ASK_IMAGE.models.firstOrNull() recupera in modo sicuro il nome del primo modello immagine-testo disponibile (ad esempio, Gemma 3n) da usare nella navigazione. Evita crash se l'elenco dei modelli è vuoto.
  • navController.navigate(): instrada dinamicamente l'app verso la schermata Ask-Image usando il nome del modello selezionato. Questo sostituisce la Home come punto di ingresso.
  • Rimozione della schermata Home dalla navigazione indietro: il metodo popUpTo("home") pulisce lo stack di navigazione rimuovendo la Home dalla cronologia. Così l'utente non può tornarci con il tasto indietro di sistema.

Lascia il resto del codice invariato. Insieme, queste modifiche fanno avviare l'app direttamente nell'interfaccia Ask-Image con un modello valido caricato, migliorando il flusso per la tua demo.

Passo 4: Installa ed esegui l'app sul tuo dispositivo

Una volta effettuate tutte le modifiche necessarie, eseguiremo l'app. Per eseguire l'app sul tuo dispositivo Android, associa il dispositivo ad Android Studio tramite il debug wireless seguendo questi passaggi.

Passo 4.1: Configura il dispositivo Android

Apri l'app Impostazioni sul tuo dispositivo Android e abilita le Opzioni sviluppatore. Poi attiva il Debugging wireless. Dovresti vedere una schermata con due opzioni di abbinamento.

Impostazioni per il debugging wireless su Android per eseguire gemma 3n

Passo 4.2: Gestisci i dispositivi in Android Studio

In Android Studio, apri il Device Manager (l'icona sembra un telefono con il logo Android) e clicca su Pair using QR code.

Abbinare un nuovo dispositivo via Wi-Fi

Scansiona il QR code con il tuo dispositivo e completa la procedura di abbinamento. Una volta connesso, vedrai il nome del dispositivo nel Device Manager. Assicurati che il computer e il dispositivo Android siano connessi alla stessa rete Wi-Fi.

Device Manager

Passo 4.3: Esegui l'app

Avvia il mirroring del tuo dispositivo Android cliccando sull'icona Device Mirroring (che raffigura uno schermo desktop e uno schermo telefono). Una volta vista la schermata del dispositivo in mirroring, clicca sull'icona verde Run per distribuire l'app sul dispositivo.

Passo 4.4: Scarica i modelli sul dispositivo

L'app si avvierà e si aprirà una finestra del browser che ti chiederà di accedere a Hugging Face per scaricare in modo sicuro il file del modello.

Finestra di Chrome  Finestra HuggingFace

Dopo aver effettuato l'accesso a HuggingFace, clicca su start download sul modello scelto e il download inizierà. Per questo esempio, uso di default il modello Gemma-3n-E2B-it-int4.

Download di gemma 3n in locale

Passo 4.5: Inizia a fare esperimenti

Una volta completato il download, verrai portato direttamente alla pagina “Ask Image”. Scegli un'immagine esistente dalla galleria o scatta una nuova foto con la fotocamera del dispositivo. Quindi passa un prompt insieme all'immagine e invialo al modello.

Home page di Ask Image

Ecco un esempio che ho testato.

Demo Ask Image su CPU con gemma 3n

  Demo Ask Image con gemma 3n

Il modello inizialmente gira su CPU. Puoi passare alla GPU per potenzialmente migliori prestazioni usando l'icona 'Tune' (rappresentata da tre cursori orizzontali).

Demo Ask Image: Configurazioni

   Demo Ask Image su GPU

Il passaggio a GPU può ridurre sensibilmente la latenza complessiva, soprattutto con immagini più grandi e query più complesse. Anche se la GPU offre in genere velocità di decode più alte e quindi risposte più rapide, vale la pena notare che a volte la velocità di prefill può essere leggermente superiore su CPU.

Questo perché il caricamento e la preparazione iniziale dei dati (prefill) possono essere limitati dalla CPU. Tuttavia, il vantaggio di un decode più veloce e della riduzione complessiva della latenza su GPU di solito prevale, offrendo un'esperienza più fluida e reattiva.

Ho predisposto questo repository GitHub se vuoi esplorare tutto il codice del progetto.

Conclusione

Abbiamo visto come Gemma 3n abiliti il question answering sulle immagini sui dispositivi edge, senza bisogno di inferenza nel cloud. Hai imparato a integrare un file .task in un'app Android leggera, a inviare prompt al modello in linguaggio naturale e a ottenere risposte accurate su qualsiasi immagine, direttamente dal telefono.

Questo walkthrough pratico mostra come Gemma 3n democratizzi l'AI multimodale, rendendo più semplice per sviluppatori e ricercatori distribuire modelli potenti on-device. Che tu stia creando assistenti offline, strumenti educativi, app per la salute o altro, Gemma 3n può supportare molti casi d'uso.

Man mano che Google continua a perfezionare l'architettura Matformer, mi aspetto di vedere modelli multimodali ancora più compatti, con maggiore accuratezza e minore latenza. Per saperne di più su Gemma 3n, consulta il rilascio ufficiale di AI Edge sul blog o approfondisci il repository open source su GitHub.

Se vuoi esplorare altri nuovi strumenti di AI, ti consiglio questi blog:


Aashi Dutt's photo
Author
Aashi Dutt
LinkedIn
Twitter

Sono una Google Developers Expert in ML (Gen AI), una Kaggle 3x Expert e una Women Techmakers Ambassador con oltre 3 anni di esperienza nel tech. Ho co-fondato una startup health-tech nel 2020 e sto conseguendo un master in informatica al Georgia Tech, con specializzazione in machine learning.

Argomenti
Intelligenza artificiale
AI generativa

Impara l'AI con questi corsi!

{count, plural, one {Programma} other {Programmi}}

Sviluppare applicazioni AI

{hours} ore
Impara a creare applicazioni basate sull'intelligenza artificiale con i più recenti strumenti per sviluppatori di AI, tra cui OpenAI API, Hugging Face e LangChain.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

{count, plural, one {blog} other {blogs}}

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

{count, plural, one {blog} other {blogs}}

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

{count, plural, one {blog} other {blogs}}

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro