Квантование
term_id: quantization
Category: training_techniques
Definition
Квантование преобразует числа высокой точности с плавающей запятой (например, FP32) в форматы более низкой точности (например, INT8 или FP16). Это снижение уменьшает потребление памяти моделью и вычислительные требования, что позволяет быстрее выполнять инференс без существенной потери качества.
Summary
Техника оптимизации модели, которая снижает точность чисел, используемых в вычислениях нейронной сети, чтобы уменьшить размер модели и повысить скорость работы.
Key Concepts
- Снижение точности
- Скорость инференса
- Оптимизация памяти
- INT8/FP16
Use Cases
- Развертывание на периферийных устройствах (Edge devices)
- Мобильные ИИ-приложения
- Инференс в реальном времени
Code Example
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)