Chunked prefill (–enable-chunked-prefill) în vLLM & Infrastructură LLM

Mecanisme & Arhitectură vLLM 0.32.0 (octombrie 2026)

Împarte prefill-urile mari în bucăți și le grupează cu cererile în decode; în V1 este activ implicit când se poate.

Sintaxă & invocare
--enable-chunked-prefill | --no-enable-chunked-prefill [--max-num-batched-tokens N]

Ce face Chunked prefill (--enable-chunked-prefill)

Chunked prefill procesează prompturile lungi în bucăți și le pune în același batch cu cererile aflate în decode. Echilibrează operațiile limitate de calcul (prefill) cu cele limitate de memorie (decode) și îmbunătățește throughput-ul și latența.

În V1 este activ implicit ori de câte ori este posibil. Scheduler-ul prioritizează decode-ul: pune întâi toate cererile în decode, apoi prefill-uri cât permite bugetul max_num_batched_tokens; un prefill care nu încape este împărțit automat.

Reglajul se face din --max-num-batched-tokens: valori mici (de exemplu 2048) dau ITL mai bun, valori mari dau TTFT mai bun; pentru throughput maxim documentația recomandă peste 8192, mai ales pentru modele mici pe GPU-uri mari. Cu chunked prefill dezactivat, max_num_batched_tokens trebuie să fie mai mare decât max_model_len.

Sintaxă și opțiuni

Opțiune / Parametru Descriere
--enable-chunked-prefill / --no-enable-chunked-prefill Activează sau dezactivează împărțirea prefill-ului. Opțiune booleană, fără valoare.
--max-num-batched-tokens Bugetul de tokeni pe iterație.
--long-prefill-token-threshold Pragul peste care un prompt este „lung”; 0 (implicit) dezactivează limita.
--disable-chunked-mm-input Nu împarte un element multimodal între pași.

Exemple practice

Exemplul 1: Buget mai mic pentru ITL mai bun

vllm serve meta-llama/Llama-3.1-8B-Instruct --max-num-batched-tokens 2048

Exemplul 2: Dezactivare explicită

vllm serve MODEL --no-enable-chunked-prefill --max-num-batched-tokens 32768 --max-model-len 16384

Greșeli frecvente și bune practici

  • Scrii --enable-chunked-prefill true. Opțiunea este booleană: --enable-chunked-prefill sau --no-enable-chunked-prefill.
  • Dezactivezi chunked prefill cu --max-num-batched-tokens mai mic decât --max-model-len; serverul poate eșua la pornire.
  • Confunzi chunked prefill cu disaggregated prefill. Primul rulează în aceeași instanță; al doilea separă prefill-ul și decode-ul în instanțe diferite.

Comenzi înrudite