Wnioskowanie hybrydowe

Google udostępnia szeroki wybór wiodących w branży modeli AI i interfejsów API do wnioskowania działającego 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ą, co pozwala optymalizować wydajność, koszty i dostępność.

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

  • Maksymalizowanie zasięgu: modele w chmurze stanowią kluczowe rozwiązanie awaryjne, gdy modele na urządzeniu, takie jak Gemini Nano, są niedostępne z powodu ograniczeń sprzętowych lub systemu operacyjnego urządzenia. Dzięki temu funkcje AI będą działać na jak największej liczbie urządzeń użytkowników.
  • Koszt i możliwości offline: modele na urządzeniu pomagają zapewnić 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.

Oto zalety wnioskowania na urządzeniu i wnioskowania w chmurze:

Wnioskowanie na urządzeniu Wnioskowanie w chmurze
Dostępny offline Zgodność z każdym urządzeniem
Brak kosztów wnioskowania Zaawansowane możliwości modelu

Opcje implementacji

Wnioskowanie hybrydowe możesz wdrożyć na te sposoby:

Firebase AI Logic Hybrid API

Hybrydowy interfejs API Firebase AI Logic udostępnia ujednolicony interfejs do kierowania wnioskowania między modelami w chmurze i na urządzeniu.

  • Automatyczne przełączanie: możesz skonfigurować aplikację tak, aby w miarę możliwości wykonywała zadania realizowane z wykorzystaniem AI na urządzeniu. Oznacza to, że funkcja aplikacji działa offline, zapewnia większą prywatność i nie generuje kosztów wnioskowania w chmurze. Jeśli model na urządzeniu jest niedostępny, pakiet SDK może automatycznie przekierować żądanie do modelu Gemini hostowanego w chmurze.
  • Ochrona przed nadużyciami: bezpośrednie wywoływanie interfejsów Cloud API z aplikacji mobilnej może spowodować ujawnienie danych logowania i naliczenie niechcianych opłat. Jeśli jednak używasz Firebase AI Logic, możesz też włączyć Sprawdzanie aplikacji Firebase, które pomaga zapobiegać nadużyciom, potwierdzając, że tylko Twoja oryginalna, niezmieniona aplikacja może uzyskać dostęp do interfejsu Gemini API w chmurze.
  • Limity wydatków: podczas kierowania żądań do modeli hostowanych w chmurze możesz skonfigurować limity wydatków, aby chronić budżet w chmurze i unikać nieoczekiwanych opłat.

W aplikacji definiujesz parametr onDeviceConfig, aby kontrolować tryb wnioskowania i zarządzać routingiem:

  • PREFER_ON_DEVICE: próbuje użyć modelu na urządzeniu; automatycznie przełącza się na model hostowany w chmurze, jeśli model na urządzeniu jest niedostępny lub nieobsługiwany w przypadku danego żądania.

  • PREFER_IN_CLOUD: próbuje używać modelu hostowanego w chmurze, gdy urządzenie jest online i model jest dostępny; przełącza się na model na urządzeniu tylko wtedy, gdy urządzenie jest offline.

  • ONLY_ON_DEVICE: próbuje użyć modelu na urządzeniu; zgłasza wyjątek, jeśli model na urządzeniu jest niedostępny lub nieobsługiwany w przypadku żądania.

  • ONLY_IN_CLOUD: próbuje użyć modelu hostowanego w chmurze, gdy urządzenie jest online i model jest dostępny; w pozostałych przypadkach zgłasza wyjątek.

val model = Firebase.ai(backend = GenerativeBackend.Companion.googleAI())
    .generativeModel(
        modelName = "gemini-3.5-flash",
        onDeviceConfig = OnDeviceConfig(mode = InferenceMode.Companion.PREFER_ON_DEVICE)
    )

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

Szczegóły wdrożenia znajdziesz w dokumentacji Firebase. Zapoznaj się też z przykładowym modelem AI hybrydowej w katalogu AI.

Przenoszenie zadań do chmury może spowodować udostępnienie punktów końcowych interfejsu API chmury. Gdy używasz Firebase AI Logic, możesz bezpiecznie uzyskiwać dostęp do modeli Gemini działających w chmurze bezpośrednio z aplikacji po stronie klienta, wymuszając Sprawdzanie aplikacji Firebase, które pomaga chronić wnioskowanie działające w chmurze przed nieautoryzowanym dostępem i nadużyciami związanymi z płatnościami. Dzięki temu hybrydowy mechanizm rezerwowy jest dostępny i bezpieczny.

Routing niestandardowy

Jeśli Twoja aplikacja ma określone wymagania biznesowe lub dotyczące UX, możesz też wdrożyć 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 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 wdrożyły własne niestandardowe przekierowywanie, aby zapewniać niezawodne funkcje AI, m.in.:

  • Gboard: Gboard korzysta z niestandardowego wnioskowania hybrydowego, aby obsługiwać narzędzia do pisania, takie jak korekta i zmiana stylu.

  • Kakao Mobility: firma Kakao Mobility stworzyła narzędzie do wyodrębniania jednostek przy użyciu niestandardowej hybrydowej metody wnioskowania na potrzeby usługi dostarczania paczek. Automatycznie wyodrębnia ono imiona i nazwiska odbiorców, adresy i numery telefonów z wiadomości w języku naturalnym, aby usprawnić formularze zamówień.