Квантуване (Quantization)

Квантуването (Quantization) е ключов метод за компресиране на модели в областта на дълбокото обучение, който преобразува теглата и активиранията на невронните мрежи от числа с висока точност към формат с по-ниска точност.

Принцип на действие

Обикновено невронните мрежи се обучават с помощта на 32-битови числа с плаваща запетая (FP32). При квантуването тези тегла се картографират и конвертират в по-компактни формати:

  • FP16 / BF16: 16-битови числа с плаваща запетая.
  • INT8: 8-битови цели числа.
  • INT4 / INT3: Още по-ниски формати (4 или 3 бита), използвани главно за екстремно компресиране на големи езикови модели (LLMs).

Ползи от квантуването

  1. Намален размер на модела: Преходът от FP32 към INT8 намалява заеманата памет на диска и в RAM/VRAM четирикратно. Това позволява на големи модели да се събират в по-евтини потребителски или сървърни видеокарти.
  2. По-бързо изчисление (Inference): Повечето модерни графични (GPU) и специализирани (TPU/NPU) процесори изчисляват операции с ниска точност значително по-бързо.
  3. Енергийна ефективност: Операциите с по-малка разрядност консумират по-малко електрическа енергия, което е критично за мобилни устройства и големи центрове за данни.

Компромис с точността

Преобразуването на теглата в по-груб формат може да доведе до лека загуба на точност и влошаване на качеството на генерираните отговори. Поради това се използват напреднали алгоритми (като AWQ, GPTQ или SmoothQuant), които минимизират тази загуба.

Споменавания в статии