TL;DR: Сначала профилируйте. Если узкие места — математика, пробуйте INT8/4; если I/O — кэш и батчинг; если фреймворк — компиляция графа.
Контекст
Оптимизация должна начинаться с профилирования. Сначала поймите, где теряется время: математика, ввод‑вывод, сериализация или сеть.
Шаги
- Профилируйте инференс: где тратите время.
- Включите кэш KV/ответов, ограничьте токены.
- Проверьте INT8/4 квантизацию на метриках качества.
- Сравните ONNX/TensorRT/компиляторы.
Пример
# Пример профилирования в bash (в реальности используйте профайлер фреймворка)
time python infer.py --prompt "hello"
# Сравнение INT8/FP16:
python bench.py --dtype int8
python bench.py --dtype fp16
Ошибки и подводные камни
- Пытаться ускорять без профилирования.
- Игнорировать падение качества после квантизации.
Что измерять
- Время/запрос, Throughput, потребление памяти, изменение качества.
Ресурсы
- Репозитории с кодом, учебники и документация по теме. Заполняйте собственными ссылками по мере работы.