Znajdź odpowiednie rozwiązanie AI/ML dla swojej aplikacji

Ten przewodnik ma pomóc Ci zintegrować rozwiązania Google oparte na generatywnej sztucznej inteligencji i uczeniu maszynowym (AI/ML) z Twoimi aplikacjami. Zawiera on wskazówki, które pomogą Ci poruszać się po różnych dostępnych rozwiązaniach opartych na sztucznej inteligencji i uczeniu maszynowym oraz wybrać to, które najlepiej odpowiada Twoim potrzebom. Celem tego dokumentu jest pomoc w określeniu, którego narzędzia użyć i dlaczego, poprzez skupienie się na Twoich potrzebach i przypadkach użycia.

Aby pomóc Ci wybrać najbardziej odpowiednie rozwiązanie AI/ML do Twoich konkretnych wymagań, ten dokument zawiera przewodnik po rozwiązaniach. Odpowiadając na serię pytań dotyczących celów i ograniczeń projektu, przewodnik kieruje Cię do najbardziej odpowiednich narzędzi i technologii.

Ten przewodnik pomoże Ci wybrać najlepsze rozwiązanie AI dla Twojej aplikacji. Weź pod uwagę te czynniki: typ danych (tekst, obrazy, dźwięk, wideo), złożoność zadania (od prostego podsumowania po złożone zadania wymagające specjalistycznej wiedzy) oraz rozmiar danych (krótkie dane wejściowe a duże dokumenty). Pomoże Ci to zdecydować, czy używać Gemini Nano na urządzeniu, czy AI w chmurze Firebase (Gemini Flash lub Gemini Pro).

Schemat decyzyjny dotyczący przypadków użycia generatywnej AI. Kryteria obejmują modalność (tekst, obraz, dźwięk, film, generowanie obrazów), złożoność (streszczenie, przepisanie, wiedza domenowa) i okno kontekstu (krótkie dane wejściowe/wyjściowe, obszerne dokumenty/multimedia), co prowadzi do wyboru generatywnej AI na urządzeniu (Gemini Nano) lub Firebase AI Logic (Gemini Flash, Pro).
Rysunek 1: ta ilustracja przedstawia ogólny przewodnik po rozwiązaniach, który pomoże Ci znaleźć odpowiednie rozwiązanie AI/ML dla Twojej aplikacji na Androida. Aby uzyskać bardziej szczegółowe informacje o opcjach AI i ML, zapoznaj się z przewodnikiem po rozwiązaniach znalezionym w dalszej części tego dokumentu.

Wykorzystaj potencjał wnioskowania na urządzeniu

Gdy dodajesz do aplikacji na Androida funkcje AI i ML, możesz wybrać różne sposoby ich udostępniania – na urządzeniu lub w chmurze.

Rozwiązania na urządzeniu, takie jak Gemini Nano, zapewniają wyniki bez dodatkowych kosztów, zwiększają prywatność użytkowników i zapewniają niezawodne działanie offline, ponieważ dane wejściowe są przetwarzane lokalnie. Te korzyści mogą mieć kluczowe znaczenie w niektórych przypadkach użycia, np. w przypadku podsumowywania wiadomości, co sprawia, że przy wyborze odpowiednich rozwiązań priorytetem jest działanie na urządzeniu.

Gemini Nano umożliwia uruchamianie wnioskowania bezpośrednio na urządzeniu z Androidem. Jeśli pracujesz z tekstem, obrazami lub dźwiękiem, zacznij od interfejsów ML Kit GenAI API, aby uzyskać gotowe rozwiązania. Interfejsy ML Kit GenAI API działają w oparciu o Gemini Nano, wykorzystując AICore jako podstawową usługę systemową, i są dostosowane do konkretnych zadań na urządzeniu. Interfejsy ML Kit GenAI API to idealna ścieżka do wdrożenia aplikacji, ponieważ mają interfejs wyższego poziomu i są skalowalne. Te interfejsy API umożliwiają wysyłanie zapytań w języku naturalnym z danymi wejściowymi w postaci tekstu i obrazu, co umożliwia różne przypadki użycia, takie jak rozpoznawanie obrazów, krótkie tłumaczenia, podsumowania z przewodnikiem i inne.

