raatools/

ML-inferenssiestimaattori

Arvioi inferenssilatenssi ja FPS ML-malleille reunalaitteilla.

Latenssi

150 ms

Max FPS

6.7 FPS

Practical Note: Todelliset FPS voivat olla alhaisemmat esikäsittelyn yleiskustannusten ja mallin lataamisen vuoksi.

Latenssivertailu (kaikki laitteet)

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

Mallin tiedot

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

Mika on ML-inferenssilaskin?

Tämä ML-inferenssiarvioija näyttää suosittujen pienten koneoppimismallien tyypillisen inferenssinopeuden reunalaitteistolla: Raspberry Pi 4, Raspberry Pi 5 sekä Raspberry Pi 5 ja Coral Edge TPU -kiihdytin. Inferenssi tarkoittaa koulutetun mallin käyttämistä ennusteiden tekemiseen uudesta datasta. Luvut tulevat kiinteästä taulukosta, jossa on likimääräisiä benchmark-tuloksia, joten pidä niitä suuntaa-antavina laitteiston valinnassa — ne eivät ole mittauksia omasta kokoonpanostasi.

Inferenssinopeus riippuu mallin koosta, numeerisesta tarkkuudesta (FP32, FP16, INT8) ja laitteistosta: suorittimesta, GPU:sta tai erillisestä kiihdyttimestä, kuten Coral Edge TPU:sta, joka ajaa vain 8-bittisiksi kvantisoituja TensorFlow Lite -malleja. Suuria kielimalleja ja puhemalleja rajoittavat lähinnä muisti ja muistikaista, minkä vuoksi ne toimivat pienillä yhden piirilevyn tietokoneilla hitaasti — tai eivät lainkaan.

Tyokalun kayttohje

Valitse malli (kuvien luokittelu, kohteiden tunnistus, pieni kielimalli tai puheentunnistus) ja laite. Työkalu näyttää likimääräisen viiveen inferenssiä kohden ja siitä seuraavan läpimenon: kuvaa sekunnissa kuvamalleille, tokenia sekunnissa kielimallille ja nopeuden suhteessa reaaliaikaan Whisperille (yli 1× tarkoittaa, että ääni litteroidaan nopeammin kuin sen toisto kestää). Pylväskaavio vertailee kaikkia laitteita valitulla mallilla.

Keskeiset kasitteet

  • Parametrit — mallin opitut painot. Enemman parametreja tarkoittaa yleensa parempaa laatua mutta suurempia resurssivaatimuksia.
  • Tarkkuus — FP32 kayttaa 4 tavua per parametri, FP16/BF16 kayttaa 2 tavua, INT8 kayttaa 1 tavun. Alempi tarkkuus vahentaa muisti- ja laskentavaatimuksia.
  • Erakoko — useiden syotteiden samanaikainen kasittely parantaa lapimenoa mutta vaatii enemman muistia.
  • KV-valimuisti — transformer-malleissa avain-arvo-valimuisti kasvaa sekvenssipituuden myota ja kuluttaa merkittavasti lisamuistia.

Yleinen inferenssilaitteisto

Kuluttaja-GPU:t: RTX 3090 (24 Gt), RTX 4090 (24 Gt) — hyvia malleille jopa 13B parametria INT8:ssa. Ammattilais: A100 (40/80 Gt), H100 (80 Gt) — teollisuusstandardi 70B+ malleille. Apple Silicon: M1/M2/M3 yhtenaisella muistilla (jopa 192 Gt M2 Ultra) — tehokas paikalliseen inferenssiin.

Laskuesimerkki

Kielimalli, jossa on 7 miljardia parametria 16-bittisellä tarkkuudella, tarvitsee 7 000 000 000 × 2 tavua = 14 GB pelkkiin painoihin. Kvantisointi 4 bittiin leikkaa sen noin 3,5 GB:hen, jolloin se mahtuu kuluttaja-GPU:hun. Jos GPU tarjoaa 300 GB/s muistikaistaa, 3,5 GB:n lukeminen tokenia kohti rajaa läpäisyn noin 85 tokeniin sekunnissa.

Yleisiä virheitä

Yleinen virhe on arvioida päättelynopeutta pelkän laskennan (FLOPS) perusteella; suurilla malleilla muistikaista yleensä rajoittaa tokenien tuottoa, ei pelkkä laskenta. Toinen on jättää huomiotta ero viiveen (aika ensimmäiseen tokeniin) ja läpäisyn (tokenia sekunnissa erässä) välillä. Sekin on yleistä, että unohtaa monen pyynnön niputtamisen nostavan läpäisyä pyyntökohtaisen viiveen kustannuksella.

Usein kysytyt kysymykset

Kuinka paljon GPU-muistia tarvitsen 7B parametrin mallille?

FP16-tarkkuudella: 7B * 2 tavua = 14 Gt pelkille painoille, plus 2-4 Gt KV-valimuistille ja ylaapuoliskuluille, yhteensa noin 16-18 Gt. INT8-kvantisoinnilla: noin 7-9 Gt. INT4:lla: noin 4-5 Gt. RTX 3090/4090 (24 Gt) pystyy ajamaan 7B-mallin FP16:lla.

Mika on kvantisointi ja kuinka paljon se auttaa?

Kvantisointi vahentaa mallipainojen tarkkuutta FP32:sta (4 tavua) FP16:een (2 tavua), INT8:aan (1 tavu) tai INT4:aan (0,5 tavua). Muistinkaytto pienee lahes lineaarisesti. INT4 mahdollistaa 4 kertaa suuremman mallin samalle GPU:lle pienella laadun heikkenemisella.

Miksi kvantisointi nopeuttaa päättelyä?

Kvantisointi tallentaa painot vähemmillä biteillä — 8- tai 4-bittisinä 16 bitin sijaan — joten muistista on siirrettävä vähemmän dataa tokenia kohti. Koska suurten mallien päättely on yleensä muistikaistarajoitteista, tavujen puolittaminen painoa kohti noin kaksinkertaistaa tokennopeuden, pienellä ja usein hyväksyttävällä tarkkuuden menetyksellä.