Hver tredje time tok teamet bak språkmodellen BLOOM en sikkerhetskopi. Treningen pågikk i 2022, og i gjennomsnitt sviktet én eller to regnebrikker i uken. Mens driftsfolkene skiftet ut maskinvare, kunne teamet ta i bruk reservemaskiner og fortsette fra den lagrede tilstanden. Alt som var beregnet etter den siste kopien, måtte gjøres om. Strømmen fikk de ikke tilbake.

Det som skulle reddes, var blant annet 176 milliarder tall, modellens parametre. Under treningen ble disse verdiene justert, slik at de senere kunne brukes til å beregne hvilken tekst som kunne følge etter en annen. Lagret med to byte per verdi ville bare parametrene fylle omtrent 352 gigabyte. Hver regnebrikke hadde 80 gigabyte minne. Det var ikke plass til modellen på én brikke.

Treningen brukte 384 GPU-er fordelt på 48 servere. En GPU er en prosessor som kan utføre svært mange beregninger parallelt. Navnet kommer fra grafikkbehandling, men brikkene i denne maskinparken arbeidet med tall som representerte tekst. Rundt dem fantes resten av maskinene som skulle til: vanlige prosessorer og arbeidsminne i hver server, og et felles lagringssystem som holdt på dataene mellom kjøringene.

Store deler av arbeidet besto av å multiplisere og legge sammen. Tall fra teksten ble kombinert med modellens parametre, og resultatene gikk videre gjennom nye beregninger. GPU-ens regneenheter kunne behandle mange av tallene samtidig, men først måtte de hentes fra minnet. Deretter måtte resultatene frem til det neste leddet som skulle bruke dem. Det hjelper lite å være rask til å regne hvis tallene du skal regne med, ikke har kommet frem.

Og dette var bare beregningen av et forslag. Under treningen skulle anslaget også sammenlignes med tekstbitene som faktisk sto i materialet, slik at programmet fikk et mål på hvor feil det hadde tatt. Så beregnet det hvordan små endringer i parametrene ville påvirke dette målet, og brukte resultatet til å justere dem. Midlertidige resultater måtte bli liggende i minnet, og metoden som styrte justeringene, trengte egne tall for å følge utviklingen over tid. Plass til modellen var langt fra nok. Det måtte også være plass til arbeidet med å forandre den.

Flere GPU-er ga mer plass, men også flere brikker som måtte samarbeide. BLOOMs lag av beregninger ble fordelt mellom brikker, og arbeidet inne i lagene ble delt opp. Flere grupper behandlet forskjellige deler av treningsmaterialet og samordnet oppdateringene sine. Dermed kunne arbeidet ett sted være avhengig av at beregningen et annet sted ble ferdig og leverte fra seg resultatet.

BLOOM-teamet slo også sammen enkelte operasjoner. Da kunne et mellomresultat brukes videre nær regneenheten, i stedet for å bli skrevet til minnet og hentet tilbake for neste operasjon. Det er en grense for hvor mange byte som kan flyttes per sekund, det vi kaller minnebåndbredden. Når det er denne transporten som holder arbeidet igjen, kan det gå raskere ved å la tallene ta færre turer.

Dette får betydning for strømforbruket. Får vi gjort jobben på kortere tid med samme effekt, bruker vi mindre energi. Men setter vi inn dobbelt så mange brikker, er det ingen garanti for at tiden halveres. Vi kan også ha gitt dem mer å flytte på og mer å vente på. En maskinpark kan ha imponerende regnekapasitet på papiret og likevel bli dårlig utnyttet av jobben den er satt til å gjøre.

BLOOM-treningen brukte litt over én million GPU-timer, summen av tiden alle brikkene var i bruk. De arbeidet parallelt, så det gikk ikke en million timer på kalenderen. GENCI, som eide superdatamaskinen Jean Zay, anslo energibruken til omtrent 433 megawattimer.

Anslaget kom fra å multiplisere GPU-timene med brikkenes oppgitte effekt på 400 watt. En kontinuerlig måling av hele treningen manglet.

Effekten, målt i watt, sier hvor fort energien brukes. En maskin som holder en effekt på én kilowatt i én time, bruker én kilowattime. Det er derfor tiden brikkene står og arbeider, må med i regnestykket.

Rundt brikkene sto det dessuten et anlegg som også brukte strøm. I et eget forsøk i A100-delen av Jean Zay målte forskerne 27 kilowatt med beregningsserverne avslått, men nettverk, lagring og kjøling i gang. Da de slo på serverne uten å gi dem arbeid, kom 64 kilowatt til. Treningen la til ytterligere 109.

Total effekt ved tre driftstilstander i A100-delen av Jean Zay.

Luccioni mfl., JMLR, tabell 2 (2023)

Forsøket målte forskjellige driftstilstander og gir oss ingen målekurve for månedene BLOOM ble trent. Men strømmen som gikk med når serverne var av, forsvinner ikke fra regnskapet fordi vi teller GPU-timer. Dataene trenger et sted å ligge, og varmen må håndteres også utenfor brikken som akkurat utfører en multiplikasjon.

Forskerne anslo utslippene fra GPU-energien til 24,69 tonn CO₂-ekvivalenter. Da de tok med tomgang og fordelte en andel av utslippene fra maskinproduksjonen på treningen, ble summen 50,5 tonn. Andre utviklingskjøringer og senere bruk av modellen lå fortsatt utenfor regnskapet.

Det større utslippstallet betyr ikke at treningen plutselig hadde brukt dobbelt så mye strøm. Noe av det som kom med, hadde allerede skjedd på fabrikkene som laget utstyret. CO₂-ekvivalenter samler ulike klimagasser etter hvor mye de bidrar til oppvarming; de måler ikke strømforbruk. Og like mange kilowattimer kan gi ulike utslipp, avhengig av hvordan elektrisiteten blir produsert. Skal vi sammenligne tonn utslipp, må vi vite hvor strømmen kom fra, og hva som er tatt med i regnskapet. Ellers sammenligner vi tall som svarer på forskjellige spørsmål.

Tilgangen til maskinene som gjorde BLOOM mulig, var et offentlig bidrag. Jean Zay tilhørte franske GENCI og ble drevet ved forskningssenteret IDRIS. Her fikk forskere fra akademia og næringsliv tilgang til infrastrukturen de trengte for å bygge modellen sammen.

Da modellen var ferdig, ble den gjort tilgjengelig for andre. De kunne begynne med de lagrede parametrene, alle tallene teamet hadde tatt sikkerhetskopi av, og bruke resultatet uten å gjenta treningen. Det lange arbeidet kunne deles som filer. Maskiner til å kjøre modellen måtte de fortsatt skaffe.

Den som ville trene en ny modell av samme størrelse fra begynnelsen, trengte derimot en stor maskinpark over lang tid. Slik tilgang følger ikke med filene. Den offentlige tildelingen var med på å avgjøre hvem som kunne gjøre arbeidet, og EU-kommisjonen valgte i juni EUROPA til et nytt forsøk: Ett år på Europas superdatamaskiner.