App intelligenti

Inside Gemini Nano and Gemma 4 powering on-device intelligence

Altoparlanti

  • Sara Smoot

    Engineering Lead Gemma

Informazioni

Informazioni sulla presentazione

Gemma 4 porta l'AI multimodale e potente direttamente sui dispositivi Android. In questa sessione, ripercorreremo l'evoluzione di Gemma in una famiglia di modelli progettati per l'efficienza ed esploreremo le funzionalità on-device dei modelli E2B ed E4B ottimizzati per l'edge, dalla comprensione di immagini e audio alla chiamata di funzione agentica. Parleremo dell'architettura alla base di questa efficienza, inclusi gli embedding per livello (PLE), e mostreremo come Gemma e Gemini Nano collaborano tramite AICore. Scoprirai come l'addestramento basato sulla quantizzazione (QAT) preserva la capacità del modello con un'occupazione di RAM di 1,1-3,5 GB, mentre la previsione multi-token (MTP) accelera la velocità di decodifica di 1,5-3 volte per esperienze reattive in tempo reale.

Riepilogo

  • I modelli Gemma 4 espandono le funzionalità multimodali on-device con un contesto di 128.000 token su E2B/E4B con una licenza Apache 2.
  • I modelli di bozza di previsione multi-token riducono la latenza di decodifica del 40% e risparmiano dal 30% al 40% di energia. Condividono la cache KV del modello di base per evitare di rigenerare i pre-riempimenti.
  • L'addestramento basato sulla quantizzazione comprime il checkpoint di quantizzazione mobile personalizzato a meno di 1 GB utilizzando la quantizzazione a 2 bit mirata.
  • Le app per Android possono integrare i modelli in modo automatico tramite AICore come Gemini Nano 4 o raggrupparli con LiteRT per ottimizzazioni personalizzate.

Risorse

Gemini Notebook

Argomenti

  • gemini-nano
  • gemma-4
  • on-device-ai
  • mobile-ml
  • aicore
  • litert
  • quantizzazione

Trascrizione

Scarica la trascrizione

