Gemini Nano

Gemini Nano umożliwia korzystanie z zaawansowanych funkcji generatywnej AI bez konieczności połączenia sieciowego i wysyłania danych do chmury. AI na urządzeniu to świetne rozwiązanie w przypadkach, gdy najważniejsze są niskie koszty i ochrona prywatności.

W przypadku zastosowań na urządzeniu możesz skorzystać z modelu podstawowego Gemini Nano od Google. Gemini Nano działa w usłudze systemowej AICore na Androidzie, która wykorzystuje sprzęt urządzenia, aby zapewnić krótki czas oczekiwania na wnioskowanie i aktualność modelu.

Interfejsy API GenAI w ML Kit

Interfejsy GenAI API w ML Kit wykorzystują możliwości Gemini Nano, aby ułatwić aplikacjom wykonywanie zadań opartych na generatywnej AI na urządzeniu. Te interfejsy API są oparte na AICore, usłudze systemowej Androida, która umożliwia wykonywanie na urządzeniu podstawowych modeli generatywnej AI, aby ułatwić korzystanie z funkcji takich jak ulepszone funkcje aplikacji i lepsza ochrona prywatności użytkowników dzięki lokalnemu przetwarzaniu danych. Więcej informacji

Najważniejsze funkcje

Zestaw ML Kit dzieli funkcje generatywnej AI na te kategorie:

Generowanie niestandardowe i agenty

Pracuj bezpośrednio z modelem podstawowym Gemini Nano w niestandardowych przypadkach użycia:

  • Bezpośredni dostęp do modelu (za pomocą klasy GenerativeModel): generuj tekst lub ustrukturyzowane dane wyjściowe z niestandardowych promptów tekstowych lub multimodalnych albo zarządzaj własną historią czatu wieloetapowego bezpośrednio za pomocą obiektu List<Content> z rolami USER i MODEL oraz wartością sessionId.
  • Agentic workflows (przy użyciu klasy AgentRunner): oparte na klasie GenerativeModel, automatyzujące zarządzanie sesjami wieloetapowymi (w tym historią rozmów w pamięci) i wieloetapowe pętle wywoływania narzędzi.

Mowa i dźwięk

Transkrybuj, tłumacz i syntetyzuj mowę na urządzeniu:

  • Rozpoznawanie mowy: transkrypcja treści mówionych na tekst w tym samym języku.
  • Tłumaczenie mowy: tłumacz tekst mówiony na tekst w innym języku w czasie rzeczywistym.
  • Text-to-Speech: synteza naturalnie brzmiącej mowy na podstawie tekstu.

Zadania związane z tekstem i obrazami

Używaj interfejsów API przeznaczonych do konkretnych zadań, zoptymalizowanych pod kątem typowych zadań związanych z widzeniem komputerowym, pisaniem i wyszukiwaniem, za pomocą interfejsu wysokiego poziomu:

  • Opis obrazu: wygeneruj krótki opis danego obrazu.
  • Podsumowanie: podsumuj artykuły lub rozmowy w formie listy punktowanej.
  • Korekta: sprawdzanie krótkich wiadomości na czacie.
  • Przeredagowywanie: przeredagowywanie krótkich wiadomości na czacie w różnych tonach lub stylach.
  • Wyszukiwanie semantyczne: generuj wektory dystrybucyjne dla tekstu i obrazów za pomocą interfejsu Embedding API i łącz je z AndroidX AppSearch, aby znajdować treści według znaczenia.

Architektura z wykorzystaniem AICore

AICore to moduł na poziomie systemu, do którego można uzyskać dostęp za pomocą interfejsów API, aby przeprowadzać wnioskowanie na urządzeniu. AICore ma też kilka wbudowanych funkcji bezpieczeństwa, które zapewniają dokładną ocenę pod kątem naszych filtrów bezpieczeństwa. Poniższy diagram przedstawia, jak aplikacja uzyskuje dostęp do AICore, aby uruchomić Gemini Nano na urządzeniu.

Diagram pokazujący, jak aplikacja na Androida używa pakietu Google AI Edge SDK do uzyskiwania dostępu do AICore, gdzie funkcje Gemini Nano, LoRA i bezpieczeństwa są zarządzane i uruchamiane na akceleratorach sprzętowych.
Rysunek 1. AICore służy jako interfejs między aplikacją a modelem Gemini Nano, zarządzając aktualizacjami modelu i bezpieczeństwem przy użyciu sprzętu na urządzeniu.