W przypadku tradycyjnych zadań uczenia maszynowego możesz wdrożyć własne modele niestandardowe. Udostępniamy zaawansowane narzędzia, takie jak ML Kit, MediaPipe, LiteRT i funkcje dostarczania w Google Play, aby usprawnić proces tworzenia.

W przypadku aplikacji, które wymagają wysoce specjalistycznych rozwiązań, możesz użyć własnego modelu niestandardowego, np. Gemma lub innego modelu dostosowanego do konkretnego przypadku użycia. Uruchamiaj model bezpośrednio na urządzeniu użytkownika za pomocą LiteRT, który udostępnia gotowe architektury modeli zapewniające optymalną wydajność.

Możesz też rozważyć utworzenie rozwiązania hybrydowego, które wykorzystuje modele na urządzeniu i w chmurze.

Aplikacje mobilne zwykle używają modeli lokalnych do małych danych tekstowych, takich jak rozmowy na czacie lub artykuły na blogu. W przypadku większych źródeł danych (np. plików PDF) lub gdy wymagana jest dodatkowa wiedza, może być konieczne użycie rozwiązania w chmurze z bardziej zaawansowanymi modelami Gemini.

Integracja zaawansowanych modeli Gemini

Deweloperzy Androida mogą integrować zaawansowane funkcje generatywnej AI Google, w tym zaawansowane modele Gemini Pro i Gemini Flash, ze swoimi aplikacjami za pomocą pakietu Firebase AI Logic SDK. Ten pakiet SDK jest przeznaczony do obsługi większych ilości danych i zapewnia rozszerzone możliwości oraz elastyczność dzięki dostępowi do tych wydajnych, multimodalnych modeli AI.

Dzięki pakietowi Firebase AI Logic SDK deweloperzy mogą z minimalnym wysiłkiem wywoływać modele AI Google po stronie klienta. Te modele, takie jak Gemini Pro i Gemini Flash, uruchamiają wnioskowanie w chmurze i umożliwiają aplikacjom na Androida przetwarzanie różnych danych wejściowych, w tym obrazów, dźwięku, wideo i tekstu. Gemini Pro doskonale radzi sobie z rozwiązywaniem złożonych problemów i analizowaniem dużych ilości danych, a seria Gemini Flash oferuje doskonałą szybkość i okno kontekstu wystarczająco duże do większości zadań.

Kiedy używać tradycyjnego uczenia maszynowego

Generatywna AI jest przydatna do tworzenia i edytowania treści, takich jak tekst, obrazy i kod, ale wiele rzeczywistych problemów można lepiej rozwiązać za pomocą tradycyjnych technik uczenia maszynowego (ML). Te sprawdzone metody doskonale sprawdzają się w zadaniach związanych z przewidywaniem, klasyfikacją, wykrywaniem i rozumieniem wzorców w istniejących danych, często z większą wydajnością, niższymi kosztami obliczeniowymi i prostszą implementacją niż modele generatywne.

Tradycyjne platformy ML oferują niezawodne, zoptymalizowane i często bardziej praktyczne rozwiązania dla aplikacji, które koncentrują się na analizowaniu danych wejściowych, identyfikowaniu funkcji lub tworzeniu prognoz na podstawie wyuczonych wzorców, a nie na generowaniu całkowicie nowych danych wyjściowych. Narzędzia takie jak ML Kit, LiteRT i MediaPipe od Google zapewniają zaawansowane funkcje dostosowane do tych przypadków użycia, które nie są generatywne, szczególnie w środowiskach mobilnych i obliczeń brzegowych.

Szybkie rozpoczęcie integracji uczenia maszynowego za pomocą ML Kit

