Open source model voor autonoom rijden

Stel je voor dat je auto niet alleen kan rijden, maar ook kan nadenken zoals een mens. Dat is precies wat Nvidia met Alpamayo mogelijk maakt. Het is een complete toolkit die ontwikkelaars en onderzoekers de kans geeft om zelfrijdende wagens te bouwen die kunnen redeneren over complexe verkeerssituaties. Het is volledig open-source, dus iedereen kan ermee aan de slag.

Nvidia kondigde Alpamayo aan tijdens de CES-technologiebeurs in Las Vegas, en het is meteen duidelijk dat dit een gamechanger is. CEO Jensen Huang noemde het het ChatGPT-moment voor fysieke AI. Waar traditionele zelfrijdende systemen vooral focussen op het herkennen van objecten en het volgen van vooraf geprogrammeerde regels, laat Alpamayo voertuigen leren redeneren over wat ze zien.

Wat is Nvidia Alpamay?

Alpamayo is een complete familie van tools en modellen die samenwerken. Het bestaat uit drie hoofdcomponenten die elk een cruciale rol spelen in de ontwikkeling van autonome voertuigen.

Het hart van het systeem is een AI-model dat niet alleen kan zien en reageren, maar ook kan uitleggen waarom het bepaalde beslissingen neemt. Dit is anders dan de meeste bestaande systemen. Als een Alpamayo-aangedreven wagen bijvoorbeeld beslist om naar links te sturen aan wegenwerken, kan hij uitleggen dat hij naar links stuurt om meer afstand te houden van de verkeerskegels die in de rijstrook staan. Die transparantie is bevorderend voor de veiligheid en het vertrouwen.

De drie pijlers van Alpamayo

De eerste pijler is Alpamayo 1, het AI-model zelf. Dit is een vision-language-action model met 10 miljard parameters. Het model kan beelden van camera’s analyseren, daar in menselijke taal over nadenken en vervolgens acties ondernemen zoals sturen, remmen of gas geven. Het is getraind om stap voor stap te redeneren over verkeerssituaties, net zoals een mens dat zou doen.

De tweede pijler is AlpaSim, een geavanceerde simulatieomgeving. In plaats van duizenden kilometers op de weg te moeten testen (wat gevaarlijk en duur is), kunnen ontwikkelaars hun systemen virtueel testen in miljoenen verschillende scenario’s. AlpaSim kan realistische verkeerssituaties nabootsen, van druk stadsverkeer tot zeldzame  cases zoals een verkeerslicht dat uitvalt op een druk kruispunt.

De derde pijler is de Physical AI dataset, een enorme verzameling rijdata. We hebben het over meer dan 1700 uur aan opnames uit 25 verschillende landen en meer dan 2500 steden. Deze dataset bevat beelden van camera’s, LiDAR-scans en radardata, allemaal verzameld in uiteenlopende omstandigheden: verschillende weertypes, verkeerspatronen en weginfrastructuur. Het is een van de meest diverse datasets die ooit openbaar gemaakt is voor autonoom rijden.

Hoe werkt Alpamayo?

Het bijzondere aan Alpamayo is de manier waarop het problemen aanpakt. Traditionele systemen voor autonoom rijden werken vaak met vaste regels: als je een rood licht ziet, stop dan. Als er een voetganger oversteekt, rem dan. Maar de echte wereld is veel complexer dan dat. Wat doe je als het verkeerslicht kapot is? Of als er een ambulance aankomt? Of als er wegwerkzaamheden zijn die de normale rijstrook blokkeren?

Alpamayo gebruikt een “chain-of-thought” benadering. Het model breekt complexe situaties op in kleinere stappen en redeneert door elke stap heen.

Deze redenering gebeurt in real-time, terwijl de auto rijdt. Het mooie is dat het systeem zijn gedachtegang kan delen, belangrijk voor veiligheid en regelgeving. Inspecteurs en veiligheidsexperts kunnen precies zien waarom een auto bepaalde beslissingen nam, wat het veel makkelijker maakt om het systeem te valideren en te verbeteren.

De technische architectuur

