raatools/

ML-inferensestimator

Estimer inferensforsinkelse og FPS for ML-modeller på edge-enheter.

Forsinkelse

150 ms

Maks FPS

6.7 FPS

Practical Note: Virkelig FPS kan være lavere på grunn av forbehandlingsoverhead og modellasting.

Forsinkelsessammenligning (alle enheter)

Pi 4 (4GB)
150ms
Pi 5 (8GB)
50ms
Pi 5 + Coral TPU
5ms

Modelldetaljer

MobileNet V2: Lightweight image classification. Good for real-time inference on edge devices.

Hva er en ML-inferenskalkulator?

Denne ML-inferensestimatoren viser typisk inferenshastighet for populære små maskinlæringsmodeller på edge-maskinvare: Raspberry Pi 4, Raspberry Pi 5 og Raspberry Pi 5 med en Coral Edge TPU-akselerator. Inferens er prosessen der en ferdig trent modell brukes til å gjøre prediksjoner på nye data. Tallene kommer fra en fast tabell med omtrentlige benchmarkresultater, så bruk dem som en veiledning når du velger maskinvare, ikke som en måling av ditt eget oppsett.

Inferenshastigheten avhenger av modellstørrelse, numerisk presisjon (FP32, FP16, INT8) og maskinvaren den kjører på: CPU, GPU eller en egen akselerator som Coral Edge TPU, som bare kjører 8-bits kvantiserte TensorFlow Lite-modeller. Store språkmodeller og talemodeller begrenses hovedsakelig av minne og minnebåndbredde, og derfor kjører de sakte — eller ikke i det hele tatt — på små enkortsdatamaskiner.

Slik bruker du dette verktøyet

Velg en modell (bildeklassifisering, objektgjenkjenning, en liten språkmodell eller talegjenkjenning) og en enhet. Verktøyet viser omtrentlig latens per inferens og hva det gir i gjennomstrømning: bilder per sekund for bildemodeller, tokens per sekund for språkmodellen og hastighet i forhold til sanntid for Whisper (over 1× betyr at lyden transkriberes raskere enn den spilles av). Et stolpediagram sammenligner alle enhetene for valgt modell.

Nøkkelbegreper

  • Parametere — de lærte vektene i en modell. Flere parametere betyr generelt bedre kvalitet, men høyere ressurskrav.
  • Presisjon — FP32 bruker 4 byte per parameter, FP16/BF16 bruker 2 byte, INT8 bruker 1 byte. Lavere presisjon reduserer minne og øker hastighet med minimalt kvalitetstap.
  • Batchstørrelse — prosessering av flere input samtidig forbedrer gjennomstrømningen, men krever mer minne.
  • KV-cache — for transformer-modeller vokser nøkkel-verdi-cachen med sekvenslengde og bruker betydelig ekstra minne.

Vanlig inferens-maskinvare

Forbruker-GPUer: RTX 3090 (24GB), RTX 4090 (24GB) — bra for modeller opptil 13B parametere i INT8. Profesjonelle: A100 (40/80GB), H100 (80GB) — nødvendig for større modeller. Sky-alternativer: AWS, GCP og Azure tilbyr GPU-instanser per time. For CPU-inferens: mulig for mindre modeller, men 10-100x langsommere enn GPU. Apple M-seriens brikker tilbyr unified memory som kan kjøre overraskende store modeller.

Regneeksempel

En språkmodell med 7 milliarder parametere i 16-bits presisjon trenger 7 000 000 000 × 2 byte = 14 GB bare for vektene. Å kvantisere til 4-bit kutter det til om lag 3,5 GB, så den får plass på en forbruker-GPU. Om GPU-en gir 300 GB/s minnebåndbredde, begrenser lesing av 3,5 GB per token gjennomstrømningen til rundt 85 tokens per sekund.

Vanlige feil

En vanlig feil er å bedømme inferenshastighet ut fra regnekraft (FLOPS) alene; for store modeller begrenser vanligvis minnebåndbredden token-genereringen, ikke ren matematikk. En annen er å overse forskjellen mellom ventetid (tid til første token) og gjennomstrømning (tokens per sekund over en batch). Å glemme at å samle mange forespørsler øker gjennomstrømningen på bekostning av ventetid per forespørsel, er også vanlig.

Ofte stilte spørsmål

Kan jeg kjøre LLM-er på min vanlige gaming-GPU?

Ja, med kvantisering. En RTX 3060 12GB kan kjøre 7B-modeller i INT4 (ca. 4 GB VRAM). RTX 3090/4090 med 24 GB VRAM håndterer 13B-modeller i INT4 eller 7B i FP16. For 70B-modeller trengs enten flere GPU-er eller svært aggressiv kvantisering. Verktøy som llama.cpp og Ollama gjør lokal kjøring enkelt.

Hva er forskjellen mellom trening og inferens?

Trening krever 3–4 ganger mer minne enn inferens fordi den lagrer gradienter, optimizer-tilstander og aktiveringsdata. Inferens (å bruke en ferdigtrent modell) trenger bare modellvektene og en liten buffer. Derfor kan du kjøre modeller lokalt som ville krevd dyre dataklynger å trene. De fleste bruker forhåndstrenede modeller og gjør kun inferens.

Hvorfor gjør kvantisering inferens raskere?

Kvantisering lagrer vekter i færre bit — 8-bit eller 4-bit i stedet for 16-bit — så det er mindre data å flytte fra minnet per token. Siden inferens på store modeller vanligvis er begrenset av minnebåndbredde, dobler halvering av byte per vekt omtrent token-raten, med et lite og ofte akseptabelt tap i nøyaktighet.