W ramach projektu open source upchnięto model języka o 28,9 milionach parametrów w mikrokontrolerze kosztującym około 8 dolarów, generując tekst w całości na chipie z szybkością około dziewięciu tokenów na sekundę, bez żadnego połączenia sieciowego. Demonstracja, opublikowana na GitHubie i szybko pojawiająca się na pierwszej stronie Hacker News, pokazuje, jak daleko przesunęły się granice małej, lokalnej sztucznej inteligencji w krótkim czasie.

Prace skupiają się na ESP32-S3, niedrogim chipie wbudowanym, popularnym wśród hobbystów i producentów sprzętu. Uruchomienie modelu o 28,9 milionach parametrów na tak małym kawałku krzemu jeszcze niedawno wydawałoby się nieprawdopodobne, a projekt stanowi wyraźną ilustrację szerszego trendu w kierunku sztucznej inteligencji na urządzeniach, który śledzimy w naszym codziennym [relacjonowaniu branży sztucznej inteligencji] (https://aibuzzwire.news). Tam, gdzie kiedyś chmura wydawała się obowiązkowa dla każdego prawdziwego modelu języka, coraz wydajniejsze systemy znajdują swoje siedziby na brzegu.

Liczby kryjące się za kompilacją

Projekt jasno określa swoje specyfikacje. Model przechowuje 28,9 miliona parametrów, z czego około 25 milionów znajduje się w tabeli przeglądowej flash. Działa na chipie ESP32-S3 z 512KB szybkiej pamięci SRAM, 8MB PSRAM i 16MB pamięci flash. W praktyce osiąga około 9,5 tokenów na sekundę od końca do końca, czyli 9,7 tokenów na sekundę w przypadku czystych obliczeń, a cały model zajmuje zaledwie 14,9 megabajtów, gdy jest przechowywany z 4-bitową precyzją.

Najbardziej uderzające jest porównanie, jakiego autor dokonuje z wcześniejszymi pracami. Ostatni znany model języka działający na chipie tej klasy miał tylko 260 000 parametrów. Nowa wersja mieści około sto razy więcej, a skok ten nie wynika z większego chipa, ale z ponownego przemyślenia, gdzie faktycznie znajdują się dane modelu.

Sztuczka zapożyczona od Gemmy

Podstawowym problemem jest to, że mikrokontroler prawie nie ma szybkiej pamięci. ESP32-S3 oferuje zaledwie 512KB pamięci SRAM i tradycyjnie cały model musiałby być stamtąd osiągalny, dlatego poprzednie próby utknęły na kilkuset tysiącach parametrów.

Rozwiązanie opiera się na prostej obserwacji. Większość parametrów modelu językowego znajduje się w tabeli osadzania, z której model czyta, a nie wykonuje obliczenia. Zamiast więc umieszczać tę ogromną tabelę zawierającą 25 milionów wierszy w ograniczonej szybkiej pamięci, projekt pozostawia ją w wolnej pamięci flash i pobiera tylko kilka wierszy, których faktycznie potrzebuje każdy token, około 450 bajtów na raz. Niewielka część modelu, która wykonuje rzeczywiste obliczenia, pozostaje w szybkiej pamięci, podczas gdy większość wag po prostu czeka w pamięci flash, próbkowana po trochu.

Technika ta znana jest jako osadzanie na warstwę i wywodzi się z modeli Google Gemma, w szczególności Gemma 3n i Gemma 4, gdzie została zaprojektowana dla telefonów i procesorów graficznych. Według autora projektu nikt wcześniej nie próbował tego podejścia na tak małym chipie.

Co może zrobić, a czego nie

Model został wyszkolony na TinyStories, zbiorze danych składającym się z prostych historii dla dzieci, więc jego możliwości są celowo zawężone. Pisze krótkie, w większości spójne historie, ale nie odpowiada na pytania oparte na faktach, nie wykonuje skomplikowanych instrukcji, nie pisze kodu ani nie rozumuje o świecie. Autor nie ukrywa, że ​​to ograniczenie wynika z niewielkiej części modelu polegającej na rozumowaniu i że sztuczka z pamięcią tego nie zmienia.

Tym, co czyni projekt interesującym, nie jest zatem jego jakość, ale architektura. Osiągnięciem jest dopasowanie tak dużego modelu do tak małego chipa, co udowadnia, że ​​te same techniki, które zasilają wydajne modele w telefonach i serwerach, można przenieść aż do sprzętu, który kosztuje mniej niż kanapka.

Dlaczego sztuczna inteligencja na urządzeniu ma znaczenie

Konsekwencje wykraczają daleko poza schludne demo techniczne. Ponieważ model działa całkowicie na chipie, nic nie jest nigdy wysyłane na serwer. Oznacza to całkowitą prywatność już na etapie konstrukcji, żadne dane nie opuszczają urządzenia i nie trzeba płacić rachunków za chmurę. W przypadku zastosowań w odległych obszarach, urządzeniach o niskim poborze mocy lub w miejscach, w których łączność jest zawodna, ta kombinacja jest naprawdę użyteczna.

Wskazuje także na przyszłość, w której małe, wyspecjalizowane modele będą dystrybuowane w miliardach tanich urządzeń wbudowanych, a nie skupiane w kilku gigantycznych centrach danych. Te same presje, które powodują zainteresowanie lokalną sztuczną inteligencją na laptopach i telefonach, a mianowicie mniejsze opóźnienia, niższe koszty i większa prywatność, wywierają jeszcze większy wpływ w skali mikrokontrolera.

Otwarte zaproszenie do majsterkowania

Projekt udostępniany jest na liberalnej licencji MIT, a autor udostępnił pełny kod na GitHubie wraz ze szczegółową dokumentacją i wynikami testów porównawczych. Ta otwartość oznacza, że ​​inni twórcy sprzętu mogą przestudiować to podejście, dostosować je do innych układów lub jeszcze bardziej zwiększyć liczbę parametrów.

Wydane pod nazwą slvDev dzieło odbiło się szerokim echem wśród społeczności programistów, zbierając setki głosów pozytywnych w serwisie Hacker News i wywołując dyskusję na temat dalszych kierunków rozwoju tej techniki. Jeśli tendencja się utrzyma, granica pomiędzy „modelem językowym” a zwykłym oprogramowaniem wbudowanym stanie się znacznie bardziej niewyraźna.

Wyprzedź sztuczną inteligencję

Od chipów o wartości 8 dolarów po centra danych warte miliardy dolarów – kwestia tego, gdzie działa sztuczna inteligencja, staje się równie ważna, jak to, co może zrobić sztuczna inteligencja. Warstwa sprzętowa ewoluuje szybciej, niż większość ludzi zdaje sobie sprawę, a projekty, które dziś wyglądają jak ciekawostki, często definiują mainstream jutro. Przeczytaj więcej aktualności na temat sztucznej inteligencji w AI Buzz Wire, aby śledzić każdy przełom w przetwarzaniu brzegowym, wydajności modeli i inteligencji urządzeń.

Bądź na bieżąco z rewolucją sprzętową AI — odwiedź AI Buzz Wire