Как работает speculative decoding и acceptance ratio
Интервьюер спрашивает: как можно держать высокий acceptance ratio при большом числе draft tokens в speculative decoding?
Короткий ответ
Speculative decoding ускоряет generation: маленькая draft model предлагает несколько токенов вперед, большая target model проверяет их пачкой. Acceptance ratio показывает, какая доля draft tokens была принята.
Полный разбор
Базовая схема такая: быстрая draft model генерирует несколько кандидатов вперед, затем основная target model одним проходом проверяет эти токены. Если распределения моделей близки, значительная часть токенов принимается, и мы экономим время на последовательном decode.
Высокий acceptance ratio при большом числе draft tokens возможен, если draft model хорошо согласована с target model: похожая архитектура/токенизация, дообучение на похожем домене, корректная температура, близкое распределение ответов и отсутствие резкого domain shift. Чем дальше draft model от target model, тем чаще будут отклонения.
Trade-off: больше draft tokens потенциально дают больше speedup, но при низком acceptance ratio можно потратить лишний compute и ухудшить latency. Поэтому в production обычно подбирают draft length по задаче, длине ответа, latency SLA и observed acceptance ratio.
Теория
Speculative decoding — это не изменение качества модели, а оптимизация serving. Его нужно оценивать по latency, throughput, GPU utilization, acceptance ratio и качеству ответа на реальном traffic mix.
Типичные ошибки
- Думать, что draft model просто заменяет основную модель.
- Не объяснить, кто генерирует, а кто валидирует.
- Не связать acceptance ratio с похожестью draft и target распределений.
Как отвечать на собеседовании
- Отвечай через пару draft model и target model.
- После механики сразу назови метрики: latency, throughput, acceptance ratio, quality guardrails.