Tärkeimmät erot FP16: n (16-bittinen kelluva piste) ja INT8 (8-bittinen kokonaisluku) tarkkuuden välillä Deepseek-malleissa pyörivät pääasiassa tarkkuuden, dynaamisen alueen ja laskennallisen tehokkuuden ympärillä.
tarkkuus
FP16 tarjoaa yleensä suuremman tarkkuuden verrattuna INT8: een. Tämä on erityisen tärkeää malleissa, jotka vaativat tarkkoja laskelmia, koska FP16 voi edustaa laajempaa arvoaluetta ja hienompaa eroa niiden välillä sen liukenemispisteen luonteen vuoksi. Sitä vastoin Int8: n alempi tarkkuus voi johtaa suurempiin kvantisointivirheisiin, etenkin skenaarioissa, joissa malliparametrit tai aktivoinnit ovat arvoja, jotka ylittävät allekirjoitettujen 8 -bittisten kokonaislukujen rajoitetun alueen, joka kattaa -128 -127 [1] [4].Dynaaminen alue
FP16: n dynaaminen alue on huomattavasti laajempi kuin Int8: n. FP16 voi ilmaista arvoja paljon suuremmassa spektrissä, koska se allokoi sekä eksponentin että Mantissan bittejä, jolloin se voi käsitellä erittäin pieniä ja erittäin suuria määriä tehokkaasti. Vertailun vuoksi Int8: n kiinteä alue rajoittaa sen sovellettavuutta, etenkin monimutkaisissa malleissa, joissa lähtöarvot voivat vaihdella suuresti [2] [3]. Esimerkiksi, vaikka INT8: lla on dynaaminen alue $ $ 2^8 $$, FP16 voi edustaa arvoja alueella, joka mahdollistaa tehokkaasti paljon enemmän vivahteistetun datan esityksen [2].Laskennallinen tehokkuus
INT8 on optimoitu laskennallisen tehokkuuden suhteen, etenkin Edge -laitteiden päätelmätehtävissä. Kokonaisluku aritmeettisen käyttö vaatii tyypillisesti vähemmän tehoa ja voi johtaa nopeampiin laskelmiin verrattuna kelluvien pisteen toimintoihin. Tämä tehokkuus on välttämätöntä mallejen käyttöönotossa reaaliaikaisissa sovelluksissa, joissa latenssi ja energiankulutus ovat kriittisiä tekijöitä [1] [4]. Lisäksi INT8 -kvantisointi mahdollistaa muistin käytön merkittävän vähentymisen, mikä voi parantaa suorituskykyä rajallisilla resursseilla [3] [5].Yhteenvetona voidaan todeta, että FP16 tarjoaa erinomaisen tarkkuuden ja dynaamisen alueen, joka sopii monimutkaisten mallien harjoitteluun ja päätelmiin, INT8 on erinomainen toiminnan tehokkuudessa ja nopeudessa, mikä tekee siitä edullisen käyttöönoton resurssien rajoittamisessa. Valinta näiden tarkkuuksien välillä riippuu usein sovelluksen erityisvaatimuksista, kuten tarkkuuden tarpeesta verrattuna nopeuden ja tehokkuuden tarpeeseen.
Viittaukset:[1] https://arxiv.org/pdf/2303.17951.pdf
.
.
.
[5] https://www.baseten.co/blog/introduction-to-quantizing-ml-models/
.
.
[8] https://forums.developer.nvidia.com/t/int8-vs-fp16-results/158139