Квантование

term_id: quantization

Category: training_techniques

Definition

Квантование преобразует числа высокой точности с плавающей запятой (например, FP32) в форматы более низкой точности (например, INT8 или FP16). Это снижение уменьшает потребление памяти моделью и вычислительные требования, что позволяет быстрее выполнять инференс без существенной потери качества.

Summary

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

Key Concepts

  • Снижение точности
  • Скорость инференса
  • Оптимизация памяти
  • INT8/FP16

Use Cases

  • Развертывание на периферийных устройствах (Edge devices)
  • Мобильные ИИ-приложения
  • Инференс в реальном времени

Code Example

1
2
3
4
5
6
import torch.quantization as quant
# Example of converting a model to quantized format
model.eval()
model.qconfig = quant.get_default_qconfig('fbgemm')
quantized_model = quant.prepare(model, inplace=False)
quantized_model = quant.convert(quantized_model, inplace=False)