Ključne razlike med natančnostjo FP16 (16-bitna plavajoča točka) in INT8 (8-bitno celo število) za modele Deepseek se vrtijo predvsem okoli natančnosti, dinamičnega območja in računske učinkovitosti.
Natančnost
FP16 na splošno zagotavlja večjo natančnost v primerjavi z Int8. To je še posebej pomembno za modele, ki zahtevajo natančne izračune, saj lahko FP16 predstavlja širši razpon vrednosti in lepše razlike med njimi zaradi svoje narave s plavajočo točko. V nasprotju s tem lahko nižja natančnost INT8 privede do večjih napak kvantizacije, zlasti v scenarijih, kjer imajo parametri ali aktivacije modela vrednosti, ki presegajo omejen obseg podpisanih 8 -bitnih številnih števil, ki sega od -128 do 127 [1] [4].Dinamični obseg
Dinamični razpon FP16 je bistveno širši kot pri INT8. FP16 lahko izrazi vrednosti v veliko večjem spektru, ker dodeli bite tako za eksponent kot za Mantisso, kar mu omogoča učinkovito ravnanje z zelo majhnim in zelo velikim številom. V primerjavi s fiksnim območjem INT8 omejuje njegovo uporabnost, zlasti v zapletenih modelih, kjer se lahko izhodne vrednosti zelo razlikujejo [2] [3]. Na primer, čeprav ima INT8 dinamičen razpon $$ 2^8 $$, lahko FP16 predstavlja vrednosti v območju, ki učinkovito omogoča veliko bolj niansirano predstavitev podatkov [2].Računalniška učinkovitost
INT8 je optimiziran za računalniško učinkovitost, zlasti pri sklepanju nalog na robnih napravah. Uporaba celotne aritmetike običajno zahteva manj moči in lahko privede do hitrejših izračunov v primerjavi z operacijami s plavajočo točko. Ta učinkovitost je ključnega pomena za uvajanje modelov v aplikacijah v realnem času, kjer sta zamuda in poraba energije ključni dejavniki [1] [4]. Poleg tega kvantizacija INT8 omogoča znatno zmanjšanje porabe pomnilnika, kar lahko poveča zmogljivost na napravah z omejenimi viri [3] [5].Če povzamemo, čeprav FP16 ponuja vrhunsko natančnost in dinamično območje, primerno za usposabljanje in sklepanje kompleksnih modelov, INT8 odlikuje operativno učinkovitost in hitrost, zaradi česar je zaželeno za uporabo v okolju, omejenih z viri. Izbira med temi natančnostmi je pogosto odvisna od posebnih zahtev aplikacije, kot je potreba po natančnosti v primerjavi s potrebo po hitrosti in učinkovitosti.
Navedbe:[1] https://arxiv.org/pdf/2303.17951.pdf
[2] https://www.baseten.co/blog/fp8-effich-model-inference-with-8-bit-floating-point-numbers/
[3] https://itsabout.ai/undatranding-tata-ypes-in-ai-and-hpc-int8-fp8-fp16-bf16-bf32-fp32-tf32-fp64-and-wardware-accelerators/
[4] https://massedCopute.com/faq-answers/?question=What+are+The+Differences+Betherenthewenween+++ in+FP16++Precision+Terms+Of+Accuracy+And+Speed%3F
[5] https://www.baseten.co/blog/introduction-to-quantizing-ml-models/
[6] https://www.reddit.com/r/machinelearning/comments/114fgo8/d_is_fp16_used_in_deep_learning_or_fp32/
[7] https://forums.developer.nvidia.com/t/same-inference-peed-for-int8-and-fp16/66971
[8] https://forums.developer.nvidia.com/t/int8-vs-fp16-results/158139