Wnioskowanie hybrydowe

Google oferuje szeroki wybór wiodących w branży modeli AI i interfejsów API do wnioskowania w chmurze i na urządzeniu. Wnioskowanie hybrydowe umożliwia płynne równoważenie obciążeń AI między urządzeniem lokalnym a chmurą, optymalizując wydajność, koszty i dostępność.

Wnioskowanie hybrydowe zapewnia 2 główne korzyści dla aplikacji na Androida:

  • Maksymalny zasięg: modele w chmurze stanowią ważne rozwiązanie rezerwowe, gdy modele na urządzeniu, takie jak Gemini Nano, są niedostępne z powodu ograniczeń sprzętowych lub systemu operacyjnego. Dzięki temu funkcje AI pozostają funkcjonalne na jak największej liczbie urządzeń użytkowników.
  • Koszty i funkcje offline: modele na urządzeniu zapewniają płynne działanie funkcji AI , gdy użytkownik jest offline. Dodatkowo przeniesienie rutynowych zadań na urządzenie lokalne pomaga obniżyć koszty wnioskowania w chmurze.
Diagram przedstawiający uzasadnienie wnioskowania na urządzeniu w porównaniu z wnioskowaniem w chmurze.
Rysunek 1: odpowiednie korzyści z wnioskowania na urządzeniu i wnioskowania w chmurze.

Opcje implementacji

Wnioskowanie hybrydowe możesz zaimplementować na te sposoby:

Hybrydowy interfejs API Firebase AI Logic

Interfejs API Firebase AI Logic Hybrid zapewnia pojedynczy, ujednolicony interfejs do dzielenia wnioskowania między środowiska w chmurze i na urządzeniu.

Zawiera parametr onDeviceConfig, który zapewnia proste elementy sterujące do definiowania trybu wnioskowania i zarządzania routingiem:

  • PREFER_ON_DEVICE: próba użycia modelu na urządzeniu, automatyczne przełączenie na model hostowany w chmurze, jeśli model na urządzeniu jest niedostępny lub nieobsługiwany w przypadku żądania.
  • PREFER_IN_CLOUD: próba użycia modelu hostowanego w chmurze, gdy urządzenie jest online i model jest dostępny, przełączenie na model na urządzeniu tylko wtedy, gdy urządzenie jest offline.
  • ONLY_ON_DEVICE: próba użycia modelu na urządzeniu, ale zgłoszenie wyjątku, jeśli jest on niedostępny lub nieobsługiwany w przypadku żądania.
  • ONLY_IN_CLOUD: próba użycia modelu hostowanego w chmurze, gdy urządzenie jest online i model jest dostępny, zgłoszenie wyjątku we wszystkich innych przypadkach.
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)

Szczegóły implementacji znajdziesz w dokumentacji Firebase i zapoznaj się z przykładem hybrydowej AI w katalogu AI.

Routing niestandardowy

Jeśli Twoja aplikacja ma określone wymagania biznesowe lub dotyczące UX, możesz też zaimplementować niestandardową logikę routingu. Umożliwia to dynamiczne określanie ścieżki wnioskowania na podstawie czynników w czasie rzeczywistym, takich jak:

  • opóźnienie sieciowe,
  • stan systemu urządzenia (np. poziom naładowania baterii i obciążenie procesora),
  • złożoność zapytania użytkownika.

To niestandardowe podejście do wnioskowania hybrydowego jest stosowane przez wiodące aplikacje, które zaimplementowały własny routing niestandardowy, aby zapewniać niezawodne funkcje AI, w tym:

  • Gboard: Klawiatura Gboard używa niestandardowego wnioskowania hybrydowego do obsługi narzędzi do pisania, takich jak korekta i przepisywanie.

  • Kakao Mobility: Kakao Mobility stworzyło narzędzie do wyodrębniania encji, które wykorzystuje niestandardowe wnioskowanie hybrydowe w usłudze dostarczania paczek. Automatycznie wyodrębnia ono imiona i nazwiska, adresy i numery telefonów odbiorców z wiadomości w języku naturalnym, aby usprawnić formularze zamówień.