ML Kit oferuje gotowe do wdrożenia i zoptymalizowane pod kątem urządzeń mobilnych rozwiązania do typowych zadań uczenia maszynowego, które nie wymagają wcześniejszej wiedzy na temat uczenia maszynowego. Ten łatwy w użyciu pakiet SDK na urządzenia mobilne udostępnia wiedzę Google na temat uczenia maszynowego bezpośrednio w aplikacjach na Androida i iOS, dzięki czemu możesz skupić się na tworzeniu funkcji zamiast na trenowaniu i optymalizowaniu modeli. ML Kit udostępnia gotowe interfejsy API i modele do użycia w funkcjach takich jak skanowanie kodów kreskowych, rozpoznawanie tekstu (OCR), wykrywanie twarzy, oznaczanie obrazów etykietami, wykrywanie i śledzenie obiektów, rozpoznawanie języka i inteligentne odpowiedzi.

Te modele są zwykle zoptymalizowane pod kątem wykonywania na urządzeniu, co zapewnia niskie opóźnienia, działanie offline i większą prywatność użytkowników, ponieważ dane często pozostają na urządzeniu. Wybierz ML Kit, aby szybko dodać do aplikacji mobilnej sprawdzone funkcje uczenia maszynowego bez konieczności trenowania modeli lub wymagania generatywnych danych wyjściowych. Jest to idealne rozwiązanie do wydajnego ulepszania aplikacji za pomocą „inteligentnych” funkcji przy użyciu zoptymalizowanych modeli Google lub przez wdrożenie niestandardowych modeli TensorFlow Lite.

Zacznij korzystać z naszych kompleksowych przewodników i dokumentacji w witrynie dla deweloperów ML Kit.

Wdrażanie niestandardowych modeli ML za pomocą LiteRT

Aby mieć większą kontrolę lub wdrożyć własne modele ML, użyj niestandardowego stosu ML opartego na LiteRT i Usługach Google Play. Ten stos zapewnia podstawowe elementy do wdrażania funkcji ML o wysokiej wydajności. LiteRT to pakiet narzędzi zoptymalizowany pod kątem wydajnego uruchamiania modeli TensorFlow na urządzeniach mobilnych, wbudowanych i brzegowych o ograniczonych zasobach. Umożliwia on uruchamianie znacznie mniejszych i szybszych modeli, które zużywają mniej pamięci, energii i miejsca na dane. Środowisko wykonawcze LiteRT jest wysoce zoptymalizowane pod kątem różnych akceleratorów sprzętowych (GPU, DSP, NPU) na urządzeniach brzegowych, co umożliwia wnioskowanie z niskim opóźnieniem.

Wybierz LiteRT, gdy musisz wydajnie wdrożyć wytrenowane modele ML (zwykle do klasyfikacji, regresji lub wykrywania) na urządzeniach o ograniczonej mocy obliczeniowej lub żywotności baterii, takich jak smartfony, urządzenia IoT lub mikrokontrolery. Jest to preferowane rozwiązanie do wdrażania niestandardowych lub standardowych modeli predykcyjnych na urządzeniach brzegowych, gdzie szybkość i oszczędność zasobów są najważniejsze.

Dowiedz się więcej o wdrażaniu modeli ML za pomocą LiteRT.

Tworzenie w aplikacjach funkcji rozpoznawania w czasie rzeczywistym za pomocą MediaPipe

MediaPipe to rozwiązania uczenia maszynowego typu open source, działające na wielu platformach i dostosowywane do potrzeb użytkownika, które są przeznaczone do mediów na żywo i strumieniowych. Korzystaj ze zoptymalizowanych, gotowych narzędzi do złożonych zadań, takich jak śledzenie rąk, szacowanie pozycji, wykrywanie siatki twarzy i wykrywanie obiektów, które umożliwiają interakcję w czasie rzeczywistym o wysokiej wydajności nawet na urządzeniach mobilnych.

