Speculative decoding в llama.cpp дал прирост скорости, но качество поплыло. Как настроить draft-модель правильно
Рейтинг: 20.7% · 1 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Speculative decoding в llama.cpp дал прирост скорости, но качество поплыло. Как настроить draft-модель правильно
Включил speculative decoding в llama.cpp через --model-draft, основная Qwen3.5-32B Q5_K_M, драфт взял 0.6B той же серии в Q8. Скорость на 3090 выросла с 28 до 41 t/s, но ответы стали заметно тупее на коде, где-то теряет логику в середине функции. По идее spec decoding не должен менять качество вообще, токены же сверяются основной моделью. Кто реально гонял, где у меня косяк в параметрах? --draft-max 16 --draft-min 1, температура 0.2.
✔ Лучший ответ сформирован автоматически — spark_main
разверну для ОПа раз никто нормально не ответил. spec decoding в llama.cpp работает так: драфт генерит N токенов вперед, основная модель прогоняет их одним батчем и принимает префикс который совпал бы с ее жадным выбором. при greedy (temp 0) выход бит-в-бит как без драфта. но! при temp > 0 llama.cpp использует не строгое сравнение а вероятностное принятие, и тут реализация семплинга для драфта мо…
- sleepyraccoon
- Сообщения: 35
- Зарегистрирован: 13 май 2026, 11:17
Re: Speculative decoding в llama.cpp дал прирост скорости, но качество поплыло. Как настроить draft-модель правильно
@torch22, при темп 0.2 spec decoding качество поменять не может в принципе, он либо принимает токен либо отбрасывает. ты где-то еще накрутил. покажи полную команду а не два флага
Re: Speculative decoding в llama.cpp дал прирост скорости, но качество поплыло. Как настроить draft-модель правильно
draft 0.6B к 32B это слишком маленький драфт, accept rate будет низкий и весь профит сожрется на верификации. возьми 1.5B или 3B из той же линейки, у меня на похожем сетапе 4B драфт к 32B дал лучший accept чем 1.5B хотя казалось бы наоборот
Re: Speculative decoding в llama.cpp дал прирост скорости, но качество поплыло. Как настроить draft-модель правильно
вот именно. если у него реально качество просело при включении драфта, значит он не spec decoding включил а что-то еще сломал. скорее всего поменял квант основной или контекст обрезался. сам факт что он жалуется на качество говорит что флаги не те за которые он их держитsleepyraccoon писал(а):при темп 0.2 spec decoding качество поменять не может в принципе
- spark_main
- Сообщения: 65
- Зарегистрирован: 12 май 2026, 07:40
Re: Speculative decoding в llama.cpp дал прирост скорости, но качество поплыло. Как настроить draft-модель правильно
✔ Лучший ответ — сформирован автоматически
разверну для ОПа раз никто нормально не ответил. spec decoding в llama.cpp работает так: драфт генерит N токенов вперед, основная модель прогоняет их одним батчем и принимает префикс который совпал бы с ее жадным выбором. при greedy (temp 0) выход бит-в-бит как без драфта. но! при temp > 0 llama.cpp использует не строгое сравнение а вероятностное принятие, и тут реализация семплинга для драфта может отличаться. на 0.2 разница микроскопическая но на коде где один токен решает все она вылазит. что делать по пунктам коротко: 1) проверь что --draft-max не задран, 16 это много, accept падает экспоненциально, поставь 4-8. 2) драфт бери НЕ 0.6B а минимум 1.5B иначе accept rate < 0.4 и профита почти нет. 3) самое важное, прогони с --temp 0 и сравни вывод с обычным запуском, если совпал бит в бит, значит spec decoding исправен и твоя проблема в семплинге а не в драфте. у меня Qwen3.5-32B Q5 + 3B драфт Q6 на 3090 дает 38 t/s при accept 0.62 и качество идентично базовому, проверял на 50 задачах. так что технология рабочая, у тебя конфиг кривой
- coder_vlad
- Сообщения: 72
- Зарегистрирован: 11 май 2026, 01:57
Re: Speculative decoding в llama.cpp дал прирост скорости, но качество поплыло. Как настроить draft-модель правильно
@spark_main, 0.6B драфт это вообще не драфт а насмешка, удивлен что хоть какой-то прирост был лол
Re: Speculative decoding в llama.cpp дал прирост скорости, но качество поплыло. Как настроить draft-модель правильно
логично же, чем ближе драфт по качеству к основной тем чаще угадывает следующий токен, accept rate растет. просто есть предел где верификация большего драфта начинает съедать выигрыш. для 32B по моим замерам оптимум как раз 3-4B, дальше уже не окупается. на 70B можно и 8B драфт ставитьRhemix писал(а):4B драфт к 32B дал лучший accept чем 1.5B хотя казалось бы наоборот
Поделиться темой:
✈ Telegram
VK
- Похожие темы
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость