stub AIOS: System operacyjny dla agentów LLM - Unite.AI
Kontakt z nami

Artificial Intelligence

AIOS: system operacyjny dla agentów LLM

mm

Opublikowany

 on

AIOS: system operacyjny dla agentów LLM

W ciągu ostatnich sześciu dekad systemy operacyjne ewoluowały stopniowo, przechodząc od systemów podstawowych do złożonych i interaktywnych systemów operacyjnych, które obsługują dzisiejsze urządzenia. Początkowo systemy operacyjne służyły jako pomost pomiędzy binarną funkcjonalnością sprzętu komputerowego, taką jak manipulowanie bramkami, a zadaniami na poziomie użytkownika. Jednak z biegiem lat rozwinęły się one od prostych systemów przetwarzania zadań wsadowych do bardziej wyrafinowanych technik zarządzania procesami, w tym wielozadaniowości i podziału czasu. Udoskonalenia te umożliwiły nowoczesnym systemom operacyjnym zarządzanie szeroką gamą złożonych zadań. Wprowadzenie graficznych interfejsów użytkownika (GUI), takich jak Windows i MacOS, uczyniło nowoczesne systemy operacyjne bardziej przyjaznymi dla użytkownika i interaktywnymi, jednocześnie poszerzając ekosystem systemu operacyjnego o biblioteki wykonawcze i kompleksowy zestaw narzędzi programistycznych.

Najnowsze innowacje obejmują integrację i wdrażanie Duże modele językowe (LLM), które zrewolucjonizowały różne branże, otwierając nowe możliwości. Niedawno inteligentni agenci bazujący na LLM wykazali niezwykłe możliwości, osiągając wydajność na poziomie ludzkim w przypadku szerokiego zakresu zadań. Jednakże środki te znajdują się wciąż na wczesnym etapie rozwoju, a obecne techniki stoją w obliczu kilku wyzwań, które wpływają na ich wydajność i skuteczność. Typowe problemy obejmują nieoptymalne planowanie żądań agentów w dużym modelu językowym, złożoność integracji agentów o różnych specjalizacjach oraz utrzymywanie kontekstu podczas interakcji między LLM a agentem. Szybki rozwój i rosnąca złożoność agentów opartych na LLM często prowadzą do wąskich gardeł i nieoptymalnego wykorzystania zasobów.

Aby stawić czoła tym wyzwaniom, w tym artykule omówimy AIOS, system operacyjny agenta LLM zaprojektowany w celu integracji dużych modeli językowych jako „mózg” systemu operacyjnego, skutecznie nadając mu „duszę”. W szczególności platforma AIOS ma na celu ułatwienie przełączania kontekstu między agentami, optymalizację alokacji zasobów, zapewnienie agentom usług narzędziowych, utrzymanie kontroli dostępu i umożliwienie jednoczesnego wykonywania agentów. Zagłębimy się w framework AIOS, badając jego mechanizmy, metodologię i architekturę oraz porównamy go z najnowocześniejszymi frameworkami. Zanurzmy się.

Po osiągnięciu niezwykłego sukcesu w dużych modelach językowych kolejnym celem branży AI i ML jest opracowanie autonomicznych agentów AI, którzy mogą działać niezależnie, samodzielnie podejmować decyzje i wykonywać zadania przy minimalnej interwencji człowieka lub bez niej. Ci inteligentni agenci wykorzystujący sztuczną inteligencję mają za zadanie rozumieć instrukcje ludzkie, przetwarzać informacje, podejmować decyzje i podejmować odpowiednie działania w celu osiągnięcia stanu autonomicznego, wraz z pojawieniem się i rozwojem dużych modeli językowych, które otwierają nowe możliwości rozwoju tych autonomicznych agentów. Obecne struktury LLM, w tym DALL-E, GPT i inne, wykazały niezwykłe zdolności rozumienia instrukcji ludzkich, zdolności rozumowania i rozwiązywania problemów oraz interakcji z użytkownikami i środowiskami zewnętrznymi. Zbudowani na podstawie tych potężnych i wydajnych modeli dużych języków, agenci bazujący na LLM mają duże możliwości wykonywania zadań w różnych środowiskach, od wirtualnych asystentów po bardziej złożone i wyrafinowane systemy obejmujące tworzenie rozwiązywania problemów, wnioskowanie, planowanie i wykonanie. 

