Skip to content

Glossaire et ressources

源码版本v0.25.1

Termes clés

TermeAnglaisExplication
Paramètres du moteurEngineArgsTous les paramètres de lancement, dérive VllmConfig. vllm/engine/arg_utils.py
Configuration globaleVllmConfigAgrégat des sous-configs modèle/cache/scheduling/parallélisme. vllm/config/__init__.py
Classe LLM offlineLLMEntrée synchrone de génération offline, LLM.generate. vllm/entrypoints/llm.py
LLM asynchroneAsyncLLMImplémentation async de EngineClient, entrée server-side. vllm/v1/engine/async_llm.py
Moteur LLMLLMEngineCoquille fine v1, add_request/step, délègue à EngineCore. vllm/v1/engine/llm_engine.py
Cœur du moteurEngineCoreLe vrai cœur, compose scheduler + worker + kv cache. vllm/v1/engine/core.py
Processus du cœurEngineCoreProcEnveloppe de processus arrière ZMQ, hérite d'EngineCore. vllm/v1/engine/core.py
Client du moteurEngineCoreClientABC des clients Inproc/MP/AsyncMP. vllm/v1/engine/core_client.py
Client in-processInprocClientN'ouvre pas de processus, appelle step_fn directement. vllm/v1/engine/core_client.py
Client multi-processusMPClientSynchrone multi-processus, communique via ZMQ. vllm/v1/engine/core_client.py
OrdonnanceurSchedulerFiles waiting/running, schedule, préemption (preemption). vllm/v1/core/sched/scheduler.py
File de requêtesRequestQueueDeux stratégies : FCFS / Priority. vllm/v1/core/sched/queue.py
Batching continuContinuous BatchingAssemble dynamiquement les batches à chaque étape, mixte prefill et decode. vllm/v1/core/sched/scheduler.py
PréemptionPreemptionQuand la mémoire GPU est saturée, swap out les requêtes running pour libérer de la place. vllm/v1/core/sched/scheduler.py
ExécuteurExecutorTrois types : UniProc/Multiproc/Ray. vllm/v1/executor/
Exécuteur Ray distribuéRayDistributedExecutorOrdonnance les workers sur un cluster Ray multi-nœuds. vllm/v1/executor/ray_distributed_executor.py
WorkerWorkerUnité d'exécution distribué + GPU. vllm/v1/worker/gpu_worker.py
Runner de modèleGPUModelRunnerexecute_model, input_batch, gestion cudagraph. vllm/v1/worker/gpu_model_runner.py
Micro-batchubatchDans un step, re-découpe les requêtes en micro-batchs pour s'adapter au cudagraph. vllm/v1/worker/gpu_model_runner.py
CUDA graphcudagraphSéquence de kernels préenregistrée, shape fixe, élimine le surcoût de lancement. vllm/v1/worker/gpu_model_runner.py
Chargeur de modèle par défautDefaultModelLoaderTire les poids depuis HF/s3 etc., formats safetensors / pytorch. vllm/model_executor/model_loader/default_loader.py
Couche linéaire colonne-parallèleColumnParallelLinearPoids découpés sur la dimension de sortie, all-gather après forward ou reduce avant RowParallel. vllm/model_executor/layers/linear.py
Couche linéaire QKV parallèleQKVParallelLinearQ/K/V découpés ensemble par head, fusionne les projections GQA/MQA. vllm/model_executor/layers/linear.py
Couche linéaire ligne-parallèleRowParallelLinearPoids découpés sur la dimension d'entrée, all-reduce après forward. vllm/model_executor/layers/linear.py
Gestionnaire de cache KVKVCacheManagerAllocation et cycle de vie des blocks, inter-groupes. vllm/v1/core/kv_cache_manager.py
Coordonnateur de cache KVKVCacheCoordinatorTrois variantes : Hybrid/Unitary/NoPrefixCache. vllm/v1/core/kv_cache_coordinator.py
Pool de blocksBlockPoolAllocation des blocks PagedAttention + LRU du prefix cache. vllm/v1/core/block_pool.py
Attention paginéePagedAttentionDécoupe le KV cache en blocks pour éviter la fragmentation mémoire. csrc/attention/
Cache de préfixePrefix CachingRéutilise les KV blocks de préfixes communs entre requêtes. vllm/v1/core/kv_cache_manager.py
Backend d'attentionAttentionBackendCouche d'abstraction FlashAttention/FlashInfer/Triton/MLA. vllm/v1/attention/backend.py
FlashAttentionFlashAttentionKernel flash_attn de Dao Labs, auto-adaptatif FA2/3/4. vllm/v1/attention/backends/flash_attn.py
FlashInferFlashInferKernel du projet FlashInfer, support natif GQA/FP8/large page. vllm/v1/attention/backends/flashinfer.py
TritonTritonKernel Triton en pur Python, fallback fp32 et quantization edge. vllm/v1/attention/backends/triton_attn.py
Attention à latentMLAMulti-head Latent Attention, série DeepSeek, cache le latent + RoPE. vllm/v1/attention/backends/mla/
SamplerSamplerforward/sample, logits → token. vllm/v1/sample/sampler.py
Processeur de logitsLogitsProcessorAbstraction de transformation des logits avant sampling, classification argmax-invariant. vllm/v1/sample/logits_processor/interface.py
État de parallélismeparallel_stateSingleton global des groupes de communication TP/PP/DP. vllm/distributed/parallel_state.py
Coordonnateur de groupeGroupCoordinatorEncapsulation ProcessGroup, tient des groupes CPU/device. vllm/distributed/parallel_state.py
Parallélisme de tenseursTPTensor Parallelism, poids découpés par dimension, all-reduce/all-gather au forward.
Parallélisme de pipelinePPPipeline Parallelism, modèle découpé par couches sur plusieurs GPU, pipeline de micro-batchs.

Conventions de répertoire

  • Code source : vllm-project/vllm, code principal dans vllm/ (Python), kernels CUDA dans csrc/.
  • v0.25 est passé à l'architecture v1 : vllm/v1/ est le terrain principal, vllm/engine/ est surtout des alias.
  • Entrées : vllm/entrypoints/ (llm.py offline, openai/ server, cli/).

Ressources officielles

Version du code source

Ce site pointe vers la version v0.25.1 ; les numéros de ligne se réfèrent à ce tag. Tous les SrcLink visent github.com/vllm-project/vllm/blob/v0.25.1/<path>#Lxx-Lyy. Pour monter de version, modifier VLLM_TAG dans docs/.vitepress/site.ts puis lancer npm run check:refs.