Potoki oparte na grafach MediaPipe można w dużym stopniu dostosowywać, co pozwala dostosować rozwiązania do aplikacji na Androida, iOS, w internecie, na komputerach i w backendzie. Wybierz MediaPipe, gdy Twoja aplikacja musi rozumieć dane z czujników na żywo i natychmiast na nie reagować, zwłaszcza strumienie wideo, w przypadku takich zastosowań jak rozpoznawanie gestów, efekty AR, śledzenie kondycji lub sterowanie awatarem – wszystko to koncentruje się na analizowaniu i interpretowaniu danych wejściowych.

Poznaj rozwiązania i zacznij tworzyć za pomocą MediaPipe.

Integracja aplikacji z asystentem urządzenia

Tradycyjna integracja AI polega na „dodawaniu AI do aplikacji”, ale możesz też „dodać aplikację do AI”. Udostępniając funkcje aplikacji funkcjom AI systemu, umożliwiasz asystentom na poziomie systemu (np. Gemini) wykrywanie i wywoływanie funkcji aplikacji w sposób agentowy. AppFunctions to podstawowy sposób na osiągnięcie tej integracji, dzięki czemu Twoja aplikacja może stać się uczestnikiem szerszego ekosystemu AI na Androidzie.

Wybierz metodę

W przypadku dodawania AI do aplikacji na Androida w celu jej ulepszenia należy wziąć pod uwagę 3 podstawowe metody: przetwarzanie na urządzeniu, korzystanie z modeli w chmurze lub dodawanie funkcji aplikacji do AI na poziomie systemu. Narzędzia takie jak ML Kit, Gemini Nano i LiteRT umożliwiają korzystanie z funkcji na urządzeniu, a interfejsy Gemini Cloud API z Firebase AI Logic zapewniają zaawansowane przetwarzanie w chmurze. AppFunctions to trzecia ścieżka, która umożliwia „dodanie aplikacji do AI” przez udostępnienie jej funkcji systemowi w sposób agentowy.

Przy wyborze metody weź pod uwagę te czynniki:

Czynnik Rozwiązania na urządzeniu Rozwiązania w chmurze
Łączność i działanie offline funkcjonalność Idealne do użytku offline; działają bez połączenia z siecią. Wymagają połączenia z siecią, aby komunikować się ze zdalnymi serwerami.
Prywatność danych Przetwarzają i przechowują dane wrażliwe lokalnie na urządzeniu. Dane są przesyłane do chmury, co wymaga zaufania do bezpieczeństwa dostawcy.
Widoczność i zasięg Bezpośrednia integracja z systemem operacyjnym (AppFunctions) umożliwia asystentom wykrywanie funkcji. Wykrywanie jest zwykle ograniczone do wewnętrznego interfejsu aplikacji lub konkretnych integracji interfejsu API.
Możliwości modelu Zoptymalizowane pod kątem niskich opóźnień i konkretnych, mniej wymagających zadań. Zaawansowane modele, które mogą obsługiwać złożone zadania i duże dane wejściowe.
Kwestie związane z kosztami Brak bezpośrednich opłat za użycie; wykorzystuje istniejący sprzęt urządzenia. Zwykle obejmuje ceny oparte na użytkowaniu lub bieżące koszty subskrypcji.
Zasoby urządzenia Wykorzystuje pamięć lokalną, pamięć RAM i baterię. Minimalny wpływ lokalny; większość pracy jest przenoszona na serwer.
Dostrajanie Ograniczona elastyczność; ograniczone możliwościami sprzętu lokalnego możliwości. Większa elastyczność w zakresie rozbudowanego dostosowywania i dostrajania na dużą skalę.
Spójność na wielu platformach Dostępność może się różnić w zależności od systemu operacyjnego i obsługi sprzętu. Spójne działanie na każdej platformie z dostępem do internetu access.

Dzięki dokładnemu rozważeniu wymagań dotyczących przypadku użycia i dostępnych opcji możesz znaleźć idealne rozwiązanie AI/ML, które ulepszy Twoją aplikację na Androida i zapewni użytkownikom inteligentne i spersonalizowane wrażenia.


Przewodnik po rozwiązaniach AI/ML