Powyższy rysunek stanowi przekonujący przykład tego, jak autonomiczny agent oparty na LLM może rozwiązywać rzeczywiste zadania. Użytkownik żąda do systemu informacji o podróży, po czym biuro podróży dzieli zadanie na możliwe do wykonania etapy. Następnie agent wykonuje kroki sekwencyjnie, rezerwując loty, rezerwując hotele, przetwarzając płatności i nie tylko. Tym, co odróżnia tych agentów od tradycyjnych aplikacji podczas wykonywania poszczególnych kroków, jest zdolność agentów do wykazania się zdolnością do podejmowania decyzji i uwzględniania rozumowania podczas wykonywania kroków. Wraz z wykładniczym wzrostem ich jakości autonomiczni agenci, wzrosło obciążenie funkcjonalności dużych modeli językowych i systemów operacyjnych, czego przykładem jest to, że ustalanie priorytetów i planowanie żądań agentów w ograniczonych dużych modelach językowych stanowi poważne wyzwanie. Co więcej, ponieważ proces generowania dużych modeli językowych staje się zadaniem czasochłonnym w przypadku długich kontekstów, program planujący może zawiesić powstałe generowanie, co rodzi problem opracowania mechanizmu umożliwiającego wykonanie migawki bieżącego wyniku generacji modelu językowego . W wyniku tego zachowanie wstrzymania/wznowienia jest włączone, gdy model dużego języka nie sfinalizował generowania odpowiedzi dla bieżącego żądania. 

Aby sprostać wyżej wymienionym wyzwaniom, AIOS, system operacyjny oparty na modelu dużego języka, zapewnia agregację i izolację modułów funkcjonalności LLM i systemu operacyjnego. Struktura AIOS proponuje projekt jądra specyficzny dla LLM, próbując uniknąć potencjalnych konfliktów pojawiających się między zadaniami związanymi i niezwiązanymi z modelem dużego języka. Proponowane jądro segreguje obowiązki związane z systemem operacyjnym, zwłaszcza te, które nadzorują agentów LLM, zestawy narzędzi programistycznych i odpowiadające im zasoby. W wyniku tej segregacji jądro LLM próbuje usprawnić koordynację i zarządzanie działaniami związanymi z LLM. 

AIOS: Metodologia i architektura

Jak widać, istnieje sześć głównych mechanizmów zaangażowanych w działanie frameworku AIOS. 

  • Harmonogram agentów: Zadaniem przydzielonym planiście agenta jest planowanie i ustalanie priorytetów żądań agentów w celu optymalizacji wykorzystania modelu dużego języka. 
  • Menedżer kontekstu: Zadaniem menedżera kontekstu jest obsługa migawek wraz z przywracaniem stanu generacji pośredniej w dużym modelu językowym oraz zarządzanie oknami kontekstowymi w dużym modelu językowym. 
  • Menedżer pamięci: Podstawowym obowiązkiem menedżera pamięci jest zapewnienie pamięci krótkotrwałej dla dziennika interakcji dla każdego agenta. 
  • Storage Manager: Menedżer magazynu jest odpowiedzialny za przechowywanie dzienników interakcji agentów w magazynie długoterminowym w celu późniejszego odzyskania. 
  • Menedżer narzędzi: Mechanizm menedżera narzędzi zarządza wywołaniami agentów do zewnętrznych narzędzi API. 
  • Menedżer dostępu: Menedżer dostępu wymusza zasady prywatności i kontroli dostępu pomiędzy agentami. 

Oprócz wyżej wymienionych mechanizmów, framework AIOS ma architekturę warstwową i jest podzielony na trzy odrębne warstwy: warstwę aplikacji, warstwę jądra i warstwę sprzętu. Warstwowa architektura wdrożona przez platformę AIOS zapewnia równomierny rozkład obowiązków w całym systemie, a wyższe warstwy abstrakcyjnie złożoności warstw znajdujących się pod nimi, umożliwiając interakcje przy użyciu określonych modułów lub interfejsów, zwiększając modułowość i upraszczając interakcje systemu pomiędzy warstwy. 

