Ускорить и удешевить инференс
Вопрос
Модель работает слишком медленно и дорого в проде. Какие способы ускорения вы рассмотрите?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Измерить: латентность, пропускная способность, где узкое место
Квантование (int8, int4, fp8) и пониженная точность
Дистилляция в меньшую модель, прунинг структурированный
Инфраструктура: батчинг, компиляция, специализированные рантаймы, кеширование
Проверка качества после каждой оптимизации на своей задаче
Что могут спросить следом
- Когда дистилляция выгоднее квантования?
- Как не потерять качество на редких, но важных случаях?
Разбор
Начинаю с измерений: что важно, задержка одного запроса или пропускная способность, и где узкое место (вычисления, память, загрузка данных, сеть). Самое дешёвое: инженерия инференса. Батчинг запросов, для LLM continuous batching, torch.compile или специализированные рантаймы (ONNX Runtime, TensorRT, движки для LLM), кеширование повторяющихся запросов. Дальше пониженная точность: bf16 вместо fp32 почти всегда безопасна, int8 обычно почти без потерь, 4 бита для LLM с аккуратными методами квантования. Если нужно кратное ускорение, дистиллирую в меньшую модель: ученик учится на мягких ответах учителя и на неразмеченных данных из прода. Структурированный прунинг удаляет каналы, головы или слои. После каждого шага проверяю качество на своей задаче и на важных срезах, а не только на средней метрике, потому что сжатие часто бьёт по редким случаям.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.