Ten przewodnik po rozwiązaniach pomoże Ci określić odpowiednie narzędzia dla deweloperów do integracji technologii AI/ML z projektami na Androida.

Jaki jest główny cel funkcji AI?

  • A) Generowanie nowych treści (tekstu, opisów obrazów) lub wykonywanie prostego przetwarzania tekstu (podsumowywanie, korekta lub przepisywanie tekstu)? → Otwórz Generatywna AI
  • B) Analizowanie istniejących danych/danych wejściowych pod kątem przewidywania, klasyfikacji, wykrywania, rozumienia wzorców lub przetwarzania strumieni w czasie rzeczywistym (np. wideo/audio)? → Otwórz Tradycyjne uczenie maszynowe i rozpoznawanie
  • C) Ulepszanie funkcji aplikacji w celu integracji z funkcjami AI systemu (dodawanie aplikacji do AI)? → Otwórz Dodawanie aplikacji do AI

Tradycyjne uczenie maszynowe i rozpoznawanie

Musisz analizować dane wejściowe, identyfikować funkcje lub tworzyć prognozy na podstawie wyuczonych wzorców, a nie generować całkowicie nowych danych wyjściowych.

Jakie konkretne zadanie wykonujesz?

  • A) Potrzebujesz szybkiej integracji gotowych, typowych funkcji uczenia maszynowego na urządzeniach mobilnych? (np. skanowanie kodów kreskowych, rozpoznawanie tekstu (OCR), wykrywanie twarzy, oznaczanie obrazów etykietami, wykrywanie i śledzenie obiektów, rozpoznawanie języka, podstawowe inteligentne odpowiedzi)
    • → Użyj: ML Kit (tradycyjne interfejsy API)
    • Dlaczego: najłatwiejsza integracja w przypadku sprawdzonych zadań uczenia maszynowego na urządzeniach mobilnych, często zoptymalizowanych pod kątem użycia na urządzeniu (niskie opóźnienia, działanie offline, prywatność).
  • B) Musisz przetwarzać dane strumieniowane w czasie rzeczywistym (np. wideo lub audio) na potrzeby zadań rozpoznawania? (np. śledzenie rąk, szacowanie pozycji, siatka twarzy, wykrywanie i segmentacja obiektów w czasie rzeczywistym w filmie)
    • → Użyj: MediaPipe
    • Dlaczego: platforma wyspecjalizowana w potokach rozpoznawania w czasie rzeczywistym o wysokiej wydajności na różnych platformach.
  • C) Musisz wydajnie uruchamiać własny, niestandardowo wytrenowany model ML (np. do klasyfikacji, regresji, wykrywania) na urządzeniu, priorytetowo traktując wydajność i niskie zużycie zasobów?
    • → Użyj: LiteRT (środowisko wykonawcze TensorFlow Lite)
    • Dlaczego: zoptymalizowane środowisko wykonawcze do wydajnego wdrażania modeli niestandardowych na urządzeniach mobilnych i brzegowych (mały rozmiar, szybkie wnioskowanie, akceleracja sprzętowa).
  • D) Musisz wytrenować własny model ML do konkretnego zadania?
    • → Użyj: LiteRT (środowisko wykonawcze TensorFlow Lite) + trenowanie modelu niestandardowego
    • Dlaczego: udostępnia narzędzia do trenowania i wdrażania modeli niestandardowych, zoptymalizowanych pod kątem urządzeń mobilnych i brzegowych.
  • E) Potrzebujesz zaawansowanej klasyfikacji treści, analizy nastawienia lub tłumaczenia wielu języków z dużą liczbą niuansów?
    • Zastanów się, czy pasują tradycyjne modele ML (potencjalnie wdrożone za pomocą LiteRT lub chmury), czy też zaawansowane NLU wymaga modeli generatywnych (wróć do początku i wybierz A). W przypadku klasyfikacji, analizy nastawienia lub tłumaczenia w chmurze:
    • → Użyj: rozwiązań w chmurze (np. Google Cloud Natural Language API, Google Cloud Translation API, do których można uzyskać dostęp za pomocą backendu niestandardowego lub platformy agentów Gemini Enterprise). (Niższy priorytet niż opcje na urządzeniu, jeśli najważniejsze jest działanie offline lub prywatność).
    • Dlaczego: rozwiązania w chmurze oferują zaawansowane modele i szeroką obsługę języków, ale wymagają łączności i mogą wiązać się z kosztami.

