Big Sleep Data: LUMI supercomputeren træner neurale netværk til gavn for søvnforskning

2 kandidatstuderende ved Aarhus Universitet i Danmark har bidraget til international forskning ved at udvikle værktøjer til træning af neurale netværk på LUMI.

EAR ekg photo
M
Marie Charllotte Søbye
Journalist og kommunikationskonsulent
09.06.2023 14:00

”Det store arbejde med at normalisere alle data i forhold til vores modeller, var faktisk det, der tog længst tid, og det er den ”pre-processerings-tragt”, der nu kan tilgås af andre forskere og studerende, så det bliver meget lettere at indlæse datasæt nr. 22."

Jesper Strøm
M.Sc. Computer Engineering
AU

Andreas Larsen Engholm og Jesper Strøm griner lidt, da det bliver sagt højt under interviewet, at de som studerende allerede har bidraget til bedre forskning. Det er ikke desto mindre sandt, for de back-end værktøjer, som de 2 unge mænd har udviklet for at kunne træne udvalgte søvnscoringsmodeller på LUMI-supercomputeren, kommer til at ligge frit tilgængelige på GitHub i en rimelig, letfordøjelig form.

Værktøjerne vil gøre det nemmere for andre forskere i fremtiden at indlæse flere søvndata. Flere data giver bedre søvnscoringsmodeller og mere præcise fortolkninger af søvndata, fordi de neurale netværk bliver dygtigere og dygtigere til automatisk at aflæse søvnstadier korrekt.

Fakta
  • Hvornår: april til juni 2023
  • Tildeling: 5000 Terabyte timer, 3500 GPU-timer på LUMI via DeiC’s ”Sandkasse”
  • Løsning: Software designet til at køre på parallelle GPU-noder samt temp-lagring af data op til 50 TB
  • Studerende: Andreas Larsen Engholm, M.Sc. Computer Engineering, AU
  • Studerende: Jesper Strøm, M.Sc. Computer Engineering, AU
  • Vejleder: Kaare Mikkelsen, adjunkt, Biomedicinsk Teknologi, Institut for Elektro- og Computerteknologi, AU

Arbejdet begynder: Normalisering af 21 data-sæt tager tid

Projektet startede på AU’s eget data-anlæg, som de 2 studerende kendte i forvejen. Men allerede i klargøringsfasen, hvor kun 1/5 af datasættet var uploadet, kom der en fejlmeddelelse om, at data fyldte for meget. Det satte fart i processen med at komme i gang på LUMI. Andreas og Jesper fik en introduktion til, hvordan man benytter SLURM [LUMI benytter kø-systemet SLURM Workload Manager, red] og de skulle bygge deres Container [softwareredskab til beregninger, red].

”Vi loadede al data direkte ned fra internettet til LUMI via nogle scripts, vi selv udarbejdede. Så skulle vi i gang med pre-processering, dvs. behandling af data, så alle vores 21 forskellige datasæt lå i det format, vi gerne ville have, altså det format, som søvnscoringsmodellen oprindeligt var designet til. De 21 datasæt kom fra forskellige steder i verden og lå i forskellige mappestrukturer og filformater. Dertil kom, at de 2 søvnscoringsmodeller, vi skulle sammenligne, forventede input på forskelligt format”, fortæller de 2 studerende.

En stor del af arbejdet i dette projekt har været at programmere back-enden til at kunne loade 20.000 nætters data (som var summen af de 21 datasæt) på en fornuftig måde. Jesper og Andreas har skullet gennemtænke systematikken og tilgangen til det. Hvordan gør vi det her på en måde, så det er videnskabeligt forsvarligt? Det er vigtigt, så andre kan gå ind og se, præcis hvordan de gjorde, så det kan udvides, hvis der i fremtiden kommer andre 20.000 nætter et sted fra. Det store arbejde, der er lavet her, kan gøre, at andre kommer meget hurtigt up to speed, og kan gøre det på langt mindre end de 4 mdr., det har taget Andreas og Jesper.

”Det store arbejde med at normalisere alle data i forhold til vores modeller, var faktisk det, der tog længst tid, og det er den ”pre-processerings-tragt”, der nu kan tilgås af andre forskere og studerende, så det bliver meget lettere at indlæse datasæt nr. 22. Vi lagde stor vægt på at finde en holdbar, skalerbar løsning, der kunne anvendes fremadrettet af andre”, fortæller Jesper Strøm.