Zaczynając od warstwy aplikacji, ta warstwa służy do opracowywania i wdrażania agentów aplikacji, takich jak biura matematyczne lub biura podróży. W warstwie aplikacji framework AIOS zapewnia zestaw programistyczny AIOS (AIOS SDK) z wyższą abstrakcją wywołań systemowych, co upraszcza proces programowania dla twórców agentów. Zestaw programistyczny oferowany przez AIOS oferuje bogaty zestaw narzędzi ułatwiających tworzenie aplikacji agentowych poprzez abstrakcję złożoności funkcji systemowych niższego poziomu, umożliwiając programistom skupienie się na funkcjonalnościach i podstawowej logice agentów, co skutkuje bardziej efektywnym rozwojem proces. 

Idąc dalej, warstwa jądra jest dalej podzielona na dwa komponenty: jądro LLM i jądro systemu operacyjnego. Zarówno jądro systemu operacyjnego, jak i jądro LLM spełniają unikalne wymagania operacji specyficznych dla LLM i innych niż LLM, przy czym rozróżnienie pozwala jądru LLM skupić się na zadaniach specyficznych dla dużego modelu językowego, w tym na planowaniu agentów i zarządzaniu kontekstem, czyli działaniach niezbędnych do obsługi działań związane z dużymi modelami językowymi. Struktura AIOS koncentruje się przede wszystkim na ulepszaniu jądra modelu dużego języka bez znaczącej zmiany struktury istniejącego jądra systemu operacyjnego. Jądro LLM jest wyposażone w kilka kluczowych modułów, w tym harmonogram agenta, menedżer pamięci, menedżer kontekstu, menedżer przechowywania, menedżer dostępu, menedżer narzędzi i interfejs wywołań systemowych LLM. Komponenty w warstwie jądra zostały zaprojektowane w celu zaspokojenia różnorodnych potrzeb wykonawczych aplikacji agentowych, zapewniających efektywną realizację i zarządzanie w ramach AIOS. 

Wreszcie mamy warstwę sprzętową, która obejmuje fizyczne komponenty systemu, w tym procesor graficzny, procesor, urządzenia peryferyjne, dysk i pamięć. Istotne jest zrozumienie, że system jąder LLM nie może bezpośrednio wchodzić w interakcję ze sprzętem, a wywołania te łączą się z wywołaniami systemowymi systemu operacyjnego, który z kolei zarządza zasobami sprzętowymi. Ta pośrednia interakcja między systemem LLM karnel a zasobami sprzętowymi tworzy warstwę bezpieczeństwa i abstrakcji, umożliwiając jądru LLM wykorzystanie możliwości zasobów sprzętowych bez konieczności bezpośredniego zarządzania sprzętem, ułatwiając utrzymanie integralności i wydajności systemu . 

Realizacja

Jak wspomniano powyżej, istnieje sześć głównych mechanizmów zaangażowanych w działanie platformy AIOS. Program planujący agenta został zaprojektowany w taki sposób, aby był w stanie efektywnie zarządzać żądaniami agenta i ma kilka etapów wykonywania, w przeciwieństwie do tradycyjnego paradygmatu wykonywania sekwencyjnego, w którym agent przetwarza zadania w sposób liniowy, wykonując te same kroki agent jest przetwarzany jako pierwszy przed przejściem do następnego agenta, co powoduje wydłużenie czasu oczekiwania na zadania pojawiające się później w sekwencji wykonywania. Harmonogram agentów wykorzystuje strategie takie jak Round Robin, First In First Out i inne algorytmy planowania w celu optymalizacji procesu. 

Menedżer kontekstu został zaprojektowany w taki sposób, że odpowiada za zarządzanie kontekstem dostarczonym do dużego modelu językowego oraz procesem generowania w określonym kontekście. Menedżer kontekstu składa się z dwóch kluczowych komponentów: migawki i przywracania kontekstu oraz zarządzania oknami kontekstu. Mechanizm tworzenia migawek kontekstu i przywracania oferowany przez platformę AIOS pomaga zapobiegać sytuacjom, w których program planujący zawiesza żądania agentów, jak pokazano na poniższym rysunku. 

Jak pokazano na poniższym rysunku, do obowiązków menedżera pamięci należy zarządzanie pamięcią krótkotrwałą w cyklu życia agenta oraz dopilnowanie, aby dane były przechowywane i dostępne tylko wtedy, gdy agent jest aktywny, w czasie wykonywania lub gdy agent czeka do wykonania. 