Generatywna AI

Musisz tworzyć nowe treści, podsumowywać, przepisywać lub wykonywać złożone zadania związane z rozumieniem lub interakcją.

Czy wymagasz, aby AI działała offline, potrzebujesz maksymalnej prywatności danych (przechowywanie danych użytkownika na urządzeniu) lub chcesz uniknąć kosztów wnioskowania w chmurze?

  • A) Tak, działanie offline, maksymalna prywatność lub brak kosztów w chmurze są najważniejsze.
  • B) Nie, łączność jest dostępna i akceptowalna, możliwości i skalowalność chmury są ważniejsze lub określone funkcje wymagają chmury.

Generatywna AI na urządzeniu (przy użyciu Gemini Nano)

Ograniczenia: wymaga zgodnych urządzeń z Androidem, ograniczonej obsługi iOS, modele są mniej zaawansowane niż ich odpowiedniki w chmurze.

Za pomocą interfejsu Prompt API w ML Kit możesz wysyłać zapytania w języku naturalnym z danymi wejściowymi w postaci samego tekstu lub tekstu i obrazu w różnych przypadkach użycia, takich jak rozpoznawanie obrazów, krótkie tłumaczenia i podsumowania z przewodnikiem. Jeśli Twoje przypadki użycia mogą być zaspokojone przez te limity tokenów, interfejsy ML Kit GenAI API są najlepszym rozwiązaniem w zakresie generatywnej AI na urządzeniu. ML Kit oferuje też uproszczone interfejsy API do typowych zadań, takich jak podsumowywanie i inteligentne odpowiedzi.


Generatywna AI w chmurze

Wykorzystuje bardziej zaawansowane modele, wymaga łączności, zwykle wiąże się z kosztami wnioskowania, oferuje szerszy zasięg urządzeń i łatwiejszą spójność na wielu platformach (Android i iOS).

Co jest dla Ciebie priorytetem: łatwość integracji w Firebase CZY maksymalna elastyczność/kontrola?

  • A) Wolisz łatwiejszą integrację, zarządzany interfejs API i prawdopodobnie używasz już Firebase?
  • B) Potrzebujesz maksymalnej elastyczności, dostępu do najszerszej gamy modeli (w tym modeli innych firm i niestandardowych), zaawansowanego dostrajania i chcesz zarządzać własną integracją backendu (bardziej złożoną)?
    • → Użyj: interfejsu Gemini API z niestandardowym backendem w chmurze (przy użyciu Google Cloud Platform)
    • Dlaczego: zapewnia największą kontrolę, najszerszy dostęp do modeli i opcje trenowania niestandardowego, ale wymaga znacznego nakładu pracy przy tworzeniu backendu. Odpowiednie do złożonych, wielkoskalowych lub wysoce dostosowanych potrzeb.

(Wybrano pakiet Firebase AI Logic SDK) Jakiego rodzaju zadania generatywne i profilu wydajności potrzebujesz?

  • A) Potrzebujesz równowagi między wydajnością a kosztami, odpowiedniej do ogólnego generowania tekstu, podsumowywania lub aplikacji do czatowania, w których ważna jest szybkość?
  • B) Potrzebujesz wyższej jakości i możliwości w zakresie złożonego generowania tekstu, rozumowania, zaawansowanego NLU lub wykonywania instrukcji?

AppFunctions

Musisz ulepszyć funkcje aplikacji, aby zintegrować je z funkcjami AI systemu (dodawanie aplikacji do AI).

  • → Użyj: AppFunctions
  • Dlaczego: umożliwia funkcjom AI systemu, takim jak Asystent, wykrywanie i wywoływanie funkcji aplikacji.