Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Які ключові відмінності між точністю FP16 та Int8 для моделей DeepSeek


Які ключові відмінності між точністю FP16 та Int8 для моделей DeepSeek


Ключові відмінності між FP16 (16-бітною плаваючою точкою) та Int8 (8-бітне ціле) точність для моделей DeepSeek в основному обертаються навколо точності, динамічного діапазону та обчислювальної ефективності.

Точність

FP16, як правило, забезпечує більш високу точність порівняно з INT8. Це особливо важливо для моделей, що потребують точних розрахунків, оскільки FP16 може представляти більш широкий діапазон значень та більш тонкі відмінності між ними через його плавучу субс. На відміну від цього, нижча точність INT8 може призвести до більших помилок квантування, особливо в сценаріях, коли параметри або активації моделі мають значення, які перевищують обмежений діапазон підписаних 8 -бітних цілих чисел, що охоплює від -128 до 127 [1] [4].

Динамічний діапазон

Динамічний діапазон FP16 значно ширший, ніж у Int8. FP16 може виражати значення в значно більшому спектрі, оскільки він виділяє шматочки як для експонента, так і для мантіси, що дозволяє їй ефективно обробляти дуже маленьку і дуже велику кількість. Для порівняння, фіксований діапазон INT8 обмежує його застосовність, особливо у складних моделях, де вихідні значення можуть сильно відрізнятися [2] [3]. Наприклад, хоча Int8 має динамічний діапазон $$ 2^8 $$, FP16 може представляти значення в діапазоні, що ефективно дозволяє отримати набагато більше нюансованих даних [2].

Обчислювальна ефективність

INT8 оптимізований для обчислювальної ефективності, особливо у завданнях висновку на пристроях Edge. Використання цілого арифметики, як правило, вимагає меншої потужності і може призвести до більш швидких обчислень порівняно з операціями з плаваючою комою. Ця ефективність має вирішальне значення для розгортання моделей у застосуванні в режимі реального часу, де затримка та споживання енергії є критичними факторами [1] [4]. Більше того, квантування INT8 дозволяє значно зменшити використання пам'яті, що може підвищити продуктивність на пристроях з обмеженими ресурсами [3] [5].

Підсумовуючи це, хоча FP16 пропонує чудову точність та динамічний діапазон, придатні для навчання та висновку складних моделей, Int8 перевершує ефективність роботи та швидкість, що робить його кращим для розгортання в середовищах, що обмежується ресурсами. Вибір між цими точками часто залежить від конкретних вимог програми, таких як потреба в точності та необхідності швидкості та ефективності.

Цитати:
[1] https://arxiv.org/pdf/2303.17951.pdf
[2] https://www.baseten.co/blog/fp8-eficive-model-inference-with-8-bit-floating-point-numbers/
[3] https://itsabout.ai/enderstanding-data-types-in-ai-and-hpc-int8-fp8-fp16-bf16-bf32-fp32-tf32-fp64-and-hardware-accelerators/
[4] https://massedcompute.com/faq-answers/?
[5] https://www.baseten.co/blog/introduction-to-quantizing-ml-models/
[6] https://www.reddit.com/r/machinelearning/comments/114fgo8/d_is_fp16_use_in_deep_learning_or_fp32/
[7] https://forums.developer.nvidia.com/t/same-inference-speed-for-int8-and-fp16/66971
[8] https://forums.developer.nvidia.com/t/int8-vs-fp16-results/158139