Оптимизация инференса: задачи на Python

Модель уже обучена, но её ещё нужно запускать с предсказуемой задержкой и проверять после экспорта. Здесь собраны задачи на расчёты вокруг инференса: от целочисленной шкалы до выбора размера батча. Для решения нужен Python; видеокарта и установка TensorRT не требуются.

Сначала качество, затем скорость

Начните со шкалы INT8: из границ калибровки нужно получить scale, zero point и восстановленные значения. Следующее упражнение добавляет выбросы: вы выбираете границы после обрезки хвостов и считаете внесённую ошибку. Так можно увидеть на числах, что именно теряется при сужении диапазона.

После этого сравните выходы двух сред на одинаковом входе. Функция должна учитывать абсолютный и относительный допуски, нулевые значения и несовпадающие длины. У каждой задачи своё точное правило сравнения, указанное в условии.

Подобрать режим работы сервиса

В задаче на профили входная форма должна попасть между min и max, а из подходящих вариантов нужно выбрать один по заданному правилу. В задаче на батчи используются замеры p50 и p95: экономия времени на кадр рассматривается вместе с задержкой всего вызова и ограничением профиля.

Завершите подборку расчётом перцентилей после прогрева и стоимости тысячи кадров. Это связывает измерения производительности с расходами на сервис.

Задачи взяты из курса Computer Vision: от детекции и Doc-AI до продакшна. Для следующего шага есть практика видеопотоков, а метрики качества собраны в подборке по детекции.