Ответ вслух Middle Квантование и дистилляция обновлено

Ускорить и удешевить инференс

Вопрос

Модель работает слишком медленно и дорого в проде. Какие способы ускорения вы рассмотрите?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Начинаю с измерений: что важно, задержка одного запроса или пропускная способность, и где узкое место (вычисления, память, загрузка данных, сеть). Самое дешёвое: инженерия инференса.

Что должно прозвучать в ответе

  • Измерить: латентность, пропускная способность, где узкое место

  • Квантование (int8, int4, fp8) и пониженная точность

  • Дистилляция в меньшую модель, прунинг структурированный

  • Инфраструктура: батчинг, компиляция, специализированные рантаймы, кеширование

  • Проверка качества после каждой оптимизации на своей задаче

Что могут спросить следом

  • Когда дистилляция выгоднее квантования?
  • Как не потерять качество на редких, но важных случаях?

Разбор

Начинаю с измерений: что важно, задержка одного запроса или пропускная способность, и где узкое место (вычисления, память, загрузка данных, сеть). Самое дешёвое: инженерия инференса. Батчинг запросов, для LLM continuous batching, torch.compile или специализированные рантаймы (ONNX Runtime, TensorRT, движки для LLM), кеширование повторяющихся запросов. Дальше пониженная точность: bf16 вместо fp32 почти всегда безопасна, int8 обычно почти без потерь, 4 бита для LLM с аккуратными методами квантования. Если нужно кратное ускорение, дистиллирую в меньшую модель: ученик учится на мягких ответах учителя и на неразмеченных данных из прода. Структурированный прунинг удаляет каналы, головы или слои. После каждого шага проверяю качество на своей задаче и на важных срезах, а не только на средней метрике, потому что сжатие часто бьёт по редким случаям.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.