Introduzione ed evoluzione dei modelli Gemma

  • Sara Smoot

    Ciao, ti do il benvenuto a questo intervento.

  • Mi chiamo Sara e sono un'engineering lead di Gemma per quanto riguarda la modellazione.

  • Oggi sono qui per parlarvi dei nostri modelli.

  • Parlerò delle funzionalità e di come pensiamo alla progettazione per i dispositivi mobili.

  • Parlerò delle tecniche che integriamo nel modello per farlo funzionare in modo efficiente sui dispositivi mobili.

  • Ti spiegherò come accedervi e come ci integriamo con AICore.

  • Infine, concluderò con alcune demo per mostrare il modello e darti un'idea delle sue capacità e di ciò che può fare.

  • Per capire dove stiamo andando, è utile capire dove siamo stati.

  • Abbiamo lanciato Gemma 1 nel 2024.

  • Abbiamo lanciato un modello con 2 e 7 miliardi di parametri, solo testo, di dimensioni molto ridotte rispetto a quanto accadeva all'epoca.

  • Dopo Gemma 1, abbiamo lanciato Gemma 2, che ha introdotto alcune funzionalità aggiuntive.

  • Abbiamo introdotto la programmazione.

  • Abbiamo anche introdotto un modello di grandi dimensioni, un 27B, che ha ampliato notevolmente le funzionalità della serie Gemma.

  • Gemma 3 è stato lanciato poco dopo.

  • Ancora una volta, abbiamo aggiunto altre funzionalità, multimodali, e poi un modello più piccolo, un modello da 270 milioni di parametri, poiché ci siamo resi conto che i modelli più piccoli avevano davvero molti casi d'uso e stiamo davvero cercando di contribuire ad abilitare il maggior numero possibile di casi d'uso mobile online.

  • Quindi, con ogni release, le nostre funzionalità aumentano, e questo è intenzionale.

  • Quello che stiamo facendo è progettare per l'hardware di un singolo dispositivo, e stiamo cercando di… questo include smartphone, laptop, GPU, e il nostro obiettivo non è creare un modello più grande, anche se siamo arrivati a 12-27 miliardi, il nostro obiettivo è inserire più funzionalità con ogni iterazione nello stesso spazio, perché vogliamo rimanere on-device, vogliamo rimanere locali.

  • Per farlo, abbiamo migliorato l'efficienza.

  • Vi parlerò di ciò che abbiamo fatto nello specifico per Gemma 4 e di come l'abbiamo fatto.

  • Abbiamo lanciato E2B, tra un minuto spiegherò cosa significa "E", abbiamo lanciato E4B, abbiamo lanciato un modello unificato 12B, spiegherò perché l'abbiamo fatto, e poi abbiamo lanciato anche un modello MoE.

  • Tutto questo per contribuire a dimostrare l'efficienza e offrire agli sviluppatori maggiore flessibilità per le app e gli elementi che vogliono creare.

  • Esaminando le funzionalità un po' più da vicino, qui puoi vedere quelle che abbiamo aggiunto nel tempo.

  • Ci sono un paio di cose che vorrei sottolineare, la finestra contestuale.

  • Abbiamo aggiunto una finestra contestuale molto più lunga rispetto alle versioni precedenti di Gemma.

  • Gemma 4 ha un contesto fino a 128 K.

  • I modelli più grandi arrivano fino a 256.

  • Tieni presente che ML Kit impone un limite alla finestra contestuale, quindi assicurati di controllare il tuo budget prima di aspettarti di poter lanciare con 128.

  • Tuttavia, dovrebbe essere sufficiente per consentirti di leggere documenti lunghi, eseguire un ragionamento esteso, chiamate di funzione e darti anche un budget sufficiente per la multimodalità, l'utilizzo della visione e dell'audio.

  • Il video è una nuova funzionalità che abbiamo aggiunto a partire da Gemma 3n e che abbiamo perfezionato un po' di più per Gemma 4.

  • Ora abbiamo il supporto multilingue.

  • Stiamo ancora addestrando i modelli su più lingue, quindi hai a disposizione sia il supporto linguistico integrato sia il supporto pre-addestrato.

  • Tutto questo è ora disponibile con una nuovissima licenza Apache 2, di cui siamo davvero entusiasti, perché offrirà molta più flessibilità su ciò che puoi creare e ridurrà anche l'attrito.

  • È molto più semplice creare e scaricare il modello.

