FunctionGemma: Google otwiera drogę dla AI działającej na urządzeniach brzegowych
W obszarze sztucznej inteligencji, gdzie dominują obszerne modele językowe, Google wprowadza FunctionGemma – kompaktową, wyspecjalizowaną wersję swojego modelu Gemma 3 270M. To nowatorskie podejście ma na celu sprostać wyzwaniom związanym z uruchamianiem zaawansowanej AI bezpośrednio na urządzeniach brzegowych, takich jak smartfony czy laptopy. FunctionGemma nie jest kolejnym asystentem konwersacyjnym, lecz narzędziem precyzyjnie zaprojektowanym do transformacji intencji użytkownika wyrażonych w języku naturalnym w wykonalne akcje API.
Specjalizacja zamiast ogólności
FunctionGemma, bazująca na architekturze Gemma 3 270M, zachowuje parametry tego modelu, ale różni się fundamentalnie swoim przeznaczeniem. Zamiast swobodnej konwersacji, jej trening został ukierunkowany wyłącznie na wywoływanie funkcji. Opublikowana jako otwarty model na licencji Gemma, oferuje 270 milionów parametrów i została zoptymalizowana do działania w środowiskach, gdzie kluczowa jest niska latencja i ograniczone zasoby pamięci.
Kluczowym elementem projektu jest zdolność modelu do interpretacji definicji narzędzi i instrukcji użytkowników, a następnie przekształcania ich w strukturyzowane wywołania funkcji. Dodatkowo, FunctionGemma potrafi podsumowywać odpowiedzi narzędziowe dla użytkownika, co stanowi kompletne zamknięcie pętli komunikacyjnej. Model ten jest pomyślany jako baza, którą można następnie dostroić pod kątem konkretnych zadań. Z perspektywy interfejsu, działa jak standardowy przyczynowy model językowy, przyjmując sekwencje tekstowe o długości do 32 tys. tokenów i generując podobnie długie odpowiedzi.
Architektura i proces trenowania
FunctionGemma wykorzystuje architekturę transformatorową Gemma 3, zachowując ten sam rozmiar 270 milionów parametrów. Proces trenowania i środowisko wykonawcze bazują na tych samych badaniach i infrastrukturze, które Google wykorzystuje do rozwoju Gemini, w tym na frameworku JAX i platformie ML Pathways na dużych klastrach TPU.
Model posługuje się 256-tysięcznym słownikiem Gemma, zoptymalizowanym zarówno pod kątem struktur JSON, jak i języków wieloformatowych. To usprawnienie ma kluczowe znaczenie dla efektywności tokenizacji schematów funkcji i odpowiedzi narzędziowych, co w konsekwencji redukuje długość sekwencji. Ma to bezpośrednie przełożenie na wydajność wdrożeń brzegowych, gdzie optymalizacja pamięci i latencji jest priorytetem.
FunctionGemma była trenowana na imponującej liczbie 6 bilionów tokenów, z datą odcięcia wiedzy ustaloną na sierpień 2024 roku. Zbiór danych obejmował dwie główne kategorie: publiczne definicje narzędzi i API oraz interakcje związane z użyciem narzędzi. Te interakcje zawierały zarówno monity, wywołania funkcji, odpowiedzi funkcji, jak i naturalne zapytania uzupełniające, które podsumowywały wyniki lub prosiły o dalsze wyjaśnienia. Takie podejście treningowe pozwoliło modelowi nauczyć się zarówno samej składni – jaką funkcję wywołać i jak sformatować argumenty – jak i intencji – kiedy wywołać funkcję, a kiedy poprosić o dodatkowe informacje.
Format konwersacji i efektywność
W przeciwieństwie do tradycyjnych chatbotów, FunctionGemma nie posługuje się swobodnym formatem czatu. Oczekuje ścisłego szablonu konwersacji, który wyraźnie rozgranicza role (deweloper, użytkownik, model) i obszary związane z narzędziami. Komunikacja odbywa się za pomocą specyficznych znaczników, takich jak <start_function_declaration> i <end_function_declaration> dla definicji narzędzi, <start_function_call> i <end_function_call> dla wywołań funkcji przez model, oraz <start_function_response> i <end_function_response> dla serializowanych wyników narzędzi. Te markery umożliwiają modelowi odróżnienie tekstu naturalnego od schematów funkcji i wyników wykonania, co jest kluczowe dla jego precyzyjnego działania.
Mimo że FunctionGemma jest wstępnie przeszkolona do ogólnego użycia narzędzi, Google podkreśla, że małe modele osiągają niezawodność na poziomie produkcyjnym dopiero po precyzyjnym dostrojeniu pod kątem konkretnych zadań. Przykładem jest benchmark Mobile Actions, gdzie podstawowy model FunctionGemma osiągnął 58% dokładności. Po dostrojeniu za pomocą publicznie dostępnych przepisów, celność wzrosła do 85%. To wyraźnie wskazuje, że dla małych modeli kluczowe jest dostarczanie danych domenowych, a nie wyłącznie inżynieria promptów.
Agent na krawędzi: rzeczywiste zastosowania
Głównym celem wdrożenia FunctionGemmy są agenci brzegowi, działający lokalnie na urządzeniach takich jak telefony, laptopy i małe akceleratory (np. NVIDIA Jetson Nano). Niewielka liczba parametrów (0.3B) w połączeniu ze wsparciem dla kwantyzacji pozwala na wnioskowanie z niskim zużyciem pamięci i niską latencją na sprzęcie konsumenckim, stanowiące istotny krok w decentralizacji obliczeń AI.
Google udostępniło kilka referencyjnych demonstracji za pośrednictwem Google AI Edge Gallery. Jedną z nich jest „Mobile Actions”, prezentująca w pełni offline’owego agenta sterującego urządzeniem, z FunctionGemma dostrojoną do zadań systemu Android, takich jak tworzenie kontaktów czy ustawianie wydarzeń w kalendarzu. „Tiny Garden” to sterowana głosem gra, gdzie model rozkłada złożone komendy na prostsze funkcje domenowe. Z kolei „FunctionGemma Physics Playground” działa w przeglądarce, pozwalając użytkownikom rozwiązywać zagadki fizyczne za pomocą języka naturalnego. Te demonstracje potwierdzają, że 270-milionowy model wywołujący funkcje jest zdolny do obsługi wieloetapowej logiki na urządzeniach, bez konieczności angażowania serwerów, o ile zostanie odpowiednio dostrojony i zintegrowany z interfejsami narzędzi.
Wprowadzenie FunctionGemma to istotny krok w kierunku demokratyzacji zaawansowanych funkcji AI na urządzeniach, otwierający nowe możliwości dla interakcji z technologią w codziennym życiu.
