Modele i platformy AI

POKELLMON: Agent o równym poziomie z człowiekiem do walk Pokémon z LLM

mm
Dodaj Unite.AI do preferowanych źródeł w Google

Duże modele językowe i generatywne AI osiągnęły bezprecedensowy sukces w szerokim zakresie zadań przetwarzania języka naturalnego. Po zdobyciu pola NLP, następnym wyzwaniem dla badaczy GenAI i LLM jest zbadanie, jak duże modele językowe mogą działać autonomicznie w świecie rzeczywistym z rozszerzonym przepustem generacji od tekstu do działania, reprezentując znaczącą paradygmatę w dążeniu do sztucznej inteligencji ogólnej. Gry online uważane są za odpowiednią podstawę testową do opracowania agentów zagnieżdżonych w dużych modelach językowych, które oddziałują z środowiskiem wizualnym w sposób, w jaki czyniłby to człowiek.

Na przykład w popularnej grze symulacyjnej Minecraft, agenci podejmujący decyzje mogą być zatrudnieni w celu pomocy graczom w eksplorowaniu świata oraz rozwijaniu umiejętności tworzenia narzędzi i rozwiązywania zadań. Innym przykładem agentów LLM, które oddziałują ze środowiskiem wizualnym, jest gra The Sims, w której agenci osiągnęli znaczący sukces w interakcjach społecznych i wykazują zachowanie podobne do ludzkiego. Jednak w porównaniu z istniejącymi grami, taktyczne gry bitewne mogą okazać się lepszym wyborem do oceny możliwości dużych modeli językowych do gry w gry wirtualne. Głównym powodem, dla którego taktyczne gry są lepszym punktem odniesienia, jest to, że wskaźnik wygranych można mierzyć bezpośrednio, a spójni przeciwnicy, w tym gracze i AI, są zawsze dostępni.

Budując na tym, POKELLMON ma na celu być pierwszym agentem zagnieżdżonym, który osiąga poziom ludzki w grach taktycznych, podobnie jak w bitwach Pokémon. W swojej istocie ramy POKELLMON obejmują trzy główne strategie.

  1. Nauka wzmocnienia w kontekście, która konsumuje tekstowe informacje zwrotne pochodzące z bitew natychmiast, aby iteratywnie udoskonalić politykę.
  2. Generacja wzbogacona wiedzą, która pobiera wiedzę zewnętrzną, aby przeciwdziałać halucynacjom, umożliwiając agentowi działać właściwie i w odpowiednim czasie.
  3. Spójna generacja działań, aby zminimalizować sytuację paniki podczas spotkania z potężnym przeciwnikiem, i chęci uniknięcia go.

Artykuł ten ma na celu omówienie ramy POKELLMON w głębi, a my będziemy badać mechanizm, metodologię, architekturę ramy oraz porównywać ją z frameworkami stanu sztuki. Omówimy również, jak ramy POKELLMON demonstrują godne podziwu, ludzkie strategie bitewne, oraz umiejętności podejmowania decyzji w czasie rzeczywistym, osiągając szanowany wskaźnik wygranych na poziomie prawie 50%. Zatem, zacznijmy.

POKELLMON: Agent o równym poziomie z człowiekiem do walk Pokémon z LLM

Wzrost możliwości i wydajności dużych modeli językowych i generatywnych AI w ciągu ostatnich kilku lat był niczym innym jak zdumiewający, zwłaszcza w zadaniach NLP. Niedawno, deweloperzy i badacze AI pracowali nad sposobami, aby uczynić generatywną AI i LLM bardziej wyrafinowanymi w scenariuszach świata rzeczywistego z możliwością działania autonomicznego w środowisku fizycznym. Aby osiągnąć to autonomiczne działanie w sytuacjach fizycznych i świata rzeczywistego, badacze i deweloperzy uważają gry za odpowiednią podstawę testową do opracowania agentów zagnieżdżonych w dużych modelach językowych, które oddziałują z środowiskiem wizualnym w sposób, w jaki czyniłby to człowiek.