Funzionalità e benchmark multimodali

  • Sara Smoot

    Ok, quindi la visione, cosa facciamo con la visione?

  • La visione di Gemma 4, in particolare, ha proporzioni variabili.

  • In questo modo, l'immagine non viene schiacciata in un quadrato scomodo, ma viene preservato il formato effettivo del modello.

  • Ciò significa che il testo e gli oggetti non vengono distorti.

  • In realtà, migliora notevolmente le capacità del modello.

  • Le forme rimangono fedeli e l'OCR è notevolmente migliorato con queste proporzioni variabili.

  • La visione è anche in grado di leggere diagrammi, fogli di lavoro e grafici.

  • Può anche tradurre da segnali visivi, quindi puoi scattare foto di parole e l'app sarà in grado di tradurle per te.

  • Inoltre, ragiona sul mondo fisico.

  • Può guardare un'immagine, capire dove si trovano gli oggetti e cosa c'è nell'immagine.

  • Può fare molto.

  • Un'altra funzionalità poco nota dei nostri modelli Gemma è che puoi impostare il budget dei token visivi.

  • Quindi, al momento, controlla qual è il valore in ML Toolkit, ma hai un intervallo ampio.

  • Se vuoi dedicare più potenza ed energia alla comprensione delle immagini ad alta risoluzione, puoi impostarlo.

  • Se non è un caso d'uso che vuoi sfruttare, puoi ridurre di molto il budget dei token di immagine e recuperare gran parte di quella potenza e dei cicli di calcolo del modello per le tue applicazioni di testo.

  • L'audio è una modalità relativamente nuova per noi.

  • L'abbiamo introdotta per la prima volta in Gemma 3n.

  • Ora lo stiamo sfruttando appieno per Gemma 4.

  • L'audio è disponibile solo nei nostri modelli più piccoli: E2B, E4B e 12B.

  • La trascrizione si baserà interamente sul file audio.

  • Traduce il parlato.

  • Supporta, in modo predefinito, oltre 35 lingue.

  • Inoltre, l'abbiamo preaddestrato su oltre 140 lingue, quindi se vuoi utilizzare una lingua che non è una delle nostre 35, dovresti essere in grado di eseguire un'ottimizzazione e ottenere un ottimo supporto per una lingua che non è supportata in modo nativo.

  • Abbiamo aggiunto il ragionamento agentico.

  • Anche questa è una novità di Gemma 4.

  • Pianifica.

  • Esegue più passaggi.

  • Utilizza gli strumenti.

  • Segue le istruzioni con precisione.

  • Restituisce un JSON strutturato.

  • Può fare tutto ciò che, sai, ti aspetti da un modello agentico.

  • Se non utilizzi ML Toolkit, ma fai tutto da te, assicurati di prestare attenzione ai modelli di chat.

  • I modelli di chat sono complessi.

  • Devono essere maneggiati con cura.

  • Se utilizzi ML Toolkit, tutto questo viene fatto per te.

  • Infine, Gemma continua a offrire un'ottima comprensione del testo.

  • Inoltre, grazie al contesto più lungo, ora siamo in grado di analizzare il codice, documenti lunghi e tradurre.

  • Infatti, con la funzionalità di programmazione, Android Studio ora supporta Gemma 4 in modalità offline.

  • Quindi, se vuoi utilizzare Android Studio offline, le tue attività di programmazione saranno supportate da Gemma 4.

  • Un punto chiave: E2B ed E4B sono abbastanza piccoli da poter essere eseguiti senza problemi sul tuo smartphone.

  • Quindi, si tratta di un'ampia gamma di funzionalità racchiuse in un ingombro davvero ridotto.

  • Si tratta di una sfida di ingegneria molto difficile, quindi il team di Gemma ne è molto orgoglioso.

  • Ecco alcuni esempi che dimostrano le funzionalità.

  • A sinistra, mostriamo che il modello è in grado di trovare il laptop e restituire le coordinate della sua posizione.

  • In questo modo, l'app è in grado di disegnare un puntatore e mostrare dove si trova il laptop.

  • Al centro, il modello è in grado di identificare gli oggetti e quindi di tracciare riquadri di delimitazione intorno a questi oggetti.

  • Ci sono alcune applicazioni interessanti per questo: rilevamento di oggetti, evitamento di oggetti.

  • Si tratta di una funzionalità molto utile.

  • A destra, viene mostrato come il modello può leggere il testo.

  • Quindi, questo si traduce come "Attenzione, c'è un gatto".

  • Inoltre, capisce cosa sta succedendo nell'immagine, vede questo gatto in questa posizione davvero divertente e può tradurre e sottolineare che si tratta di una battuta finale, ovvero che il testo sottostante dice "Potrebbe succedere qualcosa".

  • Il che è piuttosto carino.

  • Quindi, puntamento, rilevamento di oggetti, OCR e traduzione, tutto senza una pipeline di visione speciale.

  • Ok, passiamo ai numeri della valutazione.

  • Dimostrare le capacità è sempre importante, ma molte persone guardano questi esempi e penso che qui si possa vedere la forza dei modelli.

  • Se guardi le ultime due colonne, E2B batte Gemma 3 27B, che è un modello molto più grande, in termini di ragionamento, programmazione e agenticità.

  • Quindi, guarda LiveCodeBench.

  • Abbiamo 44 per Gemma 4 rispetto a 29 per Gemma 3 27B.

  • Anche l'AIME è molto più alto.

  • Tau2, che è una valutazione agentica, è anche molto più alto, mostrando una grande forza in questo ambito.

  • Se aumentiamo di poco i parametri, il nostro modello E4B supera nettamente il nostro modello 27B in ogni benchmark.

  • Quindi, passando da Gemma 3 a Gemma 4, abbiamo inserito molte più funzionalità nello stesso numero di parametri.

