TL;DR: Сначала профилируйте. Если узкие места — математика, пробуйте INT8/4; если I/O — кэш и батчинг; если фреймворк — компиляция графа.

Контекст

Оптимизация должна начинаться с профилирования. Сначала поймите, где теряется время: математика, ввод‑вывод, сериализация или сеть.

Шаги

  1. Профилируйте инференс: где тратите время.
  2. Включите кэш KV/ответов, ограничьте токены.
  3. Проверьте INT8/4 квантизацию на метриках качества.
  4. Сравните ONNX/TensorRT/компиляторы.

Пример

# Пример профилирования в bash (в реальности используйте профайлер фреймворка)
time python infer.py --prompt "hello"
# Сравнение INT8/FP16:
python bench.py --dtype int8
python bench.py --dtype fp16

Ошибки и подводные камни

  • Пытаться ускорять без профилирования.
  • Игнорировать падение качества после квантизации.

Что измерять

  • Время/запрос, Throughput, потребление памяти, изменение качества.

Ресурсы

  • Репозитории с кодом, учебники и документация по теме. Заполняйте собственными ссылками по мере работы.