Jev styrer droner og biler i simulator – og prosjektene viser hvordan man bør bygge AI inn i kontrollsløyfer
Utviklere har latt beslutningsmodellen Jev fly droner gjennom hinderløyper og kjøre biler i simulatorer, for noen øre per tur. Flere av prosjektene ligger åpent på GitHub. Det mest lærerike er ikke at det virker, men hvordan de har gjort det trygt.
Kort om Jev
Vi skrev om Jev fra TypeSafe AI tidligere denne måneden. Det er en modell som ikke skriver tekst, men svarer med beslutninger: et valg mellom faste alternativer, et nivå på en skala eller en sannsynlighet. Svarene kommer på rundt 100–200 millisekunder og koster nesten ingenting. Det gjør den interessant for oppgaver der en språkmodell ville vært for treg og for dyr – som å styre noe som beveger seg.
Demoene
Tidlig etter lanseringen dukket det opp flere demoer. I én fløy en simulert drone gjennom en hinderløype. Jev fikk informasjon om posisjon, fart og avstand til hindringer, og valgte mellom å fly framover, svinge, stige, synke eller sveve. Ifølge en gjennomgang hos MindStudio tok det rundt et kvarter å bygge og kostet omtrent ti cent å kjøre. I en annen kjørte Jev bil i en enkel simulator, og valgte mellom å gi gass, bremse, holde farten og skifte retning. Den tok under en time å sette opp – men bil, vei og trafikk var allerede laget.
Råteksten vi fikk inn beskrev dette som en «fullverdig selvkjørende opplevelse». Det er å ta i. Ingen av demoene brukte ekte kameraer, sensorer eller maskinvare, og bilsimulatoren var sterkt forenklet. Det er konseptbevis, ikke selvkjørende biler.
Tre prosjekter du kan prøve selv
Det som gjør dette interessant for oss, er at flere har delt koden:
- jev-autopilot flyr en drone fra A til B gjennom en tilfeldig generert by i nettleseren, bygget med Three.js. Jev svarer på seks spørsmål i hver runde – gass, giring, stamping, rulling, om den skal lande og om motorene skal kuttes – og sannsynligheten i hvert svar blir til et utslag på styrespaken. En tur koster rundt én cent.
- jev-drone er en mer seriøs drone i fysikksimulatoren MuJoCo, som bare bruker et simulert kamera. MIT-lisensiert.
- live-jev er en 2D-bilsimulering i nettleseren styrt av Jev.
Vil du se flere, samler awesome-jev-use-cases over hundre prosjekter. Alle krever en API-nøkkel fra TypeSafe.
Det lærerike: koden har vetoretten
jev-drone er verdt å se nærmere på, fordi den viser hvordan man bør bygge en AI-modell inn i noe som beveger seg. Systemet har tre lag som kjører i ulikt tempo:
- Jev, 2,5 ganger i sekundet, svarer på tre spørsmål: Hvilken manøver – holde kursen, gå mot en åpning til venstre eller høyre, stige, bremse eller lete etter målet? Hvor stor er risikoen? Og er målet virkelig borte, eller bare skjult et øyeblikk?
- Vanlig kode, 500 ganger i sekundet, styrer selve motorene. Jev rører aldri dem direkte.
- Et refleks-lag, 50 ganger i sekundet, overstyrer Jev når et hinder kommer for nær. Utvikleren sier det kort: Koden beholder vetoretten.
Jev ser heller ikke bilder. Klassisk bildebehandling gjør kameradata om til en kort beskrivelse – avstand i fem sektorer framover, hvor høyt hinderet er, hvor målet er – og det er den Jev får.
Resultatet er tydelig: Uten Jev kom dronen 17,7 meter inn i løypa. Med Jev fullførte den hele løypa på 77,5 meter, og holdt målet i syne 82 prosent av tiden mot rundt 19 prosent uten. En flytur brukte rundt 110 kall til Jev på 65 sekunder. Utvikleren er dessuten ærlig om forbeholdene: Tallene kommer fra én enkelt flytur, og resultatene varierer fra gang til gang.
Hva betyr dette?
Mønsteret er det samme som vi så hos Skild AI og i robotikk generelt: AI-modellen tar de overordnede valgene, mens rask, forutsigbar kode tar seg av alt som må skje på millisekunder – og har siste ord når det gjelder sikkerhet. Det er en god oppskrift også for helt andre ting enn droner, fra spill til smarthus.
Men avstanden fra en simulator til en ekte drone over naboens hage er stor. Ingen av disse prosjektene sier noe om hvordan Jev oppfører seg med ekte sensorer, vind og forsinkelser over mobilnettet. Som hobbyprosjekt er det morsomt og lærerikt. Som noe du setter i lufta, er det ikke klart.
Ressurser
- jev-drone på GitHub – drone i MuJoCo med tre kontrollag
- jev-autopilot på GitHub – drone i nettleseren, én cent per tur
- live-jev på GitHub – bilsimulering i nettleseren
- awesome-jev-use-cases – samling av Jev-prosjekter
- MindStudio: Jev-demoene gjennomgått – drone, bil og spill