Beräkningskraft och el
Beräkningskraft är chippen, minnet och elen som gör om en modell till text eller bilder, och strömförbrukningen är vad det arbetet kostar på räkningen. Den här sidan visar hur du räknar ut vad en månads användning kostar i kronor, hur du ser om en modell får plats i datorn du har, och hur du läser av testresultat som mätts upp på en namngiven maskin.
Nybörjare
Vad en chatt kostar, och om modellen får plats
En molntjänst tar oftast betalt per token eller per bild. En token är en textbit, ett kort ord eller en del av ett längre ord. Svenska och engelska kan dela upp samma mening i olika många tokens, så ta antalet från leverantörens tokenizer eller från fakturan. Dela månadens tokens med 1 000 000 när priset är per miljon, multiplicera med det priset och multiplicera sedan med dagens växelkurs till kronor. För bilder tar du det listade priset gånger antalet bilder. Lägg till eventuell månadsavgift och räkna med nya försök.
En modell på en dator du själv äger har ingen avgift per token. Du betalar för maskinen och för elen den drar. För enkel chatt räcker en liten modell på laptopen som redan står på skrivbordet. Är vikterna större än minnet i datorn går modellen inte att ladda i den precisionen.
Gigabyte vikter är antalet parametrar i miljarder gånger byte per värde: 4 för FP32, 2 för FP16 eller BF16, 1 för 8-bit och 0,5 för 4-bit. Sjuttio miljarder parametrar tar cirka 140 GB i 16-bit och cirka 35 GB i 4-bit. Hugging Faces guide hänvisar till EleutherAI och tipsar om att lägga till upp till cirka 20 procent extra medan modellen svarar. En lång tråd sparar dessutom en cache med tidigare tokens utöver det.
Jämför Hugging Faces minneskalkylator med minnet på produktsidan innan du köper. NVIDIA anger att DGX Station drar 1 600 watt, kräver en 20 A-krets och har 252 GB snabbt GPU-minne samt 748 GB sammanhängande minne.
Räkna ut månadskostnaden i kronor
Hjälp mig att uppskatta en månads AI-användning i svenska kronor. Jag klistrar in leverantörens prissida (per miljon tokens, samt per bild om det finns) och en kort logg: antal chattar, ungefärlig längd, antal bilder och eventuell månadsavgift. Räkna om tokens enbart med priset jag klistrar in. Fråga mig efter dagens SEK-växelkurs om jag har glömt den. Uppskatta sedan ett lokalt alternativ utifrån antalet parametrar, precisionen (FP16, FP8 eller 4-bit) och grafikminnets storlek i GB som jag anger. Använd 4, 2, 1 eller 0,5 byte per parameter för FP32, FP16/BF16, 8-bit och 4-bit. Lägg till 20 procent för extra minnesåtgång under inferens, och förklara att en lång chatt kräver ytterligare minne för cachen. Avsluta med en rekommendation: stanna i molnet, använd en mindre lokal modell, eller att denna precision inte får plats på maskinen. Lämna priser jag inte klistrat in tomma.
Medel
Snabbt minne, långsamt minne och en publicerad testrad
Varje ny token läser in vikterna på nytt. Vid en liten batch tar läsningen ofta längre tid än själva beräkningen, så minnesbandbredden styr tempot. Kipplys inferensanteckningar visar hur en stor batch kan flytta begränsningen till beräkningskraften.
NVIDIA anger 7,1 TB/s på 252 GB HBM3e och 396 GB/s på 496 GB LPDDR5X, sammankopplade med NVLink-C2C i 900 GB/s till upp till 748 GB sammanhängande minne. Den snabba poolen delar utrymme med konversationscachen. En modell som rinner över till den långsammare poolen kan fortfarande laddas, men då får varje ny token vänta på den långsammare läsningen.
Sidan anger maxvärden för FP4 på 20 PFLOPS med sparsity och 15 PFLOPS utan, FP8/FP6 på 10 PFLOPS samt FP16/BF16 på 5 PFLOPS. Det är teoretiska maxtak enligt fotnoten om sparsity. Sjuttio miljarder parametrar tar cirka 140 GB i 16-bit, vilket ryms i den snabba poolen, och cirka 280 GB i 32-bit, vilket även utnyttjar det långsammare minnet. En biljon parametrar i 16-bit är cirka 2 000 GB, mer än de 748 GB NVIDIA anger, så den storleken kräver ett mindre sifferformat och använder den långsamma poolen.
Det finns ingen gemensam kö att ansluta sig till än. Om en gemensam maskin köps publiceras varje test som en rad: datum, maskinnamn, modell, precision, promptlängd, tokens per sekund och watt. I MLPerf Inference v6.1 ska du bara jämföra rader som delar modell, scenario och kvalitetsmål, och sedan läsa ändringsloggen på datacentersidan.
Får modellen plats i det snabba minnet?
Avgör om en öppen modell får plats i snabbt GPU-minne eller rinner över i långsammare minne. Jag anger antal parametrar, precision, kontextlängden jag bryr mig om samt maskinen: en bärbar dator med ett visst antal GB grafikminne, eller en DGX Station med 252 GB HBM3e i 7,1 TB/s och 496 GB LPDDR5X i 396 GB/s inom 748 GB sammanhängande minne. Uppskatta minnet för vikterna som parametrar gånger byte (2 för FP16/BF16, 1 för FP8 eller INT8, 0,5 för 4-bit). Lägg till 20 procent för extra minnesåtgång under inferens. Förklara att KV-cachen växer med kontexten, och beräkna cachestorleken enbart om jag också anger lager, KV-huvuden, huvudstorlek och byte per cache-element. Berätta sedan om vikterna får plats i 252 GB, endast i hela 748 GB, eller inte alls. Håll eventuella toppvärden för PFLOPS åtskilda från tokens per sekund. Fråga efter eventuella siffror som saknas.
Expert
Wattimmar, precision och månadsräkningen
Mät genomsnittlig watt och antal sekunder för en bestämd prompt. Wattimmar beräknas som watt gånger sekunder, delat med 3 600. Per 1 000 tokens delar du dessa wattimmar med antalet genererade tokens och multiplicerar med 1 000. Notera precision, batch, kontextlängd, andra jobb på maskinen samt om wattmätningen gjordes i vägguttaget eller via mjukvara. En timme vid märkeffekten 1 600 W är 1,6 kWh. Kör samma prompt på ett konsumentkort och en bärbar dator.
FP8 lagrar en byte per värde medan FP16 eller BF16 lagrar två, vilket halverar vikternas minnesåtgång och datamängden som flyttas per token. NVIDIAs artikel delar upp FP8 i E4M3, som har ett snävare omfång, och E5M2, som har ett bredare omfång för gradienter. Blackwell lägger till MXFP8, med en skalningsfaktor per block om 32 värden, samt FP4. Kompakta format kan klippa extrema värden, så håll koll på kvalitetspoängen vid sidan av hastigheten. ConnectX-8 kan koppla ihop två stationer i upp till 800 Gb/s. Att dela en modell över den länken ger extra trafik i varje steg, så en andra station skulle bara behövas för en större modell. Sju MIG-instanser, var och en med eget minne, isolerar ett långkört jobb till en egen del. Spara checkpoints under träningen med jämna mellanrum så att en avbruten körning kan återupptas.
Månadskostnaden för en egen maskin är offerten från säljaren delad med antalet månader du ska ha den, plus uppmätta kilowattimmar gånger kronor per kilowattimme på elräkningen. Räkna med nätavgifter och skatt för att få det faktiska beloppet på räkningen. Inköpspriset får du från säljaren. Molnkostnaden är fakturan, eller tokens gånger dagens pris, plus hyrda timmar som stått outnyttjade.
Bygg en rad för wattimmar och månadskostnad
Gör om mina anteckningar till en jämförelserad mellan en lokal maskin och ett moln-API. Jag klistrar in: modellnamn, precision, kontextlängd, batchstorlek, genererade tokens, sekunder, genomsnittlig watt, om mätningen kom från en väggmätare eller en mjukvarusensor, maskinens namn, datum, mitt elpris i kronor per kWh och om nätavgifter och skatt ingår, hårdvarans inköpspris, hur många månader jag ska slå ut inköpet på, samt molnpriset eller fakturaraden för samma prompter. Beräkna wattimmar per 1 000 tokens som (genomsnittlig watt × sekunder / 3600) / (genererade tokens / 1000). Beräkna lokal månadskostnad som inköpspris/månader plus kWh × elpris. Beräkna molnkostnaden enbart utifrån siffror jag klistrar in. Om jag använde märkeffekten 1 600 W för DGX Station istället för en mätning, märk energisiffran som ett maxtak. Lämna tokens per sekund, en MIG-plan och eventuell prestandavinst med två maskiner tomma om jag inte har mätt dem. Lista alla fält som fortfarande saknas.
Minnesåtgång för vikter i korthet
Vikter i gigabyte är ungefär antalet parametrar i miljarder gånger byte per parameter. Lägg till upp till cirka 20 procent extra för ett kort svar, och ytterligare minne för konversationscachen. Raderna nedan visar den beräkningen för jämna parametertal.
| Precision | Byte per parameter | 8 miljarder | 70 miljarder | 1 biljon |
|---|---|---|---|---|
| FP32 | 4 | 32 GB | 280 GB | 4 000 GB |
| FP16 eller BF16 | 2 | 16 GB | 140 GB | 2 000 GB |
| FP8 eller INT8 | 1 | 8 GB | 70 GB | 1 000 GB |
| 4-bit | 0,5 | 4 GB | 35 GB | 500 GB |
Enligt specifikationen för DGX Station är den snabba minnespoolen 252 GB HBM3e. En modell med 70 miljarder parametrar med 16-bitars vikter ryms helt i den. Samma modell i 32-bit tar cirka 280 GB och kräver även det långsammare minnet. En modell med 1 biljon parametrar i 4-bit ger cirka 500 GB vikter: det ryms inom maskinens sammanlagda 748 GB sammanhängande minne, men utanför den snabba poolen. I 8-bit tar dessa vikter cirka 1 000 GB, vilket överskrider hela maskinen. För att få plats med en modell på 1 biljon parametrar inom de 748 GB som NVIDIA anger krävs ett kompakt talformat.
Vad en offentlig testrad bör innehålla
Ingen gemensam maskin publicerar rader än. När det sker bör varje körning begränsas till fält som en läsare kan granska:
- Datum och maskinnamn, så att en senare körning på annan hårdvara hamnar på en egen rad.
- Modell, revision och precision, inklusive vilket FP8-recept eller vilken 4-bit-metod som använts.
- Kontextlängd, batchstorlek, genererade tokens och tokens per sekund.
- Genomsnittlig watt, vilken mätare du använde och wattimmar per 1 000 tokens.
- En kvalitetskontroll vid sidan av hastigheten, med en bestämd prompt som bedöms på samma sätt varje gång.
- För ett MLPerf-resultat som hämtats utifrån: scenariots namn, en länk till resultatraden och en titt i ändringsloggen.
Med en gemensam DGX Station skulle fältet för maskinnamn kunna peka på en namngiven maskin vars körningar publiceras, med MIG-instanser när flera jobb körs samtidigt och en checkpoint på disk om ett jobb måste pausas.
Checklista för månadskostnad
- Skriv upp offerten på hårdvaran från säljaren. Dela den med antalet månader du tänker ha maskinen.
- Mät kilowattimmarna under en vanlig vecka. Multiplicera med kronor per kilowattimme på elräkningen. Märkeffekten på 1 600 W är ett maxtak: 1,6 kWh om systemet drog så mycket under en hel timme.
- Lägg till eventuell mjukvara du betalar för. Lägg till diskar och skärm om du vill samla hela skrivbordet på samma rad.
- För molnet använder du fakturan eller aktuellt pris per miljon tokens och per bild. Räkna med outnyttjad tid om du hyr en maskin per timme.
- Jämför de två månadskostnaderna för samma prompter. En bärbar dator som redan klarar dina mindre modeller kan fortsätta vara det billigare alternativet för det arbetet, medan en station skulle rymma en modell på 70 miljarder parametrar i snabbt minne.
En gemensam DGX Station skulle låta medlemmar köra modeller som kräver det snabba minnet på 252 GB, och publicera varje körning med datum och maskinnamn så att siffrorna för watt och hastighet på den här sidan kommer från en maskin man faktiskt kan peka på. Om den gemensamma stationen
Källor
- NVIDIA DGX StationSpecifikationstabell: 748 GB sammanhängande minne, 252 GB HBM3e i 7,1 TB/s, 496 GB LPDDR5X i 396 GB/s, NVLink-C2C i 900 GB/s, toppvärden för Tensor Cores, 1 600 W på en 20 A-krets, upp till sju MIG-instanser och stöd för modeller med upp till 1 biljon parametrar.
- NVIDIA DGX Station Development GuideVad skrivbordssystemet GB300 är till för: lokal inferens och finjustering, uppdelningen av det sammanhängande minnet och sammankoppling av två stationer med ConnectX-8.
- Hugging Face model memory estimatorKommandot accelerate estimate-memory. Guiden anger att siffran avser laddning av vikterna, och att inferens kan lägga till upp till cirka 20 procent.
- Hugging Face model memory calculatorInteraktiv kalkylator för en modell på Hubben i float32, float16, int8 och int4. Använd den innan du jämför en bärbar dator eller ett grafikkort.
- EleutherAI, Transformer Math 101Byte per parameter för INT8, FP16/BF16 och FP32, samt den erfarenhetsbaserade tumregeln att marginalen för inferens håller sig inom cirka 20 procent av vikterna. Ange artikeln som källa om du återanvänder formlerna.
- kipply, Transformer Inference ArithmeticVarför en liten batch ofta begränsas av minnesbandbredden, hur KV-cachen växer med kontexten och vad det kostar att dela en modell över flera chip.
- NVIDIA technical blog, Floating-Point 8E4M3 och E5M2, varför färre bitar minskar minnestrafiken och hur Blackwell MXFP8 (en skalningsfaktor per 32 värden) och FP4 bygger vidare på samma idé.
- MLPerf Inference v6.1 resultsDe publicerade inferensresultaten för v6.1, inklusive nyare agenttester. Läs alla siffror tillsammans med datacenter-sviten, som förklarar scenarier, kvalitetsmål och ändringsloggen: https://mlcommons.org/benchmarks/inference-datacenter/