Wcześniej, deweloperzy próbowali opracować agenty zagnieżdżone w dużych modelach językowych w grach symulacyjnych, takich jak Minecraft i The Sims, chociaż uważa się, że taktyczne gry, takie jak Pokémon, mogą być lepszym wyborem do opracowania tych agentów. Bitwy Pokémon umożliwiają deweloperom ocenę umiejętności trenera do walki w znanych grach Pokémon, oraz oferują kilka zalet w porównaniu z innymi grami taktycznymi. Ponieważ przestrzenie akcji i stanu są dyskretne, mogą być przetłumaczone na tekst bez żadnej straty. Poniższy rysunek ilustruje typową bitwę Pokémon, w której gracz jest proszony o wygenerowanie akcji do wykonania na każdym kroku, biorąc pod uwagę bieżący stan Pokémonów z obu stron. Użytyk ma możliwość wyboru spośród pięciu różnych Pokémonów, a w przestrzeni akcji jest cztery ruchy. Ponadto, gra pomaga w złagodzeniu stresu na czasie inferencji i kosztach inferencji dla LLM, ponieważ format oparty na turach eliminuje wymóg intensywnej gry. W rezultacie, wydajność zależy głównie od zdolności rozumowania dużego modelu językowego.

POKELLMON: Metodologia i Architektura

Całkowita ramy i architektura ramy POKELLMON są ilustrowane na poniższym rysunku.

Podczas każdego kroku, ramy POKELLMON wykorzystują poprzednie akcje i ich odpowiednie informacje zwrotne w celu iteratywnego udoskonalenia polityki, a także uzupełniają bieżące informacje o stanie z wiedzą zewnętrzną, taką jak efekty ruchów/umiejętności lub relacje zalet/weakness. Dla informacji podanych jako dane wejściowe, ramy POKELLMON generują wiele akcji niezależnie, a następnie wybierają najbardziej spójne jako ostateczne wyjście.

Nauka wzmocnienia w kontekście

Gracze i sportowcy często podejmują decyzje nie tylko na podstawie bieżącego stanu, ale także reflektują na informacje zwrotne z poprzednich akcji, a także doświadczenia innych graczy. Można powiedzieć, że pozytywne informacje zwrotne pomagają graczowi uczyć się z błędów i powstrzymują go od popełniania tych samych błędów wielokrotnie. Bez odpowiednich informacji zwrotnych, agenci POKELLMON mogą utknąć w tej samej akcji błędnej, jak to zostało zademonstrowane na poniższym rysunku.

Jak można zobaczyć, agent gry wykorzystuje ruch oparty na wodzie przeciwko Pokémonowi, który ma umiejętność “Sucha Skóra”, co pozwala mu uniknąć szkody od ataków opartych na wodzie. Gra próbuje zaalarmować użytkownika, wyświetlając komunikat “Immune” na ekranie, co może skłonić gracza do ponownego rozważenia swoich działań, nawet bez znajomości “Suchej Skóry”. Jednakże, nie jest to uwzględnione w opisie stanu dla agenta, w wyniku czego agent popełnia ten sam błąd ponownie.

Aby upewnić się, że agent POKELLMON uczy się z poprzednich błędów, ramy implementują podejście nauki wzmocnienia w kontekście. Nauka wzmocnienia jest popularnym podejściem w uczeniu maszynowym, które pomaga deweloperom w udoskonaleniu polityki, ponieważ wymaga numerycznych nagród do oceny akcji. Ponieważ duże modele językowe mają możliwość interpretowania i rozumienia języka, tekstowe opisy stały się nowym rodzajem nagrody dla LLM. Poprzez uwzględnienie informacji zwrotnych z poprzednich akcji, agent POKELLMON jest w stanie iteratywnie i natychmiast udoskonalić swoją politykę, a mianowicie naukę wzmocnienia w kontekście. Ramy POKELLMON rozwijają cztery rodzaje informacji zwrotnych,

  1. Rzeczywista szkoda wyrządzona przez atak na podstawie różnicy w HP między dwoma kolejnymi turami.
  2. Skuteczność ataków. Informacje zwrotne wskazują na skuteczność ataku w zakresie braku efektu lub immunitetu, nieskuteczności lub super-skuteczności ze względu na efekty umiejętności/ruchów lub zalety typów.
  3. Kolejność wykonywania ruchu. Ponieważ dokładne statystyki dla przeciwnika Pokémon nie są dostępne, informacje zwrotne dotyczące kolejności wykonywania ruchu zapewniają przybliżoną ocenę szybkości.
  4. Rzeczywisty efekt wykonanych ruchów na przeciwniku. Zarówno ataki, jak i status, mogą powodować efekty, takie jak odzyskanie HP, zwiększenie statystyk lub debuff, oraz warunki, takie jak zamarznięcie, oparzenia lub zatrucie.

