尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

vLLM requirements 怎么选:依赖管理与避坑指南

vLLM requirements 怎么选:依赖管理与避坑指南 vLLM requirements 怎么选依赖管理与避坑指南【免费下载链接】vllmA high-throughput and memory-efficient inference and serving engine for LLMs项目地址: https://gitcode.com/GitHub_Trending/vl/vllmvLLM 的 requirements 目录把依赖拆成了多个文件common.txt 是公共底座cuda、rocm、xpu、tpu、cpu 各有一份硬件补丁。vLLM requirements 怎么选、装完遇到依赖冲突怎么排查是部署前最常卡住的两个点。这篇文章直接给结论按硬件对号入座选文件讲清楚文件之间的继承关系再列出最频繁的三个坑和修法。一、30 秒选文件按硬件直接对号入座先看硬件再看角色两问定文件部署环境安装文件备注NVIDIA GPUpip install -r requirements/cuda.txt生产推理默认入口AMD GPUROCmpip install -r requirements/rocm.txt配合官方 ROCm 基础镜像使用Intel GPUXPUpip install -r requirements/xpu.txt含 xpu 专属 wheel 源Google TPUpip install -r requirements/tpu.txt依赖 Ray 做多机通信纯 CPU含 macOS 开发机pip install -r requirements/cpu.txt调试、功能验证几个补充判断要参与开发或跑完整测试用dev.txt。它只有两行分别引用lint.txt和test/cuda.txt不要往里面直接加包。test/子目录里的cuda.txt、rocm.txt、xpu.txt是 uv 生成的锁定结果由对应的.in文件约束而来只服务 CI不是给人手动安装的。TPU 和 XPU 没有轻量版文件里直接带了ray、cmake这类重依赖装之前确认目标机器是裸机加 conda/virtualenv 环境。二、为什么拆这么多文件公共底座加硬件补丁拆开看每个文件结构高度一致只有三种写法第一行-r common.txt继承公共底座。所有硬件文件都从这里拉取 transformers、tokenizers、fastapi、pydantic、numpy 这类跨平台依赖改一处全部生效。带;的平台条件同一条依赖按机器架构取不同取值装包时 pip 会自动判断当前机器命中哪条。版本约束三种风格并存推理链路上的包用精确锁版本如lm-format-enforcer 0.11.3核心组件用区间约束如transformers 5.10.4辅助库只写包名如numpy保留最大灵活性。common.txt里的条件依赖长这样机器架构不在列表里时整条自动跳过llguidance 1.7.0, 1.8.0; platform_machine x86_64 or platform_machine arm64 or platform_machine aarch64 or platform_machine ppc64le or platform_machine s390x xgrammar 0.2.1, 1.0.0; platform_machine x86_64 or platform_machine aarch64 or platform_machine s390x继承关系一张图说清三、分硬件讲透版本配对与取舍各硬件最关键的版本配对一张表收拢硬件锁定版本配对关系NVIDIAtorch 2.13.0 torchvision 0.28.0 torchaudio 2.11.0三者必须同批升级NVIDIAflashinfer 0.6.17只发布在官方专属 wheel 源AMDtilelang 0.1.10 apache-tvm-ffi 0.1.10与 cuda 侧的 0.1.12/0.1.11 不同步Intel XPUtriton 3.7.2xpuxpu 后缀构建来自 vllm 自有 wheel 源纯 CPUtorch 2.13.0cpux86_64/s390x/aarch64其余平台取普通构建NVIDIA GPU 的配对逻辑。torch 2.13.0 与 torchvision 0.28.0、torchaudio 2.11.0 是成套的文件内注释明确要求三者同步更新单独升级任何一个都会触发 ABI 或接口错误。flashinfer 走的是 cuda.txt 里声明的--extra-index-url指向 flashinfer.ai 的 wheel 仓库PyPI 上装不到它的flashinfer-cubin从 0.6.14 起也没上 PyPI官方 wheel 已把这条 pin 从安装依赖中剔除手动装 0.6.17 时保留这条 extra-index 即可。AMD ROCm 的取舍。torch 本体不在 rocm.txt 里锁版本跟随基础镜像自带的 ROCm 构建文件里真正锁死的是grpcio1.78.0与grpcio-reflection1.78.0这对必须同版本的库以及conch-triton-kernels1.2.1、amd-quark0.12.post1Quark 量化用。注意 tilelang 和 apache-tvm-ffi 在 cuda 与 rocm 两侧版本不一致混用两套环境里的缓存会报版本不匹配。Intel XPU 的特殊渠道。triton 用的是3.7.2xpu构建来自 vllm 自建的 xpu wheel 源torch 走 PyTorch 官方 xpu 仓库vllm_xpu_kernels0.1.13.2是 XPU 专属算子包换机器或换镜像时先确认这两个源可达。TPU 与纯 CPU。tpu.txt 依赖tpu-inference0.27.0和ray[default]/ray[data]多机通信全部压在 Ray 上。cpu.txt 用平台标记区分构建x86_64、s390x、aarch64 取cpu构建Darwin、ppc64le、riscv64 取普通构建intel-openmp2024.2.1仅 x86_64 安装py-cpuinfo仅 aarch64 安装用于识别 ARM Neoverse 核心做调度。四、高频坑 Top 3现象加修法坑 1CUDA 版本对不上。现象import torch后torch.version.cuda与驱动或容器内 toolkit 版本不一致或者启动时报libcudart.so找不到。python -c import torch; print(torch.__version__, torch.version.cuda) pip show vllm | grep -i location # 确认装到了目标环境修法别手装 torch删掉环境后重新pip install -r requirements/cuda.txt让 wheel 自带的 CUDA 版本整体进来。坑 2flashinfer 装不上。现象ERROR: Could not find a version that satisfies the requirement flashinfer-python0.6.17。原因是它不在 PyPI。pip install flashinfer-python0.6.17 flashinfer-cubin0.6.17 \ --extra-index-url https://flashinfer.ai/whl/坑 3pip 报依赖冲突。现象Cannot install vllm because these package versions have conflicting dependencies通常是环境里已有版本与 requirements 锁版打架。python -m venv vllm-env source vllm-env/bin/activate pip install -r requirements/cuda.txt pip check # 收尾校验干净环境重装是成本最低的路径pip check输出为空才算真正无冲突。五、上线前自检清单跑python -c import torch; print(torch.__version__)与硬件文件里的 pin当前 2.13.0逐字比对torchvision/torchaudio 一起核对。打开所用硬件文件确认第一行是-r common.txt说明继承链完整没有被手工改过。pip check无输出有输出就按提示回到对应 requirements 文件找锁版本。起一次最小推理vllm serve加载一个小模型发一条请求日志里无 import 告警再放量。用到外部 KV 缓存连接器时单独追加requirements/kv_connectors.txt含 lmcache、nixl 等不要混进主安装命令。requirements/ 目录就这一套文件common.txt 管公共底座硬件文件只打补丁升级时优先动 torch 三件套和第三节里的版本配对再同步 Dockerfile 与 test/ 下的约束文件。改完用第五节的清单过一遍依赖问题基本就收敛了。【免费下载链接】vllmA high-throughput and memory-efficient inference and serving engine for LLMs项目地址: https://gitcode.com/GitHub_Trending/vl/vllm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表