Hardware on-device e architetture dei modelli

  • Sara Smoot

    Come facciamo?

  • Rendere il modello più capace senza aumentarne le dimensioni è un problema difficile.

  • Se guardi solo l'hardware, gli smartphone hanno molta meno memoria.

  • In pratica, parliamo di 12-16 GB rispetto agli 80 circa che potresti avere su un server.

  • Anche la larghezza di banda è molto, molto inferiore: da 50 a 80 GB rispetto ai terabyte che avresti in un server.

  • Inoltre, ci sono forti limitazioni di alimentazione.

  • Quindi dobbiamo tenere presente tutto questo durante l'esecuzione del modello.

  • E ogni tecnica che ti mostrerò di seguito è mirata a ciascuno di questi vincoli e aiuta a rendere il modello più ottimale per l'hardware mobile.

  • La prima cosa che facciamo è non avere un'architettura per ogni dimensione.

  • Ogni dimensione del modello ha una propria architettura separata.

  • I nostri modelli E2B ed E4B hanno alcuni elementi speciali, su cui mi concentrerò principalmente per il resto del mio intervento, ma penso che sia utile sapere che il nostro modello 12B non ha un codificatore di visione.

  • Quindi, con questo modello, abbiamo rimosso l'encoder visivo per semplificare il deployment e ridurre al minimo il numero di parametri necessari al modello.

  • Questo è in genere rivolto all'hardware dei nostri laptop.

  • I nostri modelli di grandi dimensioni sono progettati per dimostrare la massima capacità.

  • Sono disponibili sia in versione full dense che Mixture of Experts.

  • Il modello Mixture of Experts potrebbe essere eseguito anche sui laptop e l'abbiamo creato per la latenza inferiore che si ottiene dall'architettura degli esperti.

  • Per il resto dell'intervento, mi concentrerò sui modelli mobile, ovvero E2B ed E4B, e parlerò di ciò che abbiamo fatto per farli funzionare molto bene sugli smartphone.

  • Ok, è da qui che deriva la "E", ovvero Per-Layer Embeddings (incorporamenti per livello).

  • Questa è una tecnica interessante e innovativa che abbiamo aggiunto ai modelli.

  • Se pensi al modo in cui funzionano i modelli, questi hanno bisogno di più parametri per essere più intelligenti.

  • E stiamo cercando… Stiamo migliorando l'efficienza dei parametri, ma, in generale, se vuoi che il modello sia migliore, hai bisogno di più parametri.

  • Il PLE dice: "Ok, abbiamo bisogno di più parametri".

  • Tuttavia, invece di aggiungere altri parametri direttamente al modello, abbiamo una tabella di incorporamenti aggiuntiva.

  • Questa tabella degli embedding viene letta per ogni livello.

  • Quindi, una volta ottenuti i token di cui sai che il modello avrà bisogno, puoi estrarre gli incorporamenti per livello necessari per una determinata sequenza di input e poi caricare solo questi incorporamenti nel modello.

  • In questo modo, ottieni un modello con 2 miliardi di parametri effettivi, anche se il numero di parametri in sé è un po' più grande.

  • Ecco perché diciamo che ha 2 miliardi di parametri, perché solo questi 2 miliardi vengono caricati nella memoria.

  • La tabella degli embedding viene generalmente salvata nella memoria flash, non nella RAM.

  • In questo modo, limiti la larghezza di banda, perché non devi trasferire un numero elevato di parametri, ma ottieni comunque la piena capacità di un modello molto più grande.

  • Inoltre, occupa meno RAM sul dispositivo.

  • La seconda cosa che abbiamo aggiunto è un modello di bozza.

  • Il modello di bozza che utilizziamo per Gemma è un modello di previsione multi-token.

  • Si tratta di una forma di decodifica speculativa.

  • In questo modo, prevede più token per passaggio rispetto a un modello autoregressivo generale.

  • Quindi, invece di dare… I modelli autoregressivi tipici generano un token alla volta, devi passare attraverso l'intero modello per ogni token.

  • Questi modelli di bozza, o MTP, prevedono tre o quattro token alla volta, quindi utilizziamo il modello principale per convalidarli.

  • Se questi token vengono accettati, vengono utilizzati e, in genere, possiamo ottenere due, tre o quattro token per passaggio, anziché un solo token alla volta.

  • Si tratta di una tecnica comune.

  • I modelli Drafter sono disponibili.

  • Ciò che abbiamo fatto di diverso e speciale per Gemma è condividere la cache KV del modello di base.

  • Quindi, per E2B eseguiamo il pre-riempimento completo, creiamo la cache e poi il nostro modello di bozza utilizza la cache KV.

  • Quindi, in realtà, risparmi circa 130 millisecondi su un prompt di 100 token o 1000 token, perché non devi rigenerare un pre-riempimento per il modello di bozza.

  • Per questo motivo, il nostro modello di bozza è circa 30-40 volte più veloce di altri modelli di bozza disponibili.

  • Se guardi i numeri, puoi vedere le accelerazioni quando utilizziamo il modello di bozza.

  • Otteniamo un tasso di accettazione superiore del 40-60% rispetto alla maggior parte dei modelli di bozza.

  • Abbiamo una latenza di decodifica inferiore del 40% 40 40% utilizzando il modello di bozza e utilizziamo anche dal 30 al 40% di energia in meno utilizzando questo modello di bozza.

  • In questo modo, ottieni risposte più rapide, una maggiore durata della batteria e nessuna modifica al codice.

  • È uno strumento abbastanza semplice e ben supportato.

