Skip to content

詞彙表與資料

源码版本v0.25.1

核心術語

術語英文說明
引擎參數EngineArgs全部啟動參數,派生 VllmConfig。vllm/engine/arg_utils.py
全局配置VllmConfig模型/快取/排程/並行等子配置聚合體。vllm/config/__init__.py
LLM 離線類LLM同步離線生成入口,LLM.generatevllm/entrypoints/llm.py
非同步 LLMAsyncLLMEngineClient 非同步實現,服務端入口。vllm/v1/engine/async_llm.py
LLM 引擎LLMEnginev1 薄殼,add_request/step,委託給 EngineCore。vllm/v1/engine/llm_engine.py
引擎核心EngineCore真正的核心,組合 scheduler+worker+kv cache。vllm/v1/engine/core.py
引擎核心行程EngineCoreProcZMQ 後臺行程殼,繼承自 EngineCore。vllm/v1/engine/core.py
引擎客戶端EngineCoreClientInproc/MP/AsyncMP 客戶端 ABC。vllm/v1/engine/core_client.py
同行程客戶端InprocClient不開行程,直接調 step_fnvllm/v1/engine/core_client.py
多行程客戶端MPClient多行程同步,經 ZMQ 通訊。vllm/v1/engine/core_client.py
排程器Schedulerwaiting/running 佇列、schedule、搶佔 (preemption)。vllm/v1/core/sched/scheduler.py
請求佇列RequestQueueFCFS / Priority 兩種策略。vllm/v1/core/sched/queue.py
連續批次Continuous Batching每步動態拼批,prefill 與 decode 混跑。vllm/v1/core/sched/scheduler.py
搶佔Preemption顯存不足時把 running 請求換出,騰位置給新請求。vllm/v1/core/sched/scheduler.py
執行器ExecutorUniProc/Multiproc/Ray 三種。vllm/v1/executor/
Ray 分佈式執行器RayDistributedExecutor跨節點 Ray 集群排程 worker。vllm/v1/executor/ray_distributed_executor.py
WorkerWorker分佈式環境 + GPU 執行單元。vllm/v1/worker/gpu_worker.py
模型運行器GPUModelRunnerexecute_modelinput_batch、cudagraph 管理。vllm/v1/worker/gpu_model_runner.py
微批ubatch在一個 step 內部把請求再切微批,適配 cudagraph。vllm/v1/worker/gpu_model_runner.py
CUDA 圖cudagraph預錄製的 kernel 序列,固定 shape,消除 launch 開銷。vllm/v1/worker/gpu_model_runner.py
預設模型載入器DefaultModelLoader從 HF/s3 等拉權重,safetensors / pytorch 格式。vllm/model_executor/model_loader/default_loader.py
列並行線性層ColumnParallelLinear權重按輸出維切分,forward 後 all-gather 或在 RowParallel 前 reduce。vllm/model_executor/layers/linear.py
QKV 並行線性層QKVParallelLinearQ/K/V 一起按 head 切,合併 GQA/MQA 的投影。vllm/model_executor/layers/linear.py
行並行線性層RowParallelLinear權重按輸入維切,forward 後 all-reduce。vllm/model_executor/layers/linear.py
KV 快取管理器KVCacheManagerblock 分配與生命週期,跨 group。vllm/v1/core/kv_cache_manager.py
KV 快取協調器KVCacheCoordinatorHybrid/Unitary/NoPrefixCache 三種。vllm/v1/core/kv_cache_coordinator.py
塊池BlockPoolPagedAttention 塊分配 + prefix cache LRU。vllm/v1/core/block_pool.py
分頁注意力PagedAttention按 block 切分 KV cache,避免連續記憶體碎片。csrc/attention/
前綴快取Prefix Caching共享前綴的 KV block 跨請求複用。vllm/v1/core/kv_cache_manager.py
注意力後端AttentionBackendFlashAttention/FlashInfer/Triton/MLA 抽象層。vllm/v1/attention/backend.py
FlashAttentionFlashAttentionDao Labs 的 flash_attn kernel,FA2/3/4 自適應。vllm/v1/attention/backends/flash_attn.py
FlashInferFlashInferFlashInfer 項目 kernel,GQA/FP8/大 page 原生支持。vllm/v1/attention/backends/flashinfer.py
TritonTriton純 Python Triton kernel,fp32 與邊緣量化兜底。vllm/v1/attention/backends/triton_attn.py
潛空間注意力MLAMulti-head Latent Attention,DeepSeek 系列,快取 latent + RoPE。vllm/v1/attention/backends/mla/
採樣器Samplerforward/sample,logits → token。vllm/v1/sample/sampler.py
Logits 處理器LogitsProcessor採樣前的 logits 變換抽象,argmax-invariant 分類。vllm/v1/sample/logits_processor/interface.py
並行態parallel_stateTP/PP/DP 通訊組全局單例。vllm/distributed/parallel_state.py
組協調器GroupCoordinatorProcessGroup 封裝,持 CPU/device 雙 group。vllm/distributed/parallel_state.py
張量並行TPTensor Parallelism,權重按維度切,前向時 all-reduce/all-gather。
流水線並行PPPipeline Parallelism,模型按層切分到多 GPU,微批流水。

目錄約定

  • 源碼:vllm-project/vllm,主代碼在 vllm/(Python),CUDA kernel 在 csrc/
  • v0.25 已切到 v1 架構:vllm/v1/ 是主戰場,vllm/engine/ 多為別名。
  • 入口:vllm/entrypoints/(llm.py 離線、openai/ server、cli/)。

官方資料

源碼版本

本站源碼版本釘定 v0.25.1,行號以該 tag 為準。所有 SrcLink 指向 github.com/vllm-project/vllm/blob/v0.25.1/<path>#Lxx-Lyy。升版本改 docs/.vitepress/site.tsVLLM_TAG 再跑 npm run check:refs