Ponadto, użycie podejścia nauki wzmocnienia w kontekście wynika w znacznym wzroście wydajności, jak to zostało zademonstrowane na poniższym rysunku.

Gdy porównamy to z oryginalną wydajnością na GPT-4, wskaźnik wygranych wzrasta o prawie 10%, a wskaźnik bitwy wzrasta o prawie 13%. Ponadto, jak to zostało zademonstrowane na poniższym rysunku, agent zaczyna analizować i zmieniać swoją akcję, jeśli ruchy wykonane w poprzednich turach nie spełniły oczekiwań.

Generacja wzbogacona wiedzą lub KAG

Chociaż implementacja nauki wzmocnienia w kontekście pomaga w halucynacjach do pewnego stopnia, może to nadal skutkować fatalnymi konsekwencjami, zanim agent otrzyma informacje zwrotne. Na przykład, jeśli agent decyduje się na walkę z Pokémonem ognistym z Pokémonem trawiastym, ten pierwszy jest prawdopodobnie wygra w jednej turze. Aby dalej zmniejszyć halucynacje i poprawić zdolność decyzyjną agenta, ramy POKELLMON implementują podejście generacji wzbogaconej wiedzą, czyli technikę, która wykorzystuje wiedzę zewnętrzną do uzupełnienia generacji.

Teraz, gdy model generuje cztery rodzaje informacji zwrotnych, o których mowa powyżej, adnotuje ruchy Pokémon i informacje, pozwalając agentowi wnioskować o relacjach zalet typów na własną rękę. W celu dalszego zmniejszenia halucynacji w rozumowaniu, ramy POKELLMON jawnie adnotują zalety i słabości przeciwnika Pokémon, a także Pokémon agenta z odpowiednimi opisami. Ponadto, trudno jest zapamiętać ruchy i umiejętności o wyjątkowych efektach Pokémon, zwłaszcza, że jest ich wiele. Poniższa tabela przedstawia wyniki generacji wzbogaconej wiedzą. Warto zauważyć, że poprzez implementację podejścia generacji wzbogaconej wiedzą, ramy POKELLMON są w stanie zwiększyć wskaźnik wygranych o około 20% z istniejących 36% do 55%.

Ponadto, deweloperzy zaobserwowali, że gdy agent został wyposażony w wiedzę zewnętrzną o Pokémonach, zaczął on używać specjalnych ruchów we właściwym czasie, jak to zostało zademonstrowane na poniższym rysunku.

Spójna generacja działań

Istniejące modele demonstrują, że implementacja podejść do podpowiadania i rozumowania może poprawić zdolność LLM do rozwiązywania złożonych zadań. Zamiast generowania jednorazowej akcji, ramy POKELLMON oceniają istniejące strategie podpowiadania, w tym CoT lub Chain of Thought, ToT lub Tree of Thought, oraz Self Consistency. Dla Chain of Thought, agent najpierw generuje myśl, która analizuje bieżącą sytuację bitwy, a następnie wytwarza akcję warunkowaną myślą. Dla Self Consistency, agent generuje trzykrotnie akcje i wybiera wyjście, które otrzymało najwięcej głosów. Wreszcie, dla podejścia Tree of Thought, ramy generują trzy akcje, tak jak w podejściu Self Consistency, ale wybiera najlepszą po ocenie ich wszystkich. Poniższa tabela podsumowuje wyniki podejść do podpowiadania.

Istnieje tylko jedna akcja na każdą turę, co oznacza, że nawet jeśli agent decyduje się na przełączenie, a przeciwnik decyduje się na atak, Pokémon, który został przełączony, poniesie szkodę. Zwykle agent decyduje się na przełączenie, ponieważ chce przełączyć Pokémona, który ma przewagę typową nad Pokémonem przeciwnika, i tym samym Pokémon, który został przełączony, może wytrzymać szkodę, ponieważ jest odporny na ruchy przeciwnika. Jednak, jak powyżej, agent z podejściem CoT może działać niekonsekwentnie z misją, ponieważ może nie chcieć przełączyć się do Pokémona, ale kilku Pokémonów i z powrotem, co nazywamy przełączaniem paniki. Przełączanie paniki eliminuje szanse na wykonanie ruchów i tym samym prowadzi do porażek.

POKELLMON: Wyniki i Eksperymenty

Przed omówieniem wyników, ważne jest, aby zrozumieć środowisko bitwy. Na początku tury, środowisko otrzymuje wiadomość żądania akcji od serwera i odpowiada na tę wiadomość na końcu, co również zawiera wynik wykonania z poprzedniej tury.

  1. Najpierw parsuje wiadomość i aktualizuje zmienne stanu lokalnego, 2. następnie tłumaczy zmienne stanu na tekst. Opis tekstu składa się głównie z czterech części: 1. Informacje o własnej drużynie, które zawierają atrybuty Pokémonów na polu i poza nim (niewykorzystane).
  2. Informacje o drużynie przeciwnika, które zawierają atrybuty Pokémonów na polu i poza nim (niektóre informacje są nieznane).
  3. Informacje o polu bitwy, które obejmują pogodę, zagrożenia wejścia i teren.
  4. Informacje o historii tury, które zawierają poprzednie akcje Pokémonów i są przechowywane w kolejce logów. LLM bierze przetłumaczony stan jako dane wejściowe i wytwarza akcje na następny krok. Akcja jest następnie wysyłana do serwera i wykonywana w tym samym czasie, co akcja wykonana przez człowieka.

Bitwa przeciwko graczom ludzkim

Poniższa tabela ilustruje wyniki agenta POKELLMON przeciwko graczom ludzkim.

Jak można zobaczyć, agent POKELLMON dostarcza wyniki porównywalne z graczami, którzy mają wyższy wskaźnik wygranych w porównaniu z zaproszonym graczem, a także mają obszerny doświadczenie bitewne.

Analiza umiejętności bitewnych

Ramy POKELLMON rzadko popełniają błąd w wyborze skutecznego ruchu i przełączają się na inny odpowiedni Pokémon dzięki strategii generacji wzbogaconej wiedzą.

Jak widać na powyższym przykładzie, agent używa tylko jednego Pokémona, aby pokonać całą drużynę przeciwnika, ponieważ jest w stanie wybrać różne ruchy atakujące, które są najbardziej skuteczne dla przeciwnika w tej sytuacji. Ponadto, ramy POKELLMON również demonstrują ludzką strategię zużycia. Niektóre Pokémony mają ruch “Trujący”, który może spowodować dodatkowe szkody na każdą turę, podczas gdy ruch “Przywróć” pozwala im odzyskać HP. Wykorzystując to, agent najpierw truje Pokémona przeciwnika, a następnie używa ruchu “Przywróć”, aby zapobiec swojemu upadkowi.

Końcowe myśli

W tym artykule omówiliśmy POKELLMON, podejście, które umożliwia dużym modelom językowym grać w bitwy Pokémon przeciwko ludziom w sposób autonomiczny. POKELLMON ma na celu być pierwszym agentem zagnieżdżonym, który osiąga poziom ludzki w grach taktycznych, podobnie jak w bitwach Pokémon. Ramy POKELLMON wprowadzają trzy kluczowe strategie: naukę wzmocnienia w kontekście, która konsumuje informacje zwrotne w postaci tekstu jako “nagrodę” do iteratywnego udoskonalenia polityki bez szkolenia, generację wzbogaconą wiedzą, która pobiera wiedzę zewnętrzną, aby przeciwdziałać halucynacjom i zapewnić, że agent działa w odpowiednim czasie, oraz spójną generację działań, która zapobiega problemowi przełączania paniki podczas spotkania z potężnymi przeciwnikami.

Kunal Kejriwal jest inżynierem backendu specjalizującym się w Pythonie, PostgreSQL, Redis oraz infrastrukturze chmurowej w GCP i AWS. Z trzyletnim doświadczeniem w budowaniu i skalowaniu systemów produkcyjnych pisze o infrastrukturze AI, systemach rozproszonych i architekturze wdrażania obciążeń uczenia maszynowego.