Z drugiej strony menedżer przechowywania jest odpowiedzialny za długoterminowe przechowywanie danych i nadzoruje przechowywanie informacji, które należy przechowywać przez czas nieokreślony, wykraczający poza czas działania pojedynczego agenta. Struktura AISO umożliwia trwałe przechowywanie przy użyciu różnych trwałych nośników, w tym rozwiązań opartych na chmurze, baz danych i plików lokalnych, zapewniając dostępność i integralność danych. Co więcej, w ramach AISO to menedżer narzędzi zarządza różnorodną gamą narzędzi API, które zwiększają funkcjonalność dużych modeli językowych, a poniższa tabela podsumowuje, w jaki sposób menedżer narzędzi integruje powszechnie używane narzędzia z różnych zasobów i klasyfikuje je na różne kategorie. 

Menedżer dostępu organizuje operacje kontroli dostępu w odrębnych ramach agentów poprzez administrowanie dedykowaną grupą uprawnień dla każdego agenta i odmawia agentowi dostępu do jego zasobów, jeśli zostanie on wykluczony z grupy uprawnień agenta. Ponadto menedżer dostępu jest również odpowiedzialny za kompilowanie i utrzymywanie dzienników audytu, które jeszcze bardziej zwiększają przejrzystość systemu. 

AIOS: eksperymenty i wyniki

Ocena struktury AIOS opiera się na dwóch pytaniach badawczych: po pierwsze, w jaki sposób planowanie AIOS wpływa na poprawę czasu oczekiwania na saldo i czasu realizacji, a po drugie, czy odpowiedzi LLM na żądania agentów są spójne po zawieszeniu agenta?

Aby odpowiedzieć na pytania dotyczące spójności, programiści uruchamiają każdego z trzech agentów indywidualnie, a następnie uruchamiają ich równolegle i próbują przechwycić ich wyniki na każdym etapie. Jak pokazano w poniższej tabeli, wyniki BERT i BLEU osiągają wartość 1.0, co wskazuje na doskonałe dopasowanie wyników generowanych w konfiguracjach z jednym i wieloma agentami. 

Aby odpowiedzieć na pytania dotyczące wydajności, programiści przeprowadzają analizę porównawczą platformy AIOS wykorzystującej harmonogram FIFO lub „pierwsze weszło, pierwsze wyszło” z podejściem niezaplanowanym, w którym agenci działają współbieżnie. W ustawieniu niezaplanowanym agenci są uruchamiani w określonej kolejności: agent matematyczny, agent narracyjny i agent rec. Aby ocenić efektywność czasową, platforma AIOS wykorzystuje dwie metryki: czas oczekiwania i czas realizacji, a ponieważ agenci wysyłają wiele żądań do dużego modelu językowego, czas oczekiwania i czas realizacji dla poszczególnych agentów są obliczane jako średnia czas oczekiwania i czas realizacji wszystkich wniosków. Jak pokazano w poniższej tabeli, podejście nieplanowane zapewnia zadowalającą wydajność w przypadku agentów znajdujących się na wcześniejszych etapach sekwencji, ale charakteryzuje się wydłużonym czasem oczekiwania i realizacji w przypadku agentów znajdujących się na późniejszych etapach sekwencji. Z drugiej strony podejście do planowania wdrożone przez platformę AIOS skutecznie reguluje zarówno czas oczekiwania, jak i czas realizacji. 

Final Thoughts

W tym artykule mówiliśmy o AIOS, systemie operacyjnym agenta LLM, który został zaprojektowany w celu osadzenia w systemie operacyjnym dużych modeli językowych jako mózgu systemu operacyjnego, umożliwiając system operacyjny z duszą. Mówiąc dokładniej, środowisko AIOS zaprojektowano z myślą o ułatwieniu przełączania kontekstu między agentami, optymalizacji alokacji zasobów, zapewnieniu agentom obsługi narzędzi, utrzymaniu kontroli dostępu dla agentów i umożliwieniu jednoczesnego wykonywania agentów. Architektura AISO wykazuje potencjał ułatwiający rozwój i wdrażanie Autonomiczne agenty oparte na dużych modelach językowych, co skutkuje bardziej efektywnym, spójnym i wydajnym ekosystemem AIOS-Agent. 

„Inżynier z zawodu, pisarz z zamiłowania”. Kunal jest pisarzem technicznym, który głęboko kocha i rozumie sztuczną inteligencję i uczenie maszynowe, a którego celem jest upraszczanie złożonych koncepcji w tych dziedzinach poprzez swoją wciągającą i pouczającą dokumentację.