Tecniche di quantizzazione e ottimizzazione

  • Sara Smoot

    La nostra prossima innovazione riguarda la quantizzazione.

  • In genere, anche la quantizzazione non è una tecnica nuova, ma prestiamo particolare attenzione ai nostri modelli mobile per assicurarci di avere una quantizzazione che funzioni molto bene con l'hardware mobile.

  • Ci sono un paio di cose che consideriamo con i nostri modelli QAT.

  • Il primo è il QAT, ovvero l'addestramento basato sulla quantizzazione.

  • Ciò significa che, quando eseguiamo l'addestramento, consideriamo e riconosciamo il fatto che eseguiremo la quantizzazione.

  • In questo modo, il modello comprende che i parametri verranno raggruppati e la qualità viene preservata.

  • Inoltre, aiuta a preservare la qualità e, di solito, possiamo ridurre le dimensioni del modello a una frazione di quelle originali.

  • Quindi, se passi da un modello a 16 bit a uno a 4 bit e preservi tutta la qualità, abbiamo davvero risparmiato molta memoria.

  • E2B è disponibile in due diverse quantizzazioni.

  • Abbiamo un formato Q4_0.

  • Si tratta di una quantizzazione per uso generico.

  • Questo valore è personalizzabile.

  • Questo approccio funziona molto bene con altre librerie di quantizzazione.

  • Ti consente di sperimentare e ottenere una quantizzazione che potrebbe funzionare bene per il tuo caso d'uso.

  • Abbiamo anche una quantizzazione molto speciale, che chiamiamo quantizzazione mobile, che è molto aggressiva nella sua quantizzazione e abbiamo fatto molte ricerche per renderla ottimale.

  • Non è supportato nella maggior parte dei runtime, ma lo è con ML Kit e su Android Studio, quindi puoi utilizzarlo.

  • Puoi utilizzarlo lì.

  • Alcune delle innovazioni che abbiamo integrato: utilizziamo quantizzazioni di attivazione statiche.

  • Quindi, quando esegui la quantizzazione, in genere il modello, se esegui l'attivazione dell'intervallo dinamico, devi calcolare gli intervalli al volo e poi utilizzarli per eseguire la quantizzazione.

  • Abbiamo eseguito la quantizzazione dell'intervallo statico per te, quindi non devi precalcolare gli intervalli.

  • Un'altra cosa che abbiamo fatto è la quantizzazione per canale.

  • Abbiamo strutturato e compresso il modello in modo da renderlo compatibile con la maggior parte dei dispositivi mobili.

  • Abbiamo scelto come target la quantizzazione a 2 bit.

  • Quindi, la quantizzazione a due bit è generalmente con perdita di dati.

  • È molto difficile eseguire la PTQ.

  • Abbiamo condotto ricerche e compreso i nostri modelli abbastanza bene da sapere dove i parametri possono essere compressi fino a 2 bit e abbiamo ottenuto buoni risultati con l'addestramento basato sulla quantizzazione.

  • In questo modo si risparmia molto spazio di archiviazione, preservando quasi tutta la qualità.

  • Quindi il nostro modello quantizzato speciale è inferiore a un gig, il che, come sapete, è un po' più piccolo anche dei quantizzati a 4 bit che abbiamo a disposizione.

  • Un altro aspetto che abbiamo integrato nella nostra quantizzazione personalizzata è la quantizzazione dell'embedding e della cache KV.

  • Esistono molte tecniche per farlo.

  • Abbiamo fatto delle ricerche e questo è ciò che funziona molto bene con il nostro modello.

  • Abbiamo raggruppato tutto questo in questi checkpoint.

  • Tutto questo riduce drasticamente la memoria attiva.

  • In questo modo, risparmi molta larghezza di banda per lo spostamento dei parametri.

  • Inoltre, ti consente di gestire e conservare le tue chat lunghe e altri contenuti senza esaurire lo spazio.