Onder de motorkap gebruikt Alpamayo 1 een geavanceerde neural network architectuur die beelden, taal en acties combineert. Het model neemt video-input van meerdere camera’s, verwerkt die samen met andere sensordata zoals LiDAR en radar, en genereert zowel een tekstuele redenering als een concreet rijtraject. Dit traject bestaat uit een reeks coördinaten die aangeven waar de auto naartoe moet rijden in de komende seconden.

Het interessante is dat Alpamayo 1 bedoeld is als een teacher model. Dat betekent dat het niet direct in auto’s draait, maar gebruikt wordt om kleinere, efficiëntere modellen te trainen die wel in voertuigen kunnen draaien. Ontwikkelaars kunnen Alpamayo 1 fine-tunen met hun eigen data en vervolgens distilleren tot een compacter model dat past in de hardware van een auto.

Zelf aan de slag met Alpamayo

Een van de meest opwindende aspecten van Alpamayo is dat het volledig open-source is. Iedereen kan ermee experimenteren, grote autofabrikanten, individuele onderzoekers en hobbyisten. Nvidia heeft alle code, modelgewichten en documentatie publiek beschikbaar gemaakt via GitHub en Hugging Face.

Stap 1: De basis opzetten

Om met Alpamayo te beginnen, heb je toegang nodig tot de modelgewichten en de code. Deze zijn beschikbaar op Hugging Face, waar je een gratis account kan aanmaken. Je moet wel toegang aanvragen tot bepaalde gated resources, maar dat is een kwestie van een formulier invullen. Zodra je toegang hebt, kan je de gewichten downloaden.

De code zelf staat op GitHub in de officiële Alpamayo repository. Nvidia heeft een duidelijke setup guide voorzien die je stap voor stap door het installatieproces leidt. Je hebt een Python-omgeving nodig, en het is aangeraden om een virtuele omgeving te gebruiken om conflicten met andere projecten te vermijden. De repository bevat ook een requirements.txt bestand met alle dependencies.

Stap 2: Je eerste inferentie

Eenmaal je omgeving opgezet is, kan je meteen aan de slag met het model. Nvidia heeft een handige Jupyter notebook voorzien die je door een eerste voorbeeld leidt. Deze notebook download automatisch wat voorbeelddata uit de Physical AI dataset, laadt het Alpamayo model, en gebruikt deze data.

Je ziet meteen resultaten De notebook visualiseert de camera-beelden, toont de redenering die het model genereerde, en plot het voorspelde rijtraject samen met het werkelijke traject uit de data. Dit geeft je een direct gevoel voor hoe het model werkt en hoe goed het presteert.

Je kan experimenteren door het aantal trajecten dat het model genereert aan te passen. Standaard genereert het één traject, maar je kan dit verhogen om te zien hoe het model omgaat met onzekerheid. Soms genereert het meerdere mogelijke trajecten met verschillende redeneringen, wat inzicht geeft in hoe het verschillende opties afweegt.

Stap 3: Werken met de dataset

De Physical AI dataset is enorm, maar Nvidia heeft een handige Python developer kit gemaakt die het werken ermee veel eenvoudiger maakt. Deze kit, beschikbaar via de physical_ai_av repository op GitHub, bevat functies om data te laden, te filteren en te visualiseren.

De dataset is georganiseerd in clips van 20 seconden, elk met multi-camera beelden, LiDAR en (soms) radar data. Je kan filteren op basis van locatie, weersomstandigheden, tijdstip van de dag, en vele andere criteria. Dit maakt het mogelijk om specifieke scenario’s te vinden die interessant zijn voor je onderzoek of ontwikkeling.

Een typisch gebruik is testen met zeldzame situaties die moeilijk zijn voor autonome systemen. Denk aan situaties met slecht weer, onverwachte obstakels, of complexe verkeerssituaties. Door het model op deze cases te testen, kan je zwakke punten identificeren en het systeem verbeteren.

Stap 4: Simulatie met AlpaSim

