Aigest.
Newsy

Google udostępnia LiteRT.js: wnioskowanie AI na urządzeniu w przeglądarce dzięki WebGPU

Google wprowadza LiteRT.js, umożliwiając uruchamianie modeli AI .tflite bezpośrednio w przeglądarce, co poprawia prywatność, redukuje koszty serwerowe i skraca czas reakcji.

RA

Udostępnij
Google udostępnia LiteRT.js: wnioskowanie AI na urządzeniu w przeglądarce dzięki WebGPU
Fot. MarkTechPost

Google udostępniło LiteRT.js, czyli wiązanie JavaScript dla swojej biblioteki wnioskowania na urządzeniu, LiteRT (wcześniej znanej jako TensorFlow Lite). Dzięki temu rozwiązaniu, te same modele .tflite, które są używane na platformach Android i iOS, mogą być teraz uruchamiane lokalnie w przeglądarce internetowej, wykorzystując technologie takie jak WebAssembly, WebGPU oraz eksperymentalne WebNN.

Uruchamianie wnioskowania AI bezpośrednio w przeglądarce niesie ze sobą szereg korzyści. Google podkreśla przede wszystkim zwiększoną prywatność użytkowników, ponieważ dane nie opuszczają urządzenia. Dodatkowo, eliminuje to koszty związane z utrzymaniem serwerów oraz zapewnia ultraniskie opóźnienia w działaniu aplikacji.

Jak działa LiteRT.js?

LiteRT.js nie wprowadza nowego formatu modeli, lecz stanowi skompilowaną wersję istniejącego, natywnego środowiska wykonawczego Google do WebAssembly, udostępnioną następnie dla JavaScriptu. W przeciwieństwie do wcześniejszych rozwiązań AI dla sieci, takich jak TensorFlow.js, które opierały się na jądach opartych na JavaScript, LiteRT.js dostarcza natywne, wieloplatformowe środowisko wykonawcze z zachowanymi optymalizacjami. Oznacza to, że aplikacje webowe mogą korzystać z ulepszeń wydajności, usprawnień kwantyzacji i optymalizacji sprzętowych, które zostały opracowane dla systemów Android, iOS i komputerów stacjonarnych.

Środowisko wykonawcze LiteRT.js obsługuje trzy główne backendy:

  • WebAssembly (Wasm): Podstawowy backend, zapewniający szeroki zakres obsługiwanych operatorów.
  • WebGPU: Wykorzystuje moc obliczeniową karty graficznej, oferując znaczące przyspieszenie.
  • WebNN: Eksperymentalny backend, który ma na celu wykorzystanie dedykowanych jednostek przetwarzania neuronowego (NPU).

Istnieją dwie kluczowe zasady dotyczące delegowania zadań do akceleratorów. Po pierwsze, LiteRT.js nie wspiera częściowej delegacji – graf obliczeniowy nie może być dzielony między CPU a GPU. Po drugie, delegacja jest zasadą „wszystko albo nic” dla danego modelu. Jeśli model nie może być w pełni delegowany do wybranego akceleratora, LiteRT automatycznie wraca do wykonywania kodu w WebAssembly, gdzie ścieżka CPU oferuje najszerszą obsługę operatorów.

Wyniki wydajności i konwersja modeli

Google przedstawiło dwa odrębne zestawy wyników testów wydajnościowych:

  • W porównaniu do innych środowisk wykonawczych dla sieci, LiteRT.js jest do 3 razy szybszy w wnioskowaniu na CPU i GPU. Dotyczy to klasycznych modeli wizji komputerowej i przetwarzania audio.
  • W porównaniu do własnego wykonania na CPU, użycie GPU lub NPU zapewnia 5-60-krotne przyspieszenie. Jest to szczególnie widoczne w wymagających zadaniach w czasie rzeczywistym, takich jak śledzenie obiektów czy transkrypcja audio.

Oba benchmarki przeprowadzono w kontrolowanym środowisku przeglądarki na 2024 MacBooku Pro z Apple Silicon M4. Google zaznacza, że wyniki mogą się różnić w zależności od lokalnego GPU, dławienia termicznego i optymalizacji sterowników. Warto zauważyć, że krążąca w sieci informacja o „10-krotnym” przyspieszeniu nie pojawiła się w oficjalnym ogłoszeniu.

Konwersja modeli PyTorch do formatu .tflite jest możliwa za pomocą narzędzia LiteRT Torch w jednym kroku. Wymaga to jednak spełnienia ścisłych warunków, takich jak eksportowalność modelu za pomocą torch.export.export (czyli TorchDynamo-exportable), brak warunkowych gałęzi Pythona zależnych od wartości tensorów w czasie wykonania oraz brak dynamicznych wymiarów wejściowych lub wyjściowych, w tym wymiaru wsadowego.

