Встречается на собеседованиях • сегодня

Как делал квантизацию

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

Основные подходы:

  1. Post-training Quantization (PTQ) — применяется после обучения.
    • Веса и активации квантуются в int8.
    • Может быть полной (веса + активации) или частичной (только веса).
    • В TensorFlow:
      python
      converter = tf.lite.TFLiteConverter.from_saved_model(model_path)
      converter.optimizations = [tf.lite.Optimize.DEFAULT]
      quantized_model = converter.convert()
  1. Quantization-Aware Training (QAT) — модель обучается с учетом квантования.
    • Включает fake quantization (эмуляцию int8 во время обучения).
    • В PyTorch:
      python
      model.qconfig = torch.quantization.get_default_qat_qconfig('fbgemm')
      torch.quantization.prepare_qat(model, inplace=True)

Нюансы:

  • PTQ быстрее, но может снизить точность.
  • QAT требует дообучения, но сохраняет точность лучше.
  • Активации чувствительны к квантованию — иногда их оставляют в float16.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы