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 preloadcu--pipeline-parallel-size; pipeline parallelism este respins. - Folosești același port pentru
--weight-cache-master-portși--master-port.