Inferenza ibrida

Google offre un'ampia selezione di modelli e API di AI leader del settore per l'inferenza basata su cloud e su dispositivo. L'inferenza ibrida ti consente di bilanciare senza problemi i carichi di lavoro di AI tra il dispositivo locale e il cloud, ottimizzando prestazioni, costi e disponibilità.

L'inferenza ibrida offre due vantaggi principali per la tua app per Android:

  • Massimizzare la copertura: i modelli cloud fungono da fallback fondamentale quando i modelli on-device come Gemini Nano, non sono disponibili a causa di vincoli hardware o del sistema operativo del dispositivo. In questo modo, le funzionalità di AI rimangono funzionali sulla più ampia gamma possibile di dispositivi utente.
  • Costi e funzionalità offline: i modelli on-device contribuiscono a garantire che le funzionalità di AI funzionino senza problemi quando l'utente è offline. Inoltre, il trasferimento delle attività di routine al dispositivo locale contribuisce a ridurre i costi di inferenza cloud.
Diagramma che mostra la logica dell'inferenza sul dispositivo rispetto all'inferenza sul cloud.
Figura 1: i rispettivi vantaggi dell'inferenza on-device e dell'inferenza cloud.

Opzioni di implementazione

Puoi implementare l'inferenza ibrida utilizzando i seguenti approcci:

API ibrida Firebase AI Logic

L'API ibrida Firebase AI Logic fornisce un'unica interfaccia unificata per dividere l'inferenza tra gli ambienti cloud e on-device.

Include un parametro onDeviceConfig che fornisce controlli semplici per definire la modalità di inferenza e gestire il routing:

  • PREFER_ON_DEVICE: tenta di utilizzare il modello on-device, eseguendo automaticamente il fallback al modello ospitato sul cloud se il modello on-device non è disponibile o non è supportato per la richiesta.
  • PREFER_IN_CLOUD: tenta di utilizzare il modello ospitato sul cloud quando il dispositivo è online e il modello è disponibile, eseguendo il fallback al modello on-device solo se il dispositivo è offline.
  • ONLY_ON_DEVICE: tenta di utilizzare il modello on-device, ma genera un'eccezione se non è disponibile o non è supportato per la richiesta.
  • ONLY_IN_CLOUD: tenta di utilizzare il modello ospitato sul cloud quando il dispositivo è online e il modello è disponibile, generando un'eccezione in tutti gli altri casi.
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel(
        modelName = "gemini-2.5-flash",
        onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)
    )


val response = model.generateContent("Write a story about a green robot.")
print(response.text)

Per i dettagli sull'implementazione, consulta la documentazione di Firebase ed esplora l'esempio di AI ibrida nel catalogo AI.

Routing personalizzato

Se la tua app ha requisiti aziendali o UX specifici, puoi anche implementare una logica di routing personalizzata. In questo modo, puoi determinare dinamicamente il percorso di inferenza in base a fattori in tempo reale, ad esempio:

  • Latenza di rete
  • Integrità del sistema del dispositivo (ad es. livelli della batteria e carico del processore)
  • Complessità della query dell'utente

Questo approccio di inferenza ibrida personalizzata viene utilizzato dalle principali app che hanno implementato il proprio routing personalizzato per offrire esperienze di AI affidabili, tra cui:

  • GBoard: Gboard utilizza l'inferenza ibrida personalizzata per alimentare gli strumenti di scrittura come la correzione e la riscrittura.

  • Kakao Mobility: Kakao Mobility ha creato uno strumento di estrazione delle entità utilizzando l'inferenza ibrida personalizzata per il suo servizio di consegna dei pacchi che estrae automaticamente i nomi, gli indirizzi e i numeri di telefono dei destinatari dai messaggi in linguaggio naturale per semplificare i moduli d'ordine.