Learn AI

Відстежуй прогрес · навчайся офлайн

Отримати

Урок 5 із 7

Квантування

7 хв читання

Велика відкрита модель потребує більше пам'яті, ніж є в більшості комп'ютерів. То як же її запускають на одному ігровому GPU чи навіть на ноутбуці?

Округли числа

Модель — це мільйони параметрів, тобто чисел, збережених із певною точністю, часто по 16 бітів кожне. Квантування зберігає їх грубіше: 8 бітів, 4 біти, іноді менше. Це як округлення. Уполовин біти на вагу — і приблизно вдвічі зменшиш потрібну моделі пам'ять, а заразом і прискориш її, бо менше даних доводиться рухати. Підступ один: округлиш надто сильно — і числа стануть такі грубі, що якість моделі попливе.

Квантування виміняє точність на розмір і швидкість. Менше бітів на вагу — менша й швидша модель: числа просто зберігаються грубіше.

Дешевий виграш, до певної межі

Несподіванка в тому, як мало якості втрачається спочатку. Перехід із 16 бітів на 8 часто майже безкоштовний; на 4 бітах зупиняється більшість тих, хто запускає великі моделі локально, — просідання невелике й зазвичай прийнятне. Опустися до зовсім низьких бітів — і падіння стає відчутним. Тож квантування — стандартний трюк, щоб утиснути модель у скромніше залізо: бери найбільшу модель, яку тягнеш, і квантуй, доки вона не влізе в пам'ять без надто великої шкоди якості.

Крива якості пласка, потім падає: 8 бітів майже без втрат, 4 біти — м'який компроміс, а дуже низькі біти ламають усе. Квантуй настільки, наскільки терпить задача — не далі.

Квантування міняє те, як зберігаються ваги, а не те, чого модель навчилася. Це не те саме, що менша модель, натренована з нуля: це та сама модель, лише стиснута. Після квантування перевіряй якість; наскільки далеко можна опуститися, залежить від моделі й задачі.

Суть коротко

Ти хочеш запустити велику відкриту модель на одному споживчому GPU, куди вона інакше не влазить. Який стандартний хід?

Продовжити в застосунку

Пройди весь курс «Інференс і залізо» — з відстеженням

Отримай персональний план, прогрес і стріки в застосунку — цей урок і кожен наступний, по порядку.