Do optymalizacji rozmiaru modeli służy AI Edge Quantizer, który konfiguruje schematy kwantyzacji dla różnych warstw. Gotowe, wstępnie wytrenowane modele .tflite są również dostępne na Kaggle i w społeczności LiteRT Hugging Face.

Integracja z TensorFlow.js i zarządzanie pamięcią

Google podkreśla, że LiteRT.js i TensorFlow.js nie wykluczają się wzajemnie. LiteRT.js jest pozycjonowane jako zamiennik dla TF.js Graph Models, a nie całej biblioteki. TensorFlow.js pozostaje zalecanym narzędziem do zadań przed- i po-przetwarzania danych. Pakiet @litertjs/tfjs-interop umożliwia przekazywanie tensorów między tymi dwoma bibliotekami za pomocą funkcji runWithTfjsTensors.

Ważnym aspektem, na który należy zwrócić uwagę, jest ręczne zarządzanie pamięcią w LiteRT.js. Każdy obiekt Tensor musi być jawnie usunięty za pomocą metody .delete(), aby uniknąć wycieków pamięci urządzenia. Fragment kodu przedstawiony w ogłoszeniu Google pomijał ten istotny krok.

LiteRT.js stanowi znaczący krok w kierunku demokratyzacji dostępu do zaawansowanych możliwości AI bezpośrednio w przeglądarce. Umożliwiając uruchamianie złożonych modeli na urządzeniu użytkownika, Google otwiera drzwi dla tworzenia bardziej prywatnych, responsywnych i efektywnych aplikacji webowych, które mogą wykorzystywać moc obliczeniową lokalnego sprzętu, jednocześnie minimalizując obciążenie serwerów i koszty operacyjne.

Źródło: marktechpost.com

Udostępnij

Komentarze

Zaloguj się, aby dołączyć do dyskusji.

Nikt jeszcze nie skomentował. Bądź pierwszy!

Czytaj dalej

PrismML prezentuje Bonsai 27B: Qwen3.6-27B w wersjach 1-bitowych i ternarnych dla urządzeń mobilnych
Google pozwane przez wydawców za wykorzystanie dzieł do trenowania AI Gemini
Newsy

Google pozwane przez wydawców za wykorzystanie dzieł do trenowania AI Gemini

Grupa wydawców i autorów złożyła pozew zbiorowy przeciwko Google, oskarżając giganta technologicznego o bezprawne wykorzystanie ich dzieł chronionych prawem autorskim do szkolenia platformy AI Gemini.

Redakcja Aigest19 godz. temu

Blume: Nowy framework dokumentacji open-source od eksperta OpenAI, gotowy na AI
Newsy

Blume: Nowy framework dokumentacji open-source od eksperta OpenAI, gotowy na AI

Hayden Bleasel z OpenAI zaprezentował Blume – otwarty framework do tworzenia dokumentacji, który umożliwia generowanie stron z plików Markdown z minimalną konfiguracją i wbudowaną obsługą sztucznej inteligencji.

Redakcja Aigestwczoraj

Mistral AI prezentuje Robostral Navigate: model 8B do nawigacji robotów z jedną kamerą RGB
Newsy

Mistral AI prezentuje Robostral Navigate: model 8B do nawigacji robotów z jedną kamerą RGB

Mistral AI wprowadza Robostral Navigate, swój pierwszy model 8B przeznaczony do nawigacji robotów w złożonych środowiskach, wykorzystujący wyłącznie pojedynczą kamerę RGB.

Redakcja Aigestwczoraj

VideoAgent: Jak zbudować system multiagentowy do edycji wideo z instrukcji języka naturalnego
Newsy

VideoAgent: Jak zbudować system multiagentowy do edycji wideo z instrukcji języka naturalnego

Artykuł przedstawia szczegółowy przewodnik po budowie systemu multiagentowego VideoAgent, zdolnego do rozumienia, edycji i tworzenia wideo na podstawie instrukcji języka naturalnego.

Redakcja Aigestwczoraj

Anthropic odkrywa "przestrzeń J" w modelach AI: nowe okno na ich wewnętrzne procesy
Newsy

Anthropic odkrywa "przestrzeń J" w modelach AI: nowe okno na ich wewnętrzne procesy

Firma Anthropic, lider w dziedzinie sztucznej inteligencji, ogłosiła odkrycie "przestrzeni J" w swoich modelach językowych, co ma umożliwić głębsze zrozumienie ich wewnętrznego działania i procesów decyzyjnych.

Redakcja Aigestwczoraj

Bądź na bieżąco ze światem AI

Najważniejsze newsy, recenzje i poradniki — raz w tygodniu, prosto na maila. Bez spamu.