Квантування
Коротко: Квантування зберігає ваги моделі з меншою кількістю бітів (наприклад, 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