Hvor mye regnekraft
Et anlegg leverer en mappe med eksporter. Kompilatoren leser den, finner ut hva hver tag er, hva den er koblet til og hva som rett og slett er feil, og skriver en modell. Nedenfor ser du hvor lang tid det tar etter hvert som anlegget blir større, målt på anlegg fra 300 til 9 511 tagger, med hver størrelse kjørt i sin egen prosess slik at minnetallet er den størrelsens eget.
Logaritmiske akser, så en rett linje er en potenslov. Den målte stigningen er n^2,232, som er verre enn lineært og ærlig om duplikatsøket: det sammenligner serier mot hverandre. Ved 9 511 tagger tar en hel kompilering 449 sekunder. De to hule punktene er publiserte datasett, ikke vår egen simulator: vannnettverket C-Town med 43 tagger og testriggen HAI med 86 tagger, og begge er ferdige på godt under en tidels sekund. Målingene stopper der fordi det å bygge et syntetisk anlegg dobbelt så stort krever mer minne enn maskinen har, og en tidsmåling tatt mens maskinen swapper, måler disken.
Hva kompilatoren selv ber om, målt med en allokeringssporer i en egen kjøring, fordi sporeren mer enn dobler kjøretiden og ville ha ødelagt tidsmålingen over. Det vokser som n^1,027, altså litt langsommere enn anlegget, og topper seg på 0,60 GB på et anlegg med 9 511 tagger. Det får plass i den ledige halvdelen av en vanlig industri-PC.
Den vil ikke ha kjernene dine
Låst til én kjerne, med alle trådbiblioteker holdt til én tråd, tar den samme kompileringen 2,80 s mot 2,81 s uten låsing. Forskjellen ligger innenfor støyen i målingen, så den ærlige lesningen er at den ikke trenger mer enn én kjerne i det hele tatt. Det er det nyttige tallet, for ingen kjøper en maskin for vår skyld. Det vi trenger, må få plass ved siden av det den boksen allerede gjør.
Hvor sekundene faktisk går, fra en profilering og ikke en gjetning. Tid brukt inne i numpy er ført opp på den av våre egne funksjoner som ba om den, for å vite at en femtedel av en kompilering er ndarray.partition sier deg ingenting, mens å vite at den gikk med til å beskrive verdiene sier deg hvor du skal lete. Å finne duplikater er den største andelen og grunnen til at kurven over bøyer seg: det sammenligner serier mot hverandre, så det vokser raskere enn anlegget gjør.
Delen som er en språkmodell
Ett steg leser papirene: en instrumentindeks, et datablad, en manual på 50 sider. Det er det eneste stedet en språkmodell kjører, den kjører på den samme boksen, og den er liten. Ingenting sendes noe sted, og den får aldri brødteksten i et dokument, bare overskrifter og strukturerte felt. Hvert tall den produserer, sjekkes mot fakta datalaget har regnet ut, før det slippes ut.
Lokale modeller, målt mens de leser de samme papirene. Vi leverer ministral-3:3b på 2,95 GB, laget av Mistral AI i Frankrike under Apache 2.0. Den leser hele settet på 80 sekunder og formulerer et funn på 8,6.
Hvor modellen vi leverer kommer fra
Vi leverer ministral-3:3b, laget av Mistral AI i Frankrike under Apache 2.0. Det er også den beste leseren vi har målt på denne jobben, og det har ikke alltid vært sant og fortjener å sies rett ut: en tidligere versjon av denne siden hevdet at det å levere en modell fra et land kjøperne våre er komfortable med, kostet oss reell nøyaktighet, og publiserte hvor stor den kostnaden var. Det var ikke sant. Sammenligningen bak satte den beste kinesiske modellen opp mot en av de svakeste modellene vi hadde, og avveiningen var en bieffekt av det valget, ikke et faktum om hvor modeller lages. Alle modellene vi har målt, står fortsatt i tabellen over, også dem vi ikke valgte.
Hva det ville ha kostet å gjøre dette i en sky
Ikke en konkurrents faktura, den kan vi ikke se. Et volum, og det er multiplikasjon. Et anlegg med 1 469 tagger som samples hvert sekund, er 1 112 GB i året over linja, jevne 0,28 Mbit i sekundet som aldri stopper. Samplet én gang i minuttet i stedet er det 18 GB, som er tallet de fleste egentlig har i tankene når de sier at dette er billig. Et anlegg med 20 000 tagger samplet hvert sekund er 15,1 TB i året. Innenfor gjerdet er alle disse null, og sikkerhetsvurderingen har én kanal mindre å krangle om.