Ce face Lungimea contextului (--max-model-len)
--max-model-len stabilește lungimea contextului modelului, prompt plus ieșire. Nesetat, valoarea se ia din configurația modelului. Acceptă sufixe: 1k = 1.000, 1K = 1.024, 25.6k = 25.600.
Cu -1 sau auto, vLLM alege cea mai mare lungime care încape în memoria GPU: lungimea maximă a modelului dacă încape, altfel cea mai mare posibilă.
Pagina Conserving Memory recomandă limitarea contextului (max_model_len) și a batch-ului (max_num_seqs) pentru a reduce memoria. La pornire, jurnalul arată câte cereri de lungime maximă pot rula simultan (Maximum concurrency for ... tokens per request).
Sintaxă și opțiuni
| Opțiune / Parametru | Descriere |
|---|---|
--max-model-len N |
Lungimea contextului în tokeni (acceptă k/m/g/K/M/G). |
--max-model-len auto | -1 |
Cea mai mare lungime care încape în memoria GPU. |
--max-num-seqs |
Numărul maxim de secvențe într-o iterație; împreună cu lungimea determină memoria. |
Exemple practice
Exemplul 1: Context de 2048 de tokeni
Din ghidul Draft Models.
vllm serve Qwen/Qwen3-4B-Thinking-2507 --max-model-len 2048
Exemplul 2: Lungimea care încape automat
vllm serve MODEL --max-model-len auto
Exemplul 3: Context și batch mici (Python)
Exemplul din Conserving Memory.
from vllm import LLM
llm = LLM(model="Qwen/Qwen2.5-VL-3B-Instruct", max_model_len=2048, max_num_seqs=2)
Greșeli frecvente și bune practici
- Setezi o valoare mai mare decât suportă modelul, sperând la context mai lung. Valoarea limitează, nu extinde capacitatea modelului.
- Folosești contextul maxim al modelului pe un GPU mic și pornirea eșuează; încearcă
autosau o valoare mai mică. - Dezactivezi chunked prefill și lași
--max-num-batched-tokenssub--max-model-len; documentația avertizează că serverul poate eșua la pornire.