Sjuttio miljarder parametrar, åtta minuter per svar

Jag hade två grafikkort med tjugofyra gigabyte minne vardera och ville se hur långt det räckte. Alltså laddade jag ner en modell med sjuttio miljarder parametrar — fyrtiotvå gigabyte — och delade den över båda korten.

Den fick plats. Den startade. Den svarade.

Efter åtta minuter.

Minne och hastighet är två olika saker

Diskussionen om lokala modeller handlar nästan alltid om minne. Ryms modellen? Hur många gigabyte krävs? Vilket kort ska jag köpa för att få plats med den stora?

Det är rätt fråga för att veta om något går, och fel fråga för att veta om det är användbart. Att modellen ryms betyder bara att den inte kraschar.

Korten jag använde är från en äldre generation. De har gott om minne men saknar de specialiserade beräkningsenheter som moderna kort har för just den här sortens matematik, och de räknar dessutom långsamt i det talformat modellerna helst använder. Kapaciteten fanns. Farten fanns inte.

Till det kommer att en modell utspridd över två kort måste skyffla mellanresultat mellan dem för varje steg i beräkningen. Delningen som gör att den ryms är samma sak som gör den långsam.

Jämförelsen som avgjorde saken

Samma fråga till en modell på tjugosex miljarder parametrar, som ryms på ett enda kort: svar på ett par sekunder.

Det är inte tjugo procent snabbare. Det är ungefär tvåhundra gånger, och det är skillnaden mellan ett verktyg och en kuriositet. En modell som svarar på två sekunder kan sitta i ett arbetsflöde. En som tar åtta minuter kan inte det, oavsett hur mycket klokare svaret är — för ingen väntar, och inget bakomliggande system har en timeout på åtta minuter.

Kvaliteten på svaren var dessutom inte åtta minuter bättre. Den var en aning bättre på svårare resonemang och likvärdig på det jag faktiskt använder modellen till.

Vad det säger om hårdvaruval

Begagnade kort med mycket minne är populära i hemmalabb av goda skäl: de är billiga per gigabyte, och gigabyte är det man läser att man behöver.

Min erfarenhet efter det här: de tar en förvånansvärt långt, ända tills de inte gör det — och gränsen går inte där minnet tar slut, utan där modellen blir tung nog att beräkningen dominerar. För mindre modeller är korten utmärkta. För de riktigt stora spelar det ingen roll att de får plats.

Vill man köra stora modeller är svaret inte fler gamla kort. Det är nyare hårdvara med snabbare beräkning och tillräckligt minne i en enhet — eller att acceptera att den stora modellen körs någon annanstans, för de uppgifter som verkligen kräver den.

Så vet du vad du har

Mät svarstid, inte om det startar. ”Modellen kör lokalt” är ett meningslöst påstående utan en siffra bredvid.

Mät varmt, inte kallt. Första svaret inkluderar inläsning i minnet och säger inget om vardagen.

Mät med din egen fråga. Ett riktmärke som körs med korta inmatningar döljer att svarstiden växer med hur mycket sammanhang du faktiskt skickar med.

Vad jag tar med mig

Det finns en dragningskraft i den största modellen som får plats. Den är svår att motstå, och den är nästan alltid fel.

Rätt fråga är inte ”hur stor modell kan jag köra?” utan ”hur stor modell kan jag köra tillräckligt snabbt för att faktiskt använda?” — och svaret på den andra frågan är oftast en storlek mindre än man hoppats, körd på ett enda kort.

Skrivet av Daniel Azzarri · Om · Alla inlägg