Billede af Kaare Mikkelsen

Klar forbedring af søvn-score modeller ved at bruge meget data

Andreas og Jesper har påvist en klar forbedring af søvn-score modellerne ved at bruge rigtig meget data. De er kommet tæt på de resultater, som de efterprøver, men er stadigvæk en smule fra. De har også fundet ud af, at der er forskel på de 2 modeller til trods for den samme metode. Det ser faktisk ud til, at den ene model er lidt bedre end den anden.

Uden LUMI havde det ikke været muligt at træne modellerne på den måde, de har gjort det. Så havde fremgangsmåden været, at de havde trænet på 1 af de store data-sæt, som måske fylder 500 GB (i stedet for flere datasæt). Så havde de fundet ud af, hvilken model, der er bedst til at score på lige det datasæt. På den måde ville de ikke have fået bredden med og hele den her generalisering. Repræsentativiteten bliver bedre med flere data-sæt. De prøvede at se på forskellen i resultater, når de kørte på den fulde datamængde versus at køre på 10% af datamængden, og der var en klar forbedring ved at bruge meget data.

”Hvis vi ikke havde haft LUMI, havde vi været nødt til at gå med de 10%, og så havde vi ikke haft nær så gode resultater”, fortæller Andreas Larsen Engholm.

”Hvis vi ikke havde haft LUMI, havde vi været nødt til at gå med de 10%, og så havde vi ikke haft nær så gode resultater”.

Andreas Larsen Engholm
M.Sc. Computer Engineering
AU

God LUMI-support og stor læring

Projektet fik regnetid i DeiC’s ”HPC-Sandkasse” i en periode over de 4 måneder, som der var afsat til speciale-opgaven.

”Gennem hele projektet har vi haft stor hjælp fra DeiC, som så har haft kontakt bagud til LUMI. Vi har fået tildelt ekstra regnetid i DeiC’s ”Sandkasse” af ret mange omgange, fordi vi hele tiden fandt ud af, at vi skulle bruge mere. Meget af tiden gik jo med at lære at bruge LUMI, især hvordan man ikke skal skrive job scripts”, griner Jesper Strøm.

Til fremtidige projekter er det planen at anvende en kombination af vores lokale maskine her på AU og LUMI.

”Når vi bare skal sidde og checke, hvordan koden skal designes, så vil vi nok fortsætte med at gøre det lokalt og ikke bruge eksterne ressourcer. Nu har vi lært en del, også om processen, og vores egen system admin her på AU har også lært at understøtte set-up’et”, fortæller Andreas Larsen Engholm.

Det er også planen at finde en nemmere måde at overføre data fra AU til LUMI i fremtidige projekter. På AU er der planlagt data-infrastruktur, så det bliver nemmere at arbejde med. Det har været det mest bøvlede i forbindelse med et data-tungt projekt.

”Vi har været mere data-tunge end compute-tunge i det her projekt”, indskyder Andreas Larsen Engholm.

Uden LUMI havde vi nok droppet projektet

Projektet har anvendt 3500 GPU-timer i alt. Hvis 1 GPU skulle have gjort det, ville det have svaret til 145 døgn. Det kunne ikke have ladet sig gøre, for det er længere end hele speciale-forløbet, som varer 4 måneder.

”I realiteten havde vi nok bare droppet projektet, hvis vi ikke havde haft adgang til LUMI. Vi skulle have flyttet data frem og tilbage, fordi der ikke var plads til det hele, det var blevet meget besværligt”, fortæller Jesper Strøm.

LUMI har et stort potentiale, og det var ikke så farligt, som de to unge mænd måske først havde troet. "Vi skulle nok have været lidt mere forsigtige med vores SLURM-scripts, for vi kunne ikke helt vurdere, hvor mange GPU-timer, det kostede. Der er et regnestykke, der ikke altid var lige simpelt at gennemskue. Så var det heldigt, at der var stor fleksibilitet i Sandkassen, og DeiC var hurtige til at tildele os ekstra ressourcer."

"Det kan godt være, at der er en lidt hård læringskurve i starten, men jeg synes, at man bare skal prøve at springe ud i det", lyder rådet fra Andreas. "Det kan virke lidt overvældende i starten, men så snart man får afprøvet det og får kørt nogle ting, så finder man ud af, at det egentlig er nogle ret simple principper, man skal kende."