Hopp til hovedinnhold

Søndag 8. november

Tinyworldformer: en verdensmodell på 26k parametere lager og spiller Breakout på en Pico 2 W

fredag 30. oktober · KI-generert · Kilde: GitHub

Innholdet er KI-generert og kan inneholde feil. Sjekk originalkilden.

Flash Tinyworldformer på en Raspberry Pi Pico 2 W hvis du vil se to små nettverk lage og spille Breakout, Pong, Flappy Bird, Doom-lite og Pac-Man uten at den ekte spillkoden kjører.

«Gjenbruk av vekter er billig på minne, så jeg ville se om en loopet verdensmodell kunne bli liten nok til å kjøre på en mikrokontroller», skriver utvikleren SheepSeb i README-en til prosjektet på GitHub. Resultatet er to nettverk på RP2350-brikken. Det første er en transformer i int8 som tar nåværende bilde og knappetrykk og spår neste bilde og belønningen. Det andre er en liten MLP på 9 000 til 16 000 parametere som velger handling ut fra bildet verdensmodellen har generert. Ingen av dem ser det ekte spillet.

Verdensmodellen er én transformer-blokk med ett sett vekter som kjøres 1 til 4 ganger, og antall runder bytter fart mot presisjon. På Picoen brukes 2 runder. Da treffer Breakout-modellen på 26 000 parametere 99,99 % av testbildene eksakt, Flappy Bird 100 % og Pac-Man, den største med 131 000 parametere, 86,4 %. Pac-Man bruker 600 KB av 4 MB flash og 460 KB SRAM.

Den mest overførbare lærdommen gjelder agenter som trenes i en simulert verden. Aktører som bare ble trent inne i «drømmen», fikk 210 poeng der, selv om maks i ekte Breakout er 56, og bare 28 i det ekte spillet. Utvikleren tettet hullene ved å ta opp ekte spill med agenten og finjustere verdensmodellen på nytt, én runde per utnyttet feil.

To begrensninger: utvikleren har ikke målt bildefrekvensen på selve Picoen ennå, og repoet har ingen lisensfil. Uten lisens har du ikke rett til å gjenbruke koden i egne prosjekter.

Hva bør du gjøre?

  1. Spill de ekte spillene i terminalen først med uv run python -m tinyworldformer.games.play --game pacman for å se hva modellen etterligner.
  2. Flash brettet med ./flash.sh --env breakout --display fra tinyworldformer-rs mens du holder BOOTSEL inne, eller bruk --host for å kjøre drømmen i terminalen uten maskinvare.
  3. Spør utvikleren om lisens før du bygger videre på eksportkoden i rustexport.

Pulsen · norske KI-nyheter for deg som bygger. Sakene er KI-generert fra originalkilden, som alltid lenkes.