Ten przewodnik pomoże Ci zintegrować z aplikacjami rozwiązania Google oparte na generatywnej sztucznej inteligencji i uczeniu maszynowym (AI/ML). Zawiera wskazówki, które pomogą Ci zapoznać się z różnymi rozwiązaniami opartymi 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 w wyborze rozwiązania AI/ML, które najlepiej odpowiada Twoim potrzebom, w tym dokumencie znajdziesz 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) i 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 opartej na chmurze AI Firebase (Gemini Flash, Gemini Pro lub Imagen).
Wykorzystaj moc wnioskowania na urządzeniu
Podczas dodawania do aplikacji na Androida funkcji opartych na 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 zalety mogą mieć kluczowe znaczenie w przypadku niektórych zastosowań, takich jak podsumowywanie wiadomości, co sprawia, że przetwarzanie na urządzeniu jest priorytetem przy wyborze odpowiednich rozwiązań.
Gemini Nano umożliwia przeprowadzanie wnioskowania bezpośrednio na urządzeniu z Androidem. Jeśli pracujesz z tekstem, obrazami lub dźwiękiem, zacznij od interfejsów GenAI API z ML Kit, które oferują gotowe rozwiązania. Interfejsy ML Kit GenAI API są oparte na Gemini Nano i dostosowane do konkretnych zadań wykonywanych na urządzeniu. Interfejsy GenAI API w ML Kit to idealne rozwiązanie do wdrożenia w aplikacjach ze względu na wyższy poziom interfejsu i skalowalność. Te interfejsy API umożliwiają wdrażanie przypadków użycia do streszczania i korektowania oraz przekształcania tekstu, generowania opisów obrazów i wykonywania rozpoznawania mowy.
Jeśli chcesz wyjść poza podstawowe przypadki użycia udostępniane przez interfejsy ML Kit GenAI API, rozważ eksperymentalny dostęp do Gemini Nano. Eksperymentalny dostęp do Gemini Nano zapewnia bardziej bezpośredni dostęp do niestandardowych promptów w Gemini Nano.
W przypadku tradycyjnych zadań uczenia maszynowego możesz wdrażać własne modele niestandardowe. Udostępniamy zaawansowane narzędzia, takie jak ML Kit, MediaPipe, LiteRT i funkcje dostarczania Google Play, aby usprawnić proces tworzenia aplikacji.
W przypadku aplikacji, które wymagają wysoce specjalistycznych rozwiązań, możesz użyć własnego modelu niestandardowego, np. Gemmy lub innego modelu dostosowanego do Twojego konkretnego przypadku użycia. Uruchamiaj model bezpośrednio na urządzeniu użytkownika za pomocą LiteRT, która udostępnia gotowe architektury modeli zoptymalizowane pod kątem wydajności.
Możesz też rozważyć utworzenie rozwiązania hybrydowego, które wykorzystuje zarówno modele na urządzeniu, jak i w chmurze.
Aplikacje mobilne często wykorzystują modele lokalne w przypadku małych zbiorów danych tekstowych, takich jak rozmowy na czacie czy 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 opartego na chmurze z bardziej zaawansowanymi modelami Gemini.
Integracja zaawansowanych modeli Gemini
Deweloperzy aplikacji na Androida mogą zintegrować zaawansowane funkcje generatywnej AI od Google, w tym potężne modele Gemini Pro, Gemini Flash i Imagen, ze swoimi aplikacjami za pomocą pakietu SDK Firebase AI Logic. Ten pakiet SDK został zaprojektowany z myślą o większych potrzebach w zakresie danych. Zapewnia rozszerzone możliwości i adaptacyjność dzięki umożliwieniu dostępu do tych wydajnych, multimodalnych modeli AI.
Dzięki pakietowi SDK Firebase AI Logic deweloperzy mogą przy minimalnym nakładzie pracy wywoływać po stronie klienta modele AI od Google. Modele te, takie jak Gemini Pro i Gemini Flash, przeprowadzają wnioskowanie w chmurze i umożliwiają aplikacjom na Androida przetwarzanie różnych danych wejściowych, w tym obrazów, dźwięku, filmów i tekstu. Gemini Pro doskonale radzi sobie z rozwiązywaniem złożonych problemów i analizowaniem obszernych danych, a modele z serii Gemini Flash oferują większą szybkość i okno kontekstu wystarczające 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 lepiej rozwiązywać za pomocą tradycyjnych technik uczenia maszynowego (ML). Te sprawdzone metody doskonale sprawdzają się w przypadku zadań związanych z prognozowaniem, klasyfikacją, wykrywaniem i rozumieniem wzorców w istniejących danych, często z większą wydajnością, niższym kosztem obliczeniowym i prostszą implementacją niż modele generatywne.
Tradycyjne platformy uczenia maszynowego oferują solidne, zoptymalizowane i często bardziej praktyczne rozwiązania dla aplikacji, które koncentrują się na analizowaniu danych wejściowych, identyfikowaniu cech 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 niegeneratywnych przypadków użycia, zwłaszcza w środowiskach mobilnych i edge computing.
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ń związanych z uczeniem maszynowym, które nie wymagają wcześniejszej wiedzy z tej dziedziny. Ten łatwy w użyciu mobilny pakiet SDK umożliwia korzystanie z technologii uczenia maszynowego Google bezpośrednio w aplikacjach na Androida i iOS, dzięki czemu możesz skupić się na rozwijaniu funkcji zamiast na trenowaniu i optymalizowaniu modeli. ML Kit udostępnia gotowe interfejsy API i modele do wykorzystania 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 inteligentna odpowiedź.
Modele te są zwykle zoptymalizowane pod kątem wykonywania na urządzeniu, co zapewnia małe 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 czy generowania danych wyjściowych. To idealne rozwiązanie do skutecznego wzbogacania aplikacji o „inteligentne” funkcje za pomocą zoptymalizowanych modeli Google lub wdrażania niestandardowych modeli TensorFlow Lite.
Zacznij od naszych szczegółowych przewodników i dokumentacji w witrynie dla deweloperów ML Kit.
Niestandardowe wdrażanie ML za pomocą LiteRT
Aby mieć większą kontrolę lub wdrażać własne modele uczenia maszynowego, używaj niestandardowego stosu uczenia maszynowego opartego na LiteRT i usługach Google Play. Ten stos zapewnia podstawowe elementy do wdrażania funkcji ML o wysokiej wydajności. LiteRT to zestaw 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 niskimi opóźnieniami.
Wybierz LiteRT, gdy chcesz skutecznie wdrażać 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 mają kluczowe znaczenie.
Dowiedz się więcej o wdrażaniu ML za pomocą LiteRT.
Wprowadzanie do aplikacji funkcji percepcji w czasie rzeczywistym za pomocą MediaPipe
MediaPipe to otwarte, wieloplatformowe i konfigurowalne rozwiązania do uczenia maszynowego przeznaczone do mediów strumieniowych i transmisji na żywo. Korzystaj ze zoptymalizowanych, gotowych narzędzi do wykonywania złożonych zadań, takich jak śledzenie dłoni, szacowanie pozycji, wykrywanie siatki twarzy i wykrywanie obiektów. Wszystkie te narzędzia umożliwiają interakcję w czasie rzeczywistym o wysokiej wydajności, nawet na urządzeniach mobilnych.
Oparte na grafach potoki MediaPipe można w dużym stopniu dostosowywać, co pozwala dopasowywać rozwiązania do aplikacji na Androida, iOS, internetowych, na komputery i do backendu. Wybierz MediaPipe, jeśli Twoja aplikacja musi rozumieć i natychmiast reagować na dane z czujników na żywo, zwłaszcza strumienie wideo, w przypadku zastosowań takich jak rozpoznawanie gestów, efekty AR, śledzenie aktywności fizycznej czy sterowanie awatarem – wszystko to z myślą o analizowaniu i interpretowaniu danych wejściowych.
Poznaj rozwiązania i zacznij tworzyć aplikacje za pomocą MediaPipe.
Wybór metody: na urządzeniu lub w chmurze
Podczas integrowania funkcji AI/ML z aplikacją na Androida kluczową decyzją na wczesnym etapie jest to, czy przetwarzanie ma być wykonywane bezpośrednio na urządzeniu użytkownika, czy w chmurze. Narzędzia takie jak ML Kit, Gemini Nano i TensorFlow Lite umożliwiają korzystanie z funkcji na urządzeniu, a interfejsy Gemini Cloud API z Firebase AI Logic mogą zapewniać zaawansowane przetwarzanie w chmurze. Wybór odpowiedniego rozwiązania zależy od wielu czynników związanych z konkretnym przypadkiem użycia i potrzebami użytkowników.
Aby podjąć decyzję, weź pod uwagę te aspekty:
- Łączność i funkcjonalność offline: jeśli aplikacja ma działać niezawodnie bez połączenia z internetem, idealne będą rozwiązania na urządzeniu, takie jak Gemini Nano. Przetwarzanie w chmurze z natury wymaga dostępu do sieci.
- Prywatność danych: w przypadkach, gdy dane użytkownika muszą pozostać na urządzeniu ze względu na ochronę prywatności, przetwarzanie na urządzeniu zapewnia wyraźną przewagę, ponieważ informacje wrażliwe są przechowywane lokalnie.
- Możliwości modelu i złożoność zadania: modele oparte na chmurze są często znacznie większe, wydajniejsze i częściej aktualizowane, dzięki czemu nadają się do bardzo złożonych zadań związanych ze sztuczną inteligencją lub do przetwarzania większych danych wejściowych, w przypadku których najważniejsza jest wyższa jakość danych wyjściowych i rozbudowane możliwości. Prostsze zadania mogą być dobrze obsługiwane przez modele na urządzeniu.
- Koszty: interfejsy API w chmurze zwykle mają ceny oparte na wykorzystaniu, co oznacza, że koszty mogą rosnąć wraz z liczbą wnioskowań lub ilością przetwarzanych danych. Wnioskowanie na urządzeniu nie wiąże się na ogół z bezpośrednimi opłatami za użycie, ale generuje koszty rozwoju i może wpływać na zasoby urządzenia, takie jak żywotność baterii i ogólna wydajność.
- Zasoby urządzenia: modele na urządzeniu zajmują miejsce na urządzeniu użytkownika. Ważne jest też, aby znać kompatybilność urządzeń z określonymi modelami na urządzeniu, takimi jak Gemini Nano, aby mieć pewność, że odbiorcy docelowi mogą korzystać z tych funkcji.
- Dostrajanie i dostosowywanie: jeśli potrzebujesz możliwości dostrajania modeli do konkretnego przypadku użycia, rozwiązania oparte na chmurze zwykle oferują większą elastyczność i szersze opcje dostosowywania.
- Spójność na różnych platformach: jeśli zależy Ci na spójnych funkcjach AI na różnych platformach, w tym iOS, pamiętaj, że niektóre rozwiązania na urządzeniu, takie jak Gemini Nano, mogą nie być jeszcze dostępne we wszystkich systemach operacyjnych.
Po dokładnym 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 wybrać odpowiednie narzędzia dla deweloperów do integrowania technologii AI/ML z projektami na Androida.
Jaki jest główny cel funkcji AI?
- A) Generowanie nowych treści (tekstów, opisów obrazów) lub wykonywanie prostego przetwarzania tekstu (streszczanie, korekta lub przepisywanie tekstu)? → Otwórz Generatywną AI
- B) Czy analizujesz istniejące dane lub dane wejściowe w celu prognozowania, klasyfikowania, wykrywania, zrozumienia wzorców lub przetwarzania strumieni w czasie rzeczywistym (np. wideo lub audio)? → Przejdź do sekcji Tradycyjne uczenie maszynowe i percepcja
Tradycyjne uczenie maszynowe i percepcja
Musisz analizować dane wejściowe, identyfikować cechy lub tworzyć prognozy na podstawie wyuczonych wzorców, a nie generować całkowicie nowych danych wyjściowych.
Jakie konkretne zadanie wykonujesz?
- A) Chcesz szybko zintegrować gotowe, typowe funkcje ML na urządzeniach mobilnych?
(np. skanowanie kodów kreskowych, rozpoznawanie tekstu (OCR), wykrywanie twarzy, oznaczanie obrazów etykietami, wykrywanie i śledzenie obiektów, identyfikacja języka, podstawowe inteligentne odpowiedzi)
- → Użyj: ML Kit (tradycyjne interfejsy API)
- Uzasadnienie: najłatwiejsza integracja w przypadku sprawdzonych zadań ML na urządzeniach mobilnych, często zoptymalizowanych pod kątem używania na urządzeniu (niskie opóźnienie, tryb offline, prywatność).
- B) Czy musisz przetwarzać dane strumieniowane w czasie rzeczywistym (np. wideo lub audio) na potrzeby zadań związanych z percepcją? (np.śledzenie dłoni, szacowanie pozycji, siatka twarzy, wykrywanie i segmentacja obiektów w czasie rzeczywistym w filmie).
- → Użyj: MediaPipe
- Powód: platforma specjalizująca się w wydajnych potokach percepcji w czasie rzeczywistym na różnych platformach.
- C) Chcesz wydajnie uruchamiać na urządzeniu własny model ML wytrenowany niestandardowo (np. do klasyfikacji, regresji lub wykrywania), przy czym priorytetem jest wydajność i niskie zużycie zasobów?
- → Użyj: LiteRT (TensorFlow Lite Runtime)
- Powód: zoptymalizowany czas działania na potrzeby wydajnego wdrażania modeli niestandardowych na urządzeniach mobilnych i urządzeniach brzegowych (mały rozmiar, szybkie wnioskowanie, akceleracja sprzętowa).
- D) Chcesz wytrenować własny model ML do konkretnego zadania?
- → Użyj: LiteRT (TensorFlow Lite Runtime) + trenowanie modelu niestandardowego
- Uzasadnienie: udostępnia narzędzia do trenowania i wdrażania modeli niestandardowych zoptymalizowanych pod kątem urządzeń mobilnych i urządzeń brzegowych.
- E) Potrzebujesz zaawansowanej klasyfikacji treści, analizy nastawienia lub tłumaczenia wielu języków z dużą precyzją?
- Zastanów się, czy odpowiednie będą tradycyjne modele ML (potencjalnie wdrożone przy użyciu LiteRT lub chmury), czy też zaawansowane przetwarzanie języka naturalnego wymaga modeli generatywnych (wróć do sekcji Początek i wybierz A). W przypadku klasyfikacji, analizy nastawienia lub tłumaczenia w chmurze:
- → Używaj: rozwiązań działających w chmurze (np. Google Cloud Natural Language API, Google Cloud Translation API, do których można uzyskać dostęp za pomocą niestandardowego backendu lub Vertex AI. (Ma niższy priorytet niż opcje na urządzeniu, jeśli kluczowe jest działanie offline lub ochrona prywatności).
- Dlaczego: rozwiązania w chmurze oferują zaawansowane modele i obsługę wielu języków, ale wymagają połączenia z internetem i mogą generować koszty.
Generatywna AI
musisz utworzyć nowe treści, podsumować je, przeredagować lub wykonać złożone zadania związane z rozumieniem lub interakcją;
Czy sztuczna inteligencja ma działać offline, czy potrzebujesz maksymalnej prywatności danych (przechowywanie danych użytkownika na urządzeniu) lub chcesz uniknąć kosztów wnioskowania w chmurze?
- A) Tak, tryb offline, maksymalna prywatność lub brak kosztów chmury są kluczowe.
- → Otwórz Generatywna AI na urządzeniu
- B) Nie, łączność jest dostępna i odpowiednia, możliwości chmury i skalowalność są ważniejsze lub określone funkcje wymagają chmury.
- → Przejdź do generatywnej AI w chmurze
Generatywna AI na urządzeniu (z użyciem Gemini Nano)
Ograniczenia: wymaga zgodnych urządzeń z Androidem, ograniczona obsługa iOS, określone limity tokenów (1024 tokeny w prompcie, 4096 tokenów w kontekście), modele są mniej wydajne niż ich odpowiedniki w chmurze.
Czy Twój przypadek użycia dokładnie odpowiada uproszczonym zadaniom oferowanym przez interfejsy ML Kit GenAI API? (podsumowywać tekst, sprawdzać tekst, przepisywać tekst, generować opisy obrazów lub rozpoznawać mowę) ORAZ czy limity tokenów są wystarczające?
- A) Tak:
- → Zastosowanie: interfejsy ML Kit GenAI API (oparte na Gemini Nano)
- Uzasadnienie: najprostszy sposób na zintegrowanie na urządzeniu konkretnych, typowych zadań generatywnych, rozwiązanie o najwyższym priorytecie na urządzeniu.
- B) Nie (potrzebujesz bardziej elastycznych promptów lub zadań wykraczających poza konkretne interfejsy API ML Kit GenAI, ale nadal chcesz wykonywać je na urządzeniu w ramach możliwości Nano):
- → Użyj: eksperymentalny dostęp do Gemini Nano
- Dlaczego: zapewnia na urządzeniu otwarte możliwości promptowania w przypadkach użycia wykraczających poza ustrukturyzowane interfejsy API GenAI ML Kit, z uwzględnieniem ograniczeń Nano.
Generatywna AI w chmurze
Wykorzystuje bardziej zaawansowane modele, wymaga połączenia, zwykle wiąże się z kosztami wnioskowania, zapewnia większy zasięg na urządzeniach i łatwiejszą spójność na różnych platformach (Android i iOS).
Co jest dla Ciebie ważniejsze: łatwość integracji w Firebase CZY maksymalna elastyczność i kontrola?
- A) Wolisz łatwiejszą integrację i zarządzany interfejs API oraz prawdopodobnie korzystasz już z Firebase?
- → Użyj pakietu SDK Firebase AI Logic → Przejdź do Firebase AI Logic
- B) Potrzebujesz maksymalnej elastyczności, dostępu do najszerszej gamy modeli (w tym modeli innych firm i niestandardowych) oraz zaawansowanego dostrajania i chcesz zarządzać własną integracją backendu (bardziej złożoną)?
- → Zastosowanie: interfejs Gemini API z niestandardowym backendem w chmurze (przy użyciu Google Cloud Platform)
- Uzasadnienie: zapewnia największą kontrolę, najszerszy dostęp do modeli i opcje trenowania niestandardowego, ale wymaga znacznego nakładu pracy przy tworzeniu backendu. Odpowiednie w przypadku złożonych, dużych lub wysoce spersonalizowanych potrzeb.
(Wybrano pakiet SDK Firebase AI Logic) Jakiego rodzaju zadania generatywne i profilu wydajności potrzebujesz?
- A) Potrzebujesz równowagi między wydajnością a kosztem, odpowiedniej do ogólnego generowania tekstu, podsumowywania lub aplikacji do czatu, w których ważna jest szybkość?
- → Użyj: pakietu Firebase AI Logic SDK z Gemini Flash
- Powód: zoptymalizowany pod kątem szybkości i wydajności w zarządzanym środowisku Vertex AI.
- B) Potrzebujesz wyższej jakości i większych możliwości w zakresie generowania złożonych tekstów, wnioskowania, zaawansowanego przetwarzania języka naturalnego lub wykonywania instrukcji?
- → Użyj: pakietu SDK Firebase AI Logic z Gemini Pro
- Dlaczego: bardziej zaawansowany model tekstowy do wymagających zadań, dostępny w Firebase.
- C) Potrzebujesz zaawansowanego generowania obrazów lub zaawansowanego rozumienia obrazów albo manipulowania nimi na podstawie promptów tekstowych?
- → Użyj: pakietu SDK Firebase AI Logic z Imagen 3
- Dlaczego: najnowocześniejszy model generowania obrazów dostępny w zarządzanym środowisku Firebase.