Inferenza ibrida

Google offre un'ampia selezione di API e modelli di AI leader del settore per l'inferenza basata su cloud e sul dispositivo. L'inferenza ibrida ti consente di bilanciare senza problemi i carichi di lavoro 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 critico quando i modelli sul dispositivo, come Gemini Nano, non sono disponibili a causa di limitazioni hardware o del sistema operativo del dispositivo. In questo modo, le funzionalità di AI rimangono operative nella più ampia gamma possibile di dispositivi utente.
  • Costo e funzionalità offline: i modelli sul dispositivo 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 del cloud.

Ecco i vantaggi dell'inferenza sul dispositivo e sul cloud, rispettivamente:

Inferenza on-device Inferenza cloud
Disponibile offline Compatibile con qualsiasi dispositivo
Nessun costo di inferenza Funzionalità avanzate del modello

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 ambienti cloud e on-device.

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

  • PREFER_ON_DEVICE: tenta di utilizzare il modello sul dispositivo, passando automaticamente al modello ospitato sul cloud se il modello sul dispositivo 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, ricorrendo al modello sul dispositivo solo se il dispositivo è offline.
  • ONLY_ON_DEVICE: tenta di utilizzare il modello sul dispositivo, 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.Companion.googleAI())
    .generativeModel(
        modelName = "gemini-2.5-flash",
        onDeviceConfig = OnDeviceConfig(mode = InferenceMode.Companion.PREFER_ON_DEVICE)
    )

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

Per i dettagli di 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 esempio livelli della batteria e carico del processore)
  • Complessità delle query 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 di bozze e la riscrittura.

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