EMZETT.
Увійти

Квантування

Коротко: Квантування зберігає ваги моделі з меншою кількістю бітів (наприклад, 4 замість 16). Це заощаджує пам’ять і пришвидшує модель, але коштує певної втрати якості.

Докладніше: Вага у 16-бітному форматі з плаваючою комою займає 2 байти, у 8-бітному — 1 байт, у 4-бітному — півбайта. Оскільки швидкість залежить від пропускної здатності пам’яті, 4-бітна модель приблизно вчетверо швидша за ту саму модель у 16 біт.

Наш контекст: У калькуляторі швидкості ШІ можна вибрати квантування або дозволити визначити його автоматично.

Подробиці

  • Поширені рівні: Q8_0 (майже без втрат), Q6_K, Q5_K_M, Q4_K_M (добрий компроміс), Q3, Q2 (помітні втрати).
  • Біт на вагу: Q4_K_M фактично становить близько 4,8 біта, бо зберігаються й масштабні значення.
  • Втрата якості: у великих моделей часто невелика, у малих помітніша. Нижче 3 біт якість сильно страждає.
  • Формати: GGUF (llama.cpp), GPTQ, AWQ, EXL2, bitsandbytes, FP8.
  • Навчання і запуск: квантування зазвичай виконують після навчання, для експлуатації.

Див. також: VRAM і розмір моделі, GGUF і llama.cpp, Формати чисел: FP32, FP16, BF16 і FP8