AlpaSim is de meest geavanceerde component van het Alpamayo ecosysteem, maar ook de meest krachtige. Het is een complete simulatieomgeving die realistische closed-loop testing mogelijk maakt. Closed-loop betekent dat het model daadwerkelijk de auto bestuurt in de simulatie, in plaats van alleen te voorspellen wat het zou doen.

De setup van AlpaSim is iets complexer dan het model zelf, omdat het uit meerdere microservices bestaat die samenwerken. Er is een renderer die realistische camera-beelden genereert, een traffic simulator die andere voertuigen en voetgangers simuleert, een physics engine die de beweging van de auto berekent, en natuurlijk de driver component.

Het mooie van deze architectuur is dat het schaalbaar is. Je kan verschillende componenten op verschillende GPU’s draaien, en zelfs meerdere simulaties parallel uitvoeren. Dit maakt het mogelijk om duizenden scenario’s te testen in een fractie van de tijd die het zou kosten om ze in de echte wereld te testen.

Nvidia heeft een wizard tool gemaakt die het opstarten van je eerste simulatie vereenvoudigt. Met een paar commando’s kan je een voorbeeldscene downloaden, de simulatie configureren en laten draaien. Het resultaat is een video die toont hoe je model door de scene rijdt, compleet met visualisaties van de redenering en het gekozen traject.

Stap 5: Je eigen model integreren

Het wordt echt interessant wanneer je je eigen driving policy wil testen in AlpaSim. De simulator gebruikt gRPC als interface tussen componenten, wat betekent dat je relatief eenvoudig je eigen model kan inpluggen. Nvidia heeft voorbeeldimplementaties die je als startpunt kan gebruiken.

Je model moet voldoen aan een specifieke interface: het ontvangt sensordata (camera beelden, LiDAR, etc.) en moet een rijtraject teruggeven. AlpaSim zorgt voor de rest. Het rendert de volgende frame, update de positie van andere voertuigen, en stuurt de nieuwe sensordata naar je model.

De configuratie gebeurt via YAML bestanden, wat het makkelijk maakt om verschillende setups te testen. Je kan camera parameters aanpassen, kunstmatige latency toevoegen om realistische delays te simuleren, of de moeilijkheidsgraad van het verkeer verhogen.

Praktische toepassingen

De toepassingen van Alpamayo reiken verder dan alleen onderzoek. Mercedes-Benz heeft al aangekondigd dat ze de technologie gaan gebruiken in hun nieuwe CLA modellen met Level 4 autonomie. Deze wagens zullen eerst in de Verenigde Staten gelanceerd worden, daarna in Europa en Azië.

Maar ook voor kleinere spelers en startups opent Alpamayo deuren. Omdat de technologie open-source is, hoef je niet vanaf nul te beginnen met het ontwikkelen van een autonoom rijsysteem. Je kan bouwen op het werk dat Nvidia al gedaan heeft, en je focussen op de aspecten die jouw product uniek maken.

Onderzoekers aan universiteiten gebruiken Alpamayo al om nieuwe algoritmes te testen. De combinatie van een state-of-the-art model, een grote dataset, en een krachtige simulator maakt het mogelijk om onderzoek te doen dat voorheen alleen mogelijk was voor bedrijven met enorme budgetten.

De toekomst van autonoom rijden

Alpamayo vertegenwoordigt een fundamentele verschuiving in hoe we denken over autonome voertuigen. In plaats van systemen die alleen reageren op wat ze zien, krijgen we nu systemen die kunnen nadenken over wat ze zien. Die kunnen redeneren over oorzaak en gevolg, die kunnen leren van nieuwe situaties, en die hun beslissingen kunnen uitleggen.

Deze transparantie is cruciaal voor de acceptatie van zelfrijdende auto’s. Mensen moeten kunnen vertrouwen op deze systemen, en dat vertrouwen komt alleen als we begrijpen hoe ze werken. Met Alpamayo kunnen ontwikkelaars systemen bouwen die niet alleen veilig, maar ook verifieerbaar veilig zijn.

Jensen Huang’s visie, op een dag zal elke auto autonoom zijn. Met Alpamayo zet Nvidia een belangrijke stap in die richting.