Sobes.tech
Senior
22

Что такое квантизация и какие схемы (PTQ, QAT, AWQ, GPTQ, GGUF)?

Companies where asked
ДатаКорп
НейроЛаб

Answer from AI

sobes.tech AI

Квантизация — это процесс преобразования чисел с плавающей точкой (float) в числа с меньшей разрядностью (например, int8), чтобы уменьшить размер модели и ускорить вычисления, сохраняя при этом приемлемое качество.

Основные схемы квантизации:

  • PTQ (Post-Training Quantization) — квантизация после обучения модели без дополнительного обучения. Быстрый способ, но может привести к потере точности.

  • QAT (Quantization-Aware Training) — обучение с учётом квантизации, когда модель обучается с имитацией квантизации, что позволяет сохранить высокую точность.

  • AWQ (Adaptive Weight Quantization) — адаптивная квантизация весов, где разные части модели квантизируются с разной точностью для оптимального баланса между размером и качеством.

  • GPTQ (Generalized Post-Training Quantization) — усовершенствованный метод PTQ, который учитывает особенности архитектуры моделей типа GPT для более точной квантизации.

  • GGUF — формат хранения моделей с поддержкой квантизации и оптимизаций, часто используется в экосистемах LLM для эффективного запуска.

Пример применения PTQ в PyTorch:

import torch
from torchvision.models import resnet18

model = resnet18(pretrained=True)
model.eval()

# Применение PTQ
quantized_model = torch.quantization.quantize_dynamic(
    model, {torch.nn.Linear}, dtype=torch.qint8
)

Таким образом, квантизация позволяет значительно снизить требования к памяти и вычислительным ресурсам при работе с большими языковыми моделями (LLM).