Integrazione dei sistemi e architettura di sicurezza

  • Sara Smoot

    Ok, quindi l'integrazione avviene tramite AICore.

  • Quindi, con AICore ottieni il modello Gemini Nano 4.

  • Gemini Nano 4 è Gemma creato ed eseguito tramite AICore.

  • AICore offre alcune funzionalità utili.

  • È il percorso più semplice e, in realtà, parlerò dell'altro percorso molto rapidamente.

  • L'altro percorso passa attraverso LiteRT, che è un percorso più personalizzato e pratico.

  • Se scegli questa strada, il modello verrà integrato nella tua app.

  • Non utilizzerà il modello condiviso ospitato on-device.

  • Quindi dovrai tenere conto della memoria.

  • Dovrai prestare attenzione al consumo di energia.

  • Dovrai essere molto più pratico con le risorse sullo smartphone e con la sua gestione.

  • ma ti offre il controllo completo.

  • Puoi utilizzare i perfezionamenti con LiteRT, che ti offre più opzioni di personalizzazione.

  • Se utilizzi AICore, puoi usare le API del toolkit ML, che è il percorso più semplice.

  • E quando lo utilizzi, ottieni tutte queste funzionalità di cui ho parlato, gli embedding per livello vengono gestiti in modo appropriato e il runtime supporta la presenza di parametri non nella RAM, ovvero i parametri di embedding non nella RAM.

  • Il protocollo MTP è già integrato, quindi funzionerà automaticamente.

  • Inoltre, utilizza il nostro quant mobile.

  • Inoltre, viene eseguito su un runtime progettato per ospitare e funzionare bene con questa quantizzazione.

  • Quindi, può effettivamente eseguire e fare cose con una precisione a 2 bit, dove ne abbiamo bisogno, il che lo rende davvero molto efficiente.

  • Se vuoi approfondire, ci sono altri due interventi che sono già stati fatti o che verranno fatti.

  • La sessione di David su ML Kit illustra il percorso di Gemini Nano 4, come utilizzare il modello tramite ML Kit, mentre la sessione di Chintan e Fergus su LiteRT illustra come utilizzare LiteRT e come sviluppare con LiteRT.

  • Ecco come si presenta il flusso di richieste per Gemma.

  • Esiste una superficie API che esegue un'elaborazione degli input, tutto integrato per te.

  • Parte dell'elaborazione degli input è costituita dagli indicatori di sicurezza.

  • AICore offre alcune funzionalità di sicurezza integrate.

  • Controlla la presenza di elementi non sicuri. Abbiamo integrato molte misure di sicurezza nel modello.

  • Si tratta di un ulteriore livello di sicurezza per le app mobile.

  • Passerà attraverso la configurazione delle funzionalità e poi attraverso il nostro runtime on-device.

  • Inoltre, controlla nuovamente la sicurezza dell'output.

  • Controlla gli indicatori di output per assicurarsi che l'output prodotto sia sicuro.

  • Si tratta, ancora una volta, di un ulteriore livello di sicurezza oltre a quello che abbiamo integrato nel modello.

  • Inoltre, esegue gli aggiornamenti ed è condiviso tra le app.

  • Quindi, se stai creando più app in particolare o non vuoi dover gestire un modello in bundle, questa è davvero la strada migliore da seguire e otterrai molte funzionalità integrate pronte all'uso.

