A. Smyntyna / Code
ENRU

спекулятивное декодирование

speculative decoding

Приём ускорения, не стоящий качества. Маленькая черновая модель угадывает несколько следующих токенов, большая проверяет их все за один проход и оставляет те, с которыми согласна. Вывод получается идентичным запуску одной большой модели, а ускорение обычно 1,5–2× и определяется целиком тем, как часто маленькая угадывает.

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

Доля принятых зависит от задачи. Код и структурированный вывод идут высоко, потому что следующий токен часто предопределён, и сообщаемые ускорения доходят до 2–5×. Художественная проза идёт низко, и выигрыш может исчезнуть вовсе. Один опубликованный прогон с черновой моделью и Qwen3.6-35B-A3B на одной RTX 3090 не дал чистого ускорения вообще.

В LM Studio приём появился в v0.3.10 и по умолчанию выключен: вы загружаете основную модель, затем выбираете совместимую черновую в боковой панели, и программа проверяет, что у них общий токенизатор, прежде чем пустить дальше. А значит, любой прочитанный вами бенчмарк прогонялся без него, если не сказано иначе.

Читать дальше