Glosario y referencias
源码版本v0.25.1
Términos clave
| Término | Inglés | Descripción |
|---|---|---|
| Argumentos del motor | EngineArgs | Todos los parámetros de inicio,deriva VllmConfig. vllm/engine/arg_utils.py |
| Configuración global | VllmConfig | Agregado de sub-configs modelo/caché/planificación/paralelismo. vllm/config/__init__.py |
| LLM offline | LLM | Entrada síncrona para generación offline,LLM.generate. vllm/entrypoints/llm.py |
| LLM asíncrono | AsyncLLM | Implementación asíncrona de EngineClient,entrada del lado servidor. vllm/v1/engine/async_llm.py |
| Motor LLM | LLMEngine | Cáscara fina v1,add_request/step,delega en EngineCore. vllm/v1/engine/llm_engine.py |
| Núcleo del motor | EngineCore | El núcleo real,combina scheduler+worker+kv cache. vllm/v1/engine/core.py |
| Proceso del núcleo del motor | EngineCoreProc | Envoltura de proceso en background por ZMQ,hereda de EngineCore. vllm/v1/engine/core.py |
| Cliente del motor | EngineCoreClient | ABC de cliente Inproc/MP/AsyncMP. vllm/v1/engine/core_client.py |
| Cliente en proceso | InprocClient | No abre proceso,llama directamente a step_fn. vllm/v1/engine/core_client.py |
| Cliente multiproceso | MPClient | Multiproceso síncrono,comunica por ZMQ. vllm/v1/engine/core_client.py |
| Planificador | Scheduler | Colas waiting/running,schedule,preemption (preemption). vllm/v1/core/sched/scheduler.py |
| Cola de peticiones | RequestQueue | Dos estrategias: FCFS / Priority. vllm/v1/core/sched/queue.py |
| Batching continuo | Continuous Batching | Compone el batch dinámicamente en cada paso,prefill y decode mezclados. vllm/v1/core/sched/scheduler.py |
| Preemption | Preemption | Cuando no hay memoria de GPU,se intercambia (swap out) una petición running para dejar hueco a nuevas. vllm/v1/core/sched/scheduler.py |
| Executor | Executor | Tres tipos: UniProc/Multiproc/Ray. vllm/v1/executor/ |
| Executor distribuido de Ray | RayDistributedExecutor | Planifica workers en un cluster Ray entre nodos. vllm/v1/executor/ray_distributed_executor.py |
| Worker | Worker | Entidad de ejecución GPU + entorno distribuido. vllm/v1/worker/gpu_worker.py |
| Runner del modelo | GPUModelRunner | execute_model, input_batch,gestión de cudagraph. vllm/v1/worker/gpu_model_runner.py |
| Micro-batch | ubatch | Dentro de un paso,vuelve a trocear las peticiones en micro-batches,se adapta a cudagraph. vllm/v1/worker/gpu_model_runner.py |
| Grafo CUDA | cudagraph | Secuencia de kernels pregrabada,con shape fijo,elimina el overhead de launch. vllm/v1/worker/gpu_model_runner.py |
| Cargador de modelo por defecto | DefaultModelLoader | Descarga pesos desde HF/s3 etc.,formato safetensors / pytorch. vllm/model_executor/model_loader/default_loader.py |
| Capa lineal paralela por columnas | ColumnParallelLinear | Pesos 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 paralela | QKVParallelLinear | Q/K/V se cortan juntos por head,proyección combinada de GQA/MQA. vllm/model_executor/layers/linear.py |
| Capa lineal paralela por filas | RowParallelLinear | Pesos cortados por la dimensión de entrada;tras forward,all-reduce. vllm/model_executor/layers/linear.py |
| Gestor de caché KV | KVCacheManager | Asignación y ciclo de vida de los blocks,entre grupos. vllm/v1/core/kv_cache_manager.py |
| Coordinador de caché KV | KVCacheCoordinator | Tres tipos: Hybrid/Unitary/NoPrefixCache. vllm/v1/core/kv_cache_coordinator.py |
| Pool de blocks | BlockPool | Asignación de blocks para PagedAttention + LRU de prefix cache. vllm/v1/core/block_pool.py |
| PagedAttention | PagedAttention | Corta la KV cache por blocks,evita la fragmentación de memoria contigua. csrc/attention/ |
| Prefix caching | Prefix Caching | Reutiliza los KV blocks de prefijos comunes entre peticiones. vllm/v1/core/kv_cache_manager.py |
| Backend de atención | AttentionBackend | Capa de abstracción para FlashAttention/FlashInfer/Triton/MLA. vllm/v1/attention/backend.py |
| FlashAttention | FlashAttention | Kernel flash_attn de Dao Labs,FA2/3/4 autoadaptativo. vllm/v1/attention/backends/flash_attn.py |
| FlashInfer | FlashInfer | Kernel del proyecto FlashInfer,sporte nativo de GQA/FP8/page grande. vllm/v1/attention/backends/flashinfer.py |
| Triton | Triton | Kernel 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 latente | MLA | Multi-head Latent Attention,familia DeepSeek,almacena latent + RoPE. vllm/v1/attention/backends/mla/ |
| Sampler | Sampler | forward/sample,logits → token. vllm/v1/sample/sampler.py |
| Procesador de logits | LogitsProcessor | Abstracción de transformación de logits antes del sampling,argmax-invariant. vllm/v1/sample/logits_processor/interface.py |
| Estado de paralelismo | parallel_state | Singleton global de grupos de comunicación TP/PP/DP. vllm/distributed/parallel_state.py |
| Coordinador de grupo | GroupCoordinator | Envoltorio de ProcessGroup,mantiene un group CPU y un group device. vllm/distributed/parallel_state.py |
| Paralelismo de tensores | TP | Tensor Parallelism,pesos cortados por dimensión,durante el forward all-reduce/all-gather. |
| Paralelismo de pipeline | PP | Pipeline 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á envllm/(Python),los kernels CUDA encsrc/. - v0.25 ya usa la arquitectura v1:
vllm/v1/es el terreno principal,vllm/engine/es sobre todo alias. - Entradas:
vllm/entrypoints/(llm.pyoffline,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.