Demo locali on-device

  • Sara Smoot

    Ok, passiamo alla demo.

  • Si tratta di un assistente vocale.

  • Lo mostrerò su un laptop.

  • Alcune cose che voglio che notiate: è completamente locale, viene eseguito sul dispositivo.

  • È collegato in cascata utilizzando il VAD.

  • Passa attraverso STT, poi entra in Gemma e infine passa attraverso TTS, che è il modello di sintesi vocale.

  • È in streaming e viene eseguito anche sul modello E2B.

  • Questo è esattamente il modello in esecuzione su un laptop, ma è esattamente lo stesso modello in esecuzione su uno smartphone.

  • Tutto questo può essere fatto sullo smartphone.

  • Questa demo specifica è stata creata con LiteRT.

  • Dovrebbe essere possibile creare l'app anche con ML Kit.

  • Fai attenzione alla latenza, non c'è un round trip del server e osserva come gestisce le interruzioni.

  • Hey Gemma, parlami un po' di te.

  • Sono Gemma 4, un modello linguistico di grandi dimensioni sviluppato da Google DeepMind.

  • Elaboro testo e immagini per fornire informazioni e completare attività.

  • Perfetto.

  • Puoi dirmi qualcosa su Shakespeare?

  • William Shakespeare è stato un drammaturgo e poeta inglese ampiamente considerato il più grande scrittore in lingua inglese.

  • Anzi, aspetta.

  • Sai una cosa?

  • Voglio proprio saperne di più sul sistema solare.

  • Puoi dirmi qualcosa in più?

  • Il sistema solare è costituito dal sole e da tutto ciò che è legato gravitazionalmente ad esso, inclusi otto pianeti, pianeti nani, lune, asteroidi e comete.

  • Bello!

  • Puoi spiegarmi come funziona un buco nero?

  • Un buco nero si forma quando una stella massiccia collassa sotto la sua stessa gravità, creando una regione dello spazio-tempo con una gravità così forte che nulla, nemmeno la luce, può sfuggire.

  • È fantastico.

  • Grazie.

  • È stato un piacere.

  • Hai altre domande a cui posso rispondere?

  • Okay.

  • C'è l'assistente audio.

  • Ok, passiamo alla prossima.

  • Si tratterà di un assistente locale che utilizza le funzionalità video.

  • È completamente offline e, per sottolineare questo aspetto, la demo viene eseguita durante un campeggio, presumibilmente in mezzo alla natura.

  • Aspetti a cui prestare attenzione: questo modello è basato sul modello E4B.

  • Parla in modo naturale.

  • Gli mostreremo come fare le cose.

  • Utilizza le chiamate agli strumenti in background ed è in grado di accedere a diversi elementi sullo smartphone.

  • È anche piuttosto divertente.

  • Hey Gemma, abbiamo internet ora?

  • No, al momento non abbiamo una connessione a internet.

  • Che cosa significa questo avviso?

  • In spagnolo.

  • Quel cartello è un avviso sull'habitat dei puma.

  • Informa che i puma fanno parte dell'ambiente locale e che devi fare attenzione se ne incontri uno.

  • Qual è la derivata di questa funzione?

  • La derivata di x al quadrato più 7x più 10 è 2x più 7.

  • È divertente.

  • Ah, ciao.

  • Ciao Cindy.

  • Gemma, quando è prevista l'escursione di gruppo di stasera?

  • La tua escursione di gruppo è programmata per le 18:00.

  • Oggi.

  • È un puma?

  • No, è un cane.

  • Bravo.

Risorse e passaggi successivi

  • Sara Smoot

    Ok, inizia a creare.

  • Questi sono i link qui sopra, che rimandano ai checkpoint.

  • Se vuoi andare a vedere direttamente i checkpoint e il codice del nostro modello, è tutto disponibile.

  • Puoi utilizzare il machine learning: ci sono Gemma, Gemini Nano 4, il link di ML Kit.

  • I checkpoint sono su Hugging Face, il nostro codice è nel codebase di Transformers.

  • Puoi andare a vedere cosa abbiamo fatto.

  • Puoi anche scaricare i checkpoint da Kaggle.

  • Ancora una volta, ti ricordo di dare un'occhiata alla presentazione di David su ML Kit, se vuoi saperne di più su ML Kit.

  • Inoltre, più tardi ci sarà anche la presentazione di LiteRT di Chintan e Fergus.

  • Se vuoi scoprire come accedere al modello e utilizzarlo nelle tue app tramite LiteRT.

  • Grazie.

  • Non vedo l'ora di scoprire cosa creerete.