PFlash: 10× ускорение prefill локального LLM на одной RTX 3090
Lucebox опубликовала PFlash — спекулятивный prefill, который сокращает обработку 128K токенов на Qwen3.6-27B с 257 до 24,8 секунды. MIT, C++/CUDA.

257 секунд. Столько ждёт владелец RTX 3090, скармливая Qwen3.6-27B контекст в 128 тысяч токенов через llama.cpp. Четыре минуты пустого экрана до первого токена ответа. Lucebox в выходные выкатила PFlash — и сократила это время до 24,8 секунды.
Как работает спекулятивный prefill
Идея — взять у спекулятивного декодинга принцип «маленькая модель помогает большой» и развернуть его в обратную сторону. Не ускорять генерацию, а ускорять прогрев промпта.
Перед тем как 27B-модель тронет хоть один токен, маленький драфтер Qwen3-0.6B пробегает по всему промпту и оценивает важность каждого токена. Большая модель потом обрабатывает только спаны, которые драфтер пометил значимыми, пропуская куски, которые ничего не добавляют к ответу. Алгоритм сборки взят из Cross-Family Speculative Prefill (ICLR 2026), а sparse-attention forward — из FlashPrefill 2026.
В цифрах:
| Контекст | llama.cpp | PFlash | Ускорение |
|---|---|---|---|
| 64K | 134,95 с | 13,5 с | 10,0× |
| 128K | ≈257 с | 24,8 с | 10,4× |
После prefill декод идёт обычной скоростью — около 74 токенов в секунду на той же RTX 3090. Это не магия, это переразложение бюджета: prefill раньше съедал 95% времени, теперь — половину.
Кому подойдёт прямо сейчас
PFlash — не движок, это демон поверх dflash, написанный целиком на C++ и CUDA (Python-обвязка занимается только бенчмарками). Лицензия — MIT, репозиторий открыт. Требования — одна 24-гигабайтная карта (3090 — референс), CUDA sm_80+ для полной скорости (Turing работает с просадкой). Связка моделей жёсткая: Qwen3.6-27B Q4_K_M в качестве target и Qwen3-0.6B BF16 в качестве drafter.
Главный нюанс — пока валидирована только single-needle NIAH-задача (поиск иголки в стоге). На multi-document QA авторы не проверяли, а именно там спекулятивный prefill теоретически может «потерять» нужный токен и испортить ответ. Чтобы переехать на другую пару моделей, придётся переподобрать пороги селекции — это не «опубликовали PFlash, скачали, пошёл». Это инструмент для команд, которые знают, зачем им именно Qwen3.6-27B локально и готовы пилить под себя.
Куда это всё движется
PFlash — частный случай большого тренда: движение оптимизации локального инференса с уровня атомов (квантизация, ядра внимания) на уровень молекул (что вообще считать). TurboQuant от Google в апреле сжимал KV-кеш в 17 раз; Taalas LLM Burner в марте прожигал модель в кремний для 10K токенов в секунду. PFlash идёт по той же линии — спрашивает «а что если просто не считать всё?».
Для индустрии это означает, что разница между «модель большого облачного провайдера» и «модель на RTX 3090 у меня дома» сжимается не только потому, что open-source модели подтягиваются по качеству. Сжимается скорость инференса. На длинных контекстах — самой больной зоне локального LLM — теперь можно жить без четырёхминутного ожидания. И это меняет, какой класс задач разумно тащить себе на железо, а какой — оставлять у поставщика.
