Demonstratie van het spel Mistral-7B in Doom
Gisteren, 24 maart, hield het AI-bedrijf Mistral een hackathon, in een van de categorieën waarin deelnemers werd gevraagd een open taalmodel verder te trainen. De eerste plaats in deze categorie kwam van een ongebruikelijke toepassing voor op tekst gebaseerde AI: Mistral-7B werd gedwongen Doom te spelen.
De videogame Doom werd in 1993 uitgebracht en werd meteen een succes. Zoals voormalig Microsoft-medewerker Gabe Newell zich herinnert, bleek uit statistische onderzoeken dat dit spel begin jaren negentig op meer computers werd geïnstalleerd dan Windows.
Slechts vier jaar later, in 1997, publiceerde game-ontwikkelaar id Software echter de broncode van de Doom-engine onder een aanvankelijk eigen (DOOM-licentie) en later open source (GPL)-licentie. De code werd aan de gemeenschap gegeven uit liefde voor de open source-beweging, ter wille van de verspreiding van kennis.
De Doom-engine is afhankelijk van softwareweergave van een 3D-wereld, wat betekent dat er geen gespecialiseerde hardwareversneller nodig is. Om te kunnen rennen heb je een invoerapparaat, een scherm en het eigenlijke computerapparaat nodig. De engine is nutteloos zonder assets die niet onder een open licentie zijn gepubliceerd. Er worden echter inkomsten gegenereerd met de game zelf via het shareware-model, en de eerste aflevering wordt gratis verspreid.
Het is geen verrassing dat het draaien van Doom op niet-gespecialiseerde platforms in de loop van de tijd een populair tijdverdrijf is geworden onder liefhebbers. Het spel werkt op digitale camera's, betaalterminals en rekenmachines. Fantasie beperkt zich niet tot de fysieke wereld. Doom wordt uitgevoerd in ongrijpbare abstracties: in een terminalemulator, in het Windows-systeemvak of zelfs in Doom zelf.
Doom wordt zelfs gebruikt om AI-agenten te trainen binnen het ViZDoom-platform. Dit betekent uiteraard dat de bot alleen een afbeelding als invoer krijgt, en geen toegang op engineniveau tot spelobjecten en niveaugeometrie. In 2016 leerde een computervisiesysteem zowel ViZDoom als een mens spelen.
Botarchitectuur uit het artikel “Will GPT-4 Run DOOM?” [arXiv:2403.05468] gebaseerd op GPT-4
Kunnen grote taalmodellen (LLM's) Doom spelen? Het lijkt van niet: ze werken met tekst. Zelfs als we visie toevoegen als de ‘krukken’ van multimodaliteit, zal het resultaat een langzaam systeem zijn.
Dat zegt een recent artikel van een Microsoft-onderzoeker [arXiv:2403.05468]. De bot is gebouwd op GPT-4. Er werd een screenshot naar GPT-4V verzonden om een gestructureerde tekstbeschrijving van de spelstatus te verkrijgen. Vervolgens stuurde de gameagent een sms-prompt met de voorgeschiedenis naar GPT-4. BYAM heeft besloten welke actie moet worden ondernomen.
De resulterende bot speelde Doom zwak en 'vergat' vijanden zodra ze uit het zicht verdwenen. Er was geen sprake van enig werk in realtime: elke iteratie duurde een minuut.
Een ander team liet gisteren een klein prototype zien voor het spelen van Doom, gebaseerd op aanvullende training van BYM. Dit voorbeeld is veel eenvoudiger, maar werkt in realtime.
Op 24 maart hielden Mistral AI, evenementenorganisator Cerebral Valley en coworking space Shack15 een hackathon in San Francisco. Zoals een van de hackathon-juryleden schrijft, namen ongeveer 400 ontwikkelaars deel aan het evenement.
Mistral AI is een Franse startup die BYM produceert. Sommige Mistral AI-modellen werken alleen via de API; het bedrijf heeft nog twee BYM's gepubliceerd onder de Apache 2.0-licentie. Er waren twee sporen van de hackathon: het gebruik van de API en het verfijnen ervan. Deelnemers werd aangeboden om een nieuw project te bouwen op basis van de API-service van het bedrijf, of om bovendien een van de open Mistral AI-modellen te trainen. Projecten werden geaccepteerd tot 11.30 uur lokale tijd (21.30 uur Moskou-tijd).
Het team van Umut Yildirim, Paul Chu en Bhav Ashok sprak over het werk dat hen de eerste plaats op het gevorderde trainingstraject opleverde.
Schermweergave in tekstvorm
Het Doom-screenshot werd gepresenteerd als ASCII-kunst uit een tekenmatrix van 32x64, waarbij elke "pixel" een object uit de framebuffer codeerde. De eenvoud van het spel en de openheid van de broncode vereenvoudigden het schrijven van een framebuffer naar ASCII-kunstomzetteralgoritme. De prompt is aangepast zodat BYM de gegevens correct interpreteert. Dus het Mistral-7B-taalmodel, dat meestal op tekst werkt, kon het spel ‘zien’.
We hebben het spel verschillende keren gespeeld en deze gegevens gebruikt om LoRA-fijnafstemming voor Mistral-7B uit te voeren. Toen werd de extra getrainde BYAM gedwongen Doom te spelen. De prompt gaf een korte beschrijving van de situatie, symbolen voor het begrijpen van de schermafbeelding en het scherm zelf in ASCII-kunst. Bij de uitgang reageerde het model met een actie die teruggestuurd wordt naar het spel: aanval, beweging vooruit, achteruit, links of rechts.
Algemeen schema van het project
Tot verbazing van het team werkte de aanpak. [Voor de kata wordt een video geplaatst waarin het spel wordt gedemonstreerd.] Het resulterende model speelt Doom niet perfect, maar zwerft effectief over de kaart en schiet alle tegenstanders neer die in zicht zijn. Als zo’n bot een muur raakt, draait hij zich om en gaat een andere kant op; als hij een zombie ziet, schiet hij erop.
Zoals een teamlid zegt, kan de kwaliteit van de BNM worden verhoogd met een grotere hoeveelheid gegevens voor aanvullende training, verbeteringen in de weergave van de gamewereld en volwaardige native game-tuning, en niet alleen LoRA.
Mistral AI sprak over andere winnaars. De tweede plaats in het geavanceerde trainingstraject werd ingenomen door een andere gamingbot, maar dan voor Pacman. Net als in het geval van Doom ontving BYM een frame van de spelstatus als input en nam op basis daarvan beslissingen.
In het API-traject waren de winnaars het systeem voor het optimaliseren van de automatische creatie van prompts via L'invite parfaite-tests en de Codex-zoekmachine voor wetenschappelijke artikelen.
bbabo.Net