AI vertaalt verouderde klimaatcode en maakt simulaties tot 357 keer sneller
Klimaatmodellen draaien al tientallen jaren op computercode die geschreven is in een oude programmeertaal: Fortran. Die taal werkt goed, maar is niet geschikt voor de nieuwste, supersnelle rekenchips (GPU's) die tegenwoordig veel rekenwerk sneller kunnen doen. Het omzetten van die oude code naar iets dat wel op moderne chips werkt, is mensenwerk dat veel gespecialiseerde kennis vraagt. Onderzoekers onderzochten of AI-taalmodellen, zoals de techniek achter ChatGPT, dit werk kunnen overnemen.
Klimaatmodellen zoals CESM, WRF en E3SM bestaan uit enorme hoeveelheden Fortran-code die berekent hoe wolken, neerslag en andere natuurkundige processen in de atmosfeer werken. Deze code is vaak decennia oud. Om klimaatsimulaties sneller te maken, willen wetenschappers deze code overzetten naar GPU's, de rekenchips die ook gebruikt worden voor AI en game-graphics. Het probleem: handmatig overzetten kost veel tijd en vraagt specialistische programmeerkennis die niet elke klimaatwetenschapper heeft.
Een onderzoeksteam ontwikkelde daarom een systeem genaamd LAFT, dat met behulp van AI-taalmodellen Fortran-code automatisch omzet naar een programmeertaal genaamd JAX. JAX is geschikt voor moderne rekenchips. Het systeem controleert niet alleen of de vertaalde code dezelfde uitkomsten geeft als de originele Fortran-code, maar kijkt ook of de nieuwe code daadwerkelijk snel draait op een GPU.
De onderzoekers testten dit met vier verschillende AI-taalmodellen: Claude, GPT, Gemini en Qwen. Ze lieten alle vier een specifiek onderdeel vertalen dat berekent hoe regen ontstaat uit wolken (de zogeheten Kessler-microfysica). Alle vier de AI-modellen leverden werkende code op die vrijwel exact dezelfde getallen berekende als de originele Fortran-code, tot op de kleinst mogelijke rekennauwkeurigheid van een computer nauwkeurig.
Het grote verschil zat in snelheid. De code die Gemini maakte, bleek tot 357 keer sneller dan de oorspronkelijke Fortran-code, getest bij een berekening met 1 miljoen atmosferische kolommen (denk aan 1 miljoen verticale "kokers" lucht die elk apart doorgerekend worden). Deze meting telde niet de tijd mee die nodig is om de code klaar te zetten of gegevens tussen verschillende onderdelen van de computer te verplaatsen.
Opvallend is dat juiste uitkomsten niet automatisch betekenen dat code ook snel is. Sommige AI-vertalingen gaven wel de juiste getallen, maar waren toch inefficiënt op een GPU. Daarom combineerden de onderzoekers twee controles: eerst checken of de uitkomsten kloppen, en daarna apart meten hoe snel de code daadwerkelijk draait.
Wat betekent dit (nog) niet: Dit onderzoek test één specifiek onderdeel van klimaatmodellen (een regenberekening), niet een heel klimaatmodel. De snelheidswinst van 357 keer geldt voor deze ene testopstelling, onder specifieke omstandigheden zonder bepaalde overheadtijd mee te rekenen. Het is nog niet aangetoond dat dit even goed werkt voor alle andere onderdelen van klimaatmodellen, die vaak veel complexer zijn dan deze regenberekening.
Dit onderzoek laat zien dat AI mogelijk kan helpen om verouderde wetenschappelijke software sneller te moderniseren. Dat zou op termijn kunnen betekenen dat klimaatsimulaties, die nu soms weken rekentijd kosten, sneller en goedkoper uitgevoerd kunnen worden. Of dit ook werkt voor complete klimaatmodellen met al hun onderdelen, moet nog verder onderzocht worden.
Bron: Evaluating LLMs for Translating Legacy Fortran Atmospheric Physics to GPU-Accelerated JAX