Skip to content

Glosario y referencias

源码版本v0.25.1

Términos clave

TérminoInglésDescripción
Argumentos del motorEngineArgsTodos los parámetros de inicio,deriva VllmConfig. vllm/engine/arg_utils.py
Configuración globalVllmConfigAgregado de sub-configs modelo/caché/planificación/paralelismo. vllm/config/__init__.py
LLM offlineLLMEntrada síncrona para generación offline,LLM.generate. vllm/entrypoints/llm.py
LLM asíncronoAsyncLLMImplementación asíncrona de EngineClient,entrada del lado servidor. vllm/v1/engine/async_llm.py
Motor LLMLLMEngineCáscara fina v1,add_request/step,delega en EngineCore. vllm/v1/engine/llm_engine.py
Núcleo del motorEngineCoreEl núcleo real,combina scheduler+worker+kv cache. vllm/v1/engine/core.py
Proceso del núcleo del motorEngineCoreProcEnvoltura de proceso en background por ZMQ,hereda de EngineCore. vllm/v1/engine/core.py
Cliente del motorEngineCoreClientABC de cliente Inproc/MP/AsyncMP. vllm/v1/engine/core_client.py
Cliente en procesoInprocClientNo abre proceso,llama directamente a step_fn. vllm/v1/engine/core_client.py
Cliente multiprocesoMPClientMultiproceso síncrono,comunica por ZMQ. vllm/v1/engine/core_client.py
PlanificadorSchedulerColas waiting/running,schedule,preemption (preemption). vllm/v1/core/sched/scheduler.py
Cola de peticionesRequestQueueDos estrategias: FCFS / Priority. vllm/v1/core/sched/queue.py
Batching continuoContinuous BatchingCompone el batch dinámicamente en cada paso,prefill y decode mezclados. vllm/v1/core/sched/scheduler.py
PreemptionPreemptionCuando no hay memoria de GPU,se intercambia (swap out) una petición running para dejar hueco a nuevas. vllm/v1/core/sched/scheduler.py
ExecutorExecutorTres tipos: UniProc/Multiproc/Ray. vllm/v1/executor/
Executor distribuido de RayRayDistributedExecutorPlanifica workers en un cluster Ray entre nodos. vllm/v1/executor/ray_distributed_executor.py
WorkerWorkerEntidad de ejecución GPU + entorno distribuido. vllm/v1/worker/gpu_worker.py
Runner del modeloGPUModelRunnerexecute_model, input_batch,gestión de cudagraph. vllm/v1/worker/gpu_model_runner.py
Micro-batchubatchDentro de un paso,vuelve a trocear las peticiones en micro-batches,se adapta a cudagraph. vllm/v1/worker/gpu_model_runner.py
Grafo CUDAcudagraphSecuencia de kernels pregrabada,con shape fijo,elimina el overhead de launch. vllm/v1/worker/gpu_model_runner.py
Cargador de modelo por defectoDefaultModelLoaderDescarga pesos desde HF/s3 etc.,formato safetensors / pytorch. vllm/model_executor/model_loader/default_loader.py
Capa lineal paralela por columnasColumnParallelLinearPesos cortados por la dimensión de salida;tras forward,all-gather o reduce antes de RowParallel. vllm/model_executor/layers/linear.py
Capa lineal QKV paralelaQKVParallelLinearQ/K/V se cortan juntos por head,proyección combinada de GQA/MQA. vllm/model_executor/layers/linear.py
Capa lineal paralela por filasRowParallelLinearPesos cortados por la dimensión de entrada;tras forward,all-reduce. vllm/model_executor/layers/linear.py
Gestor de caché KVKVCacheManagerAsignación y ciclo de vida de los blocks,entre grupos. vllm/v1/core/kv_cache_manager.py
Coordinador de caché KVKVCacheCoordinatorTres tipos: Hybrid/Unitary/NoPrefixCache. vllm/v1/core/kv_cache_coordinator.py
Pool de blocksBlockPoolAsignación de blocks para PagedAttention + LRU de prefix cache. vllm/v1/core/block_pool.py
PagedAttentionPagedAttentionCorta la KV cache por blocks,evita la fragmentación de memoria contigua. csrc/attention/
Prefix cachingPrefix CachingReutiliza los KV blocks de prefijos comunes entre peticiones. vllm/v1/core/kv_cache_manager.py
Backend de atenciónAttentionBackendCapa de abstracción para FlashAttention/FlashInfer/Triton/MLA. vllm/v1/attention/backend.py
FlashAttentionFlashAttentionKernel flash_attn de Dao Labs,FA2/3/4 autoadaptativo. vllm/v1/attention/backends/flash_attn.py
FlashInferFlashInferKernel del proyecto FlashInfer,sporte nativo de GQA/FP8/page grande. vllm/v1/attention/backends/flashinfer.py
TritonTritonKernel Triton puro Python,soporte de respaldo para fp32 y cuantización en el borde. vllm/v1/attention/backends/triton_attn.py
Atención de espacio latenteMLAMulti-head Latent Attention,familia DeepSeek,almacena latent + RoPE. vllm/v1/attention/backends/mla/
SamplerSamplerforward/sample,logits → token. vllm/v1/sample/sampler.py
Procesador de logitsLogitsProcessorAbstracción de transformación de logits antes del sampling,argmax-invariant. vllm/v1/sample/logits_processor/interface.py
Estado de paralelismoparallel_stateSingleton global de grupos de comunicación TP/PP/DP. vllm/distributed/parallel_state.py
Coordinador de grupoGroupCoordinatorEnvoltorio de ProcessGroup,mantiene un group CPU y un group device. vllm/distributed/parallel_state.py
Paralelismo de tensoresTPTensor Parallelism,pesos cortados por dimensión,durante el forward all-reduce/all-gather.
Paralelismo de pipelinePPPipeline Parallelism,modelo cortado por capas en varias GPUs,micro-batching en flujo.

Convenciones de directorio

  • Código fuente: vllm-project/vllm,el código principal está en vllm/ (Python),los kernels CUDA en csrc/.
  • v0.25 ya usa la arquitectura v1: vllm/v1/ es el terreno principal,vllm/engine/ es sobre todo alias.
  • Entradas: vllm/entrypoints/ (llm.py offline,openai/ server,cli/).

Referencias oficiales

Versión del código fuente

Este sitio fija la versión del código fuente en v0.25.1,los números de línea se refieren a ese tag. Todos los SrcLink apuntan a github.com/vllm-project/vllm/blob/v0.25.1/<path>#Lxx-Lyy. Para cambiar de versión,edita VLLM_TAG en docs/.vitepress/site.ts y luego ejecuta npm run check:refs.