vllm preload în vLLM & Infrastructură LLM

Server & Invocare CLI vLLM 0.32.0 (octombrie 2026)

Pornește câte un daemon pe GPU care ține greutățile deja cuantizate și împărțite în memoria GPU, ca engine-urile repornite să le preia prin CUDA IPC în loc să le reîncarce de pe disc.

Sintaxă & invocare
vllm preload --model MODEL [--tensor-parallel-size N] [--weight-cache-socket-dir DIR] [ARGUMENTE ENGINE]

Ce face vllm preload

vllm preload lansează câte un daemon de weight cache pe fiecare GPU. Fiecare daemon încarcă o dată greutățile rangului său (după cuantizare și împărțirea TP) și le oferă engine-urilor prin handle-uri CUDA IPC, pe un Unix domain socket. Un engine pornit cu --load-format ipc_cache mapează greutățile fără copiere, așa că repornirea durează secunde în loc de minute.

Dacă daemon-ul lipsește sau greutățile lui nu se potrivesc cu configurația engine-ului, engine-ul încarcă de pe disc. Funcția merge doar pe CUDA și ROCm; tensor, expert și data parallelism sunt suportate, inclusiv pe mai multe noduri, iar pipeline parallelism este respins la pornire. Daemon-ul însuși încarcă de pe disc: --load-format ipc_cache dat lui vllm preload este o eroare.

Dacă autotuning-ul FlashInfer nu este dezactivat (--no-enable-flashinfer-autotune), daemon-ul îl rulează la preîncărcare și scrie cache-ul, ca primul engine să nu mai plătească acest timp.

Sintaxă și opțiuni

Opțiune / Parametru Descriere
--weight-cache-socket-dir Directorul socket-urilor Unix ale daemon-urilor (implicit un director temporar).
--weight-cache-master-port Portul de rendezvous al grupului TP al daemon-ului; diferit de --master-port al engine-ului. Obligatoriu cu --nnodes mai mare ca 1.
--weight-cache-draft-master-port Portul pentru grupul daemon-ului draft MTP.
--weight-cache-health-port Portul endpoint-ului /health al procesului părinte; implicit dezactivat.
--weight-cache-health-host Adresa endpoint-ului /health. Implicit 0.0.0.0.
[argumente de engine] Argumentele standard (model, dtype, quantization, tensor-parallel-size etc.).

Exemple practice

Exemplul 1: Daemon-uri pe 4 GPU-uri, apoi engine-ul

vllm preload --model meta-llama/Llama-3.2-1B-Instruct --tensor-parallel-size 4

vllm serve meta-llama/Llama-3.2-1B-Instruct --tensor-parallel-size 4 \
    --load-format ipc_cache

Greșeli frecvente și bune practici

  • Pornești engine-ul cu altă configurație (alt TP, altă cuantizare) decât daemon-ul; engine-ul revine la încărcarea de pe disc.
  • Încerci vllm preload cu --pipeline-parallel-size; pipeline parallelism este respins.
  • Folosești același port pentru --weight-cache-master-port și --master-port.

Comenzi înrudite