prefill
Фаза инференса, в которой обрабатывается весь входной промпт и заполняется KV-кеш.
Что такое prefill
Инференс трансформера делится на две принципиально разные фазы. Prefill — первая из них: модель обрабатывает весь входной промпт целиком, вычисляет K и V для каждого токена и сохраняет их в KV-кеш. На выходе prefill производит один токен — первый токен ответа.
Prefill выполняется как один большой матричный прогон (высокий параллелизм) — это compute-bound операция. GPU хорошо с ней справляется, но при длинных промптах время растёт линейно с длиной.
Prefill vs Decode
| Prefill | Decode | |
|---|---|---|
| Что происходит | Обработка всего промпта | Авторегрессивная генерация токенов |
| Параллелизм | Высокий (все токены сразу) | Низкий (по одному токену) |
| Тип операции | Compute-bound | Memory-bound |
| Влияет на | TTFT | TPOT |
Почему prefill важен для TTFT
TTFT (Time to First Token) — это почти целиком время prefill. Длинный системный промпт (RAG-контекст, много документов) = медленный TTFT. Именно поэтому prompt caching в первую очередь атакует prefill: если он уже посчитан — TTFT резко падает.
Связанные термины
- decode — следующая фаза после prefill
- KV-кеш — то, что заполняется в ходе prefill
- TTFT — метрика, зависящая от скорости prefill
- prompt caching — техника пропуска prefill для общих префиксов
Готовы запустить GPU-задачу?
Запустить GPU-сервер