Ochrona prywatności i bezpieczeństwo danych użytkownika

Generatywna AI na urządzeniu wykonuje prompty lokalnie, eliminując wywołania serwera. Chociaż eliminuje to opóźnienia sieci, szybkość wnioskowania zależy od sprzętu urządzenia. Takie podejście zwiększa prywatność, ponieważ dane wrażliwe są przechowywane na urządzeniu, umożliwia działanie w trybie offline i obniża koszty wnioskowania.

AICore jest zgodny z zasadami Private Compute Core i ma te kluczowe cechy:

  • Ograniczone wiązanie pakietów: AICore jest odizolowany od większości innych pakietów, z wyjątkiem niektórych pakietów systemowych. Wszelkie zmiany na tej liście dozwolonych mogą być wprowadzane tylko podczas pełnej aktualizacji Androida OTA.
  • Pośredni dostęp do internetu: AICore nie ma bezpośredniego dostępu do internetu. Wszystkie żądania internetowe, w tym pobieranie modeli, są kierowane przez aplikację towarzyszącą Private Compute Services typu open source. Interfejsy API w Private Compute Services muszą wyraźnie wykazywać, że są skoncentrowane na prywatności.

Dodatkowo AICore izoluje każde żądanie i nie przechowuje żadnych zapisów danych wejściowych ani wynikowych po ich przetworzeniu, aby chronić prywatność użytkowników. Aby dowiedzieć się więcej, przeczytaj posta na blogu Wprowadzenie do prywatności i bezpieczeństwa w Gemini Nano.

Szczegółowy schemat architektury AICore przedstawiający przepływ żądań: interfejs API, przetwarzanie danych wejściowych z sygnałami bezpieczeństwa, konfiguracja funkcji, środowisko wykonawcze z wagami modeli i LoRA oraz przetwarzanie danych wyjściowych z sygnałami bezpieczeństwa. Pokazuje też pobieranie modeli przez Private Compute Services.
Rysunek 2. Architektura AICore zarządza bezpieczeństwem danych wejściowych i wyjściowych, przetwarzaniem żądań i wagami modeli, aby zapewnić bezpieczne środowisko dla AI na urządzeniu.

Korzyści z dostępu do podstawowych modeli AI za pomocą AICore

AICore umożliwia systemowi operacyjnemu Android udostępnianie podstawowych modeli AI i zarządzanie nimi. Znacznie obniża to koszty korzystania z tych dużych modeli w aplikacji, głównie z tych powodów:

  • Łatwość wdrażania: AICore zarządza dystrybucją Gemini Nano i obsługuje przyszłe aktualizacje. Nie musisz się martwić o pobieranie ani aktualizowanie dużych modeli przez sieć ani o wpływ na budżet pamięci dyskowej i operacyjnej aplikacji.
  • Przyspieszone wnioskowanie: AICore wykorzystuje sprzęt na urządzeniu, aby przyspieszyć wnioskowanie. Aplikacja uzyskuje najlepszą wydajność na każdym urządzeniu, a Ty nie musisz się martwić o podstawowe interfejsy sprzętowe.

Kiedy używać wnioskowania hybrydowego

Chociaż Gemini Nano idealnie nadaje się do zadań offline i wymagających ochrony prywatności, ma ograniczenia na urządzeniu, takie jak limity tokenów, ograniczenia sprzętowe i ograniczenia możliwości modelu. W takich sytuacjach możesz użyć wnioskowania hybrydowego, aby zrównoważyć zadania AI między urządzeniem lokalnym a chmurą.

Aby zapewnić spójne wrażenia użytkowników na wszystkich urządzeniach i obsługiwać złożone zapytania, możesz użyć interfejsu Firebase AI Logic Hybrid API. Dzięki temu aplikacja może:

  • Płynne przełączanie: automatycznie przekierowuj żądania do modeli Gemini Flash lub Gemini Pro w chmurze, gdy Gemini Nano jest niedostępny lub nieobsługiwany na urządzeniu użytkownika.
  • Zapewnij bezpieczeństwo: chroń wnioskowanie w chmurze za pomocą Sprawdzania aplikacji Firebase (oraz obsługiwanych dostawców atestów, takich jak Play Integrity) i przechowuj poufne prompty systemowe po stronie serwera.