ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

20分钟点亮LLM服务:vLLM部署一条命令路线实践

20分钟点亮LLM服务:vLLM部署一条命令路线实践 20分钟点亮LLM服务vLLM部署一条命令路线实践【免费下载链接】vllmA high-throughput and memory-efficient inference and serving engine for LLMs项目地址: https://gitcode.com/GitHub_Trending/vl/vllm敲下vllm serve Qwen/Qwen2.5-1.5B-Instruct --port 8000几分钟内一个 OpenAI 兼容的 LLM 服务就在本机跑起来了——这条命令是本次 vLLM 部署路线的终点而我们从机器条件开始一步步走到这里。vLLMVery Large Language Model Serving Engine是一个高吞吐、内存高效的 LLM 推理与服务引擎靠 PagedAttention 把 KV 缓存切成页来管理同样硬件下批量吞吐可比朴素批量推理提升 10~20 倍它的主战场是计算能力 7.5 及以上的 NVIDIA GPU。出门前vLLM 部署的硬件软件门槛自检先对照下面这张表达标就能开工想流畅跑 7B 以上模型就往推荐线靠项目最低线推荐线NVIDIA GPU计算能力 7.5T4、RTX 20xxA100 / H100 / L4显存 24GB 起步CPUx86_64 或 ARM8 核16 核以上支持 AVX2内存16GB32GB 以上磁盘10GB 可用100GB 以上 SSD放模型缓存操作系统LinuxUbuntu 22.04 及以上Python3.103.12CUDA12.8Blackwell B200/GB200 的下限12.9官方 wheel 默认编译版本⚠️ 官方预编译 wheel 默认按 CUDA 12.9 构建驱动偏旧的机器用 uv 的--torch-backendauto让工具自动匹配 PyTorch 源或手动选 cu128 的 wheel这是装完就报错的头号原因。vLLM 安装路线怎么选GPU、CPU、容器三条线路线 ANVIDIA GPU默认推荐uv venv --python 3.12 --seed --managed-python source .venv/bin/activate uv pip install vllm --torch-backendauto这步做了什么建一个隔离的 Python 3.12 环境然后装 vLLM。--torch-backendauto会探测本机 NVIDIA 驱动版本自动挑匹配的 PyTorch 索引cu128/cu129/cu130把装完报 CUDA 版本不符这类坑挡在安装阶段。习惯 pip 的话等价于pip install vllm --extra-index-url https://download.pytorch.org/whl/cu129。路线 B纯 CPU无 GPU 也能跑通uv venv --python 3.12 --seed source .venv/bin/activate uv pip install vllm[cpu] --extra-index-url https://download.pytorch.org/whl/cpuCPU 版不依赖 CUDA 驱动适合验证功能和跑小模型别拿它扛生产吞吐。路线 CDocker 容器最省心的部署方式docker run --runtime nvidia --gpus all \ -v ~/.cache/huggingface:/root/.cache/huggingface \ -p 8000:8000 --ipchost \ vllm/vllm-openai:latest \ --model Qwen/Qwen3-0.6B拉官方镜像并直接起服务挂载本地模型缓存避免重复下载映射 8000 端口。--ipchost是关键参数——vLLM 张量并行时进程间靠共享内存传数据缺了它会报共享内存不足。 需要改 C/CUDA 内核的再走源码路线git clone https://gitcode.com/GitHub_Trending/vl/vllm后一行uv pip install -e .完成完整构建反复改内核时看仓库里的 增量编译流程不必每次都全量重编。验证安装成功跑一个 10 行离线推理脚本把下面内容存成offline_demo.py首次运行会自动下载 125M 的小模型权重from vllm import LLM, SamplingParams prompts [ Hello, my name is, The capital of France is, ] sampling_params SamplingParams(temperature0.8, top_p0.95) llm LLM(modelfacebook/opt-125m) outputs llm.generate(prompts, sampling_params) for output in outputs: print(fPrompt: {output.prompt!r}) print(fOutput: {output.outputs[0].text!r})执行python offline_demo.py逐行说清每行在干什么from vllm import LLM, SamplingParamsLLM 是离线推理引擎调度、KV 缓存、采样全托管SamplingParams 是每个请求的生成配方。prompts待生成的提示词列表这里是两条用来顺带验证批量能力。temperature0.8, top_p0.95temperature 控制随机性设为 0 即确定性输出top_p 是核采样阈值保留累计概率 95% 的候选词。LLM(model...)加载权重并预分配 KV 缓存日志里出现 GPU KV cache size 一行说明显存规划完成。llm.generate(...)一次性提交两条请求返回 RequestOutput 列表每条提示词对应一个。output.outputs[0].text真正生成的文本output.prompt是原始提示词方便核对。看到每句提示词配上一段续写安装这条线就跑通了。显存不够、并发上不去4 个高频参数真正部署时的问题基本集中在这四类每个都按现象 → 参数 → 效果给最短答案现象服务刚启动就 CUDA out of memory。参数--gpu-memory-utilization 0.8默认 0.9。效果给激活值和显存碎片留约 10% 缓冲启动和峰值期不再撞墙。现象70B 级模型单卡放不下bf16 权重约 140GB。参数--tensor-parallel-size 2大模型加到 4。效果权重按层切片到多卡显存需求除以卡数。现象并发一高单请求延迟被拉高。参数--max-num-batched-tokens 16384 --max-num-seqs 256。效果continuous batching 每个 step 能塞进更多 token吞吐上限抬高一档。现象大量请求共享同一段长 system prompt重复计算浪费。参数--enable-prefix-caching。效果相同前缀的 KV 缓存直接命中多轮对话场景 prefill 耗时明显下降。上图是 TP2 配置下的进程分布理解--tensor-parallel-size的关键就在这里模型被横向切到多卡每个进程各算自己那份。报错了按这 4 个关键词查No module named vllm→ 定位pip show vllm确认装在当前激活的 venv 里 → 修复deactivate退出后按前面路线 A 或 B 的三行命令重装。CUDA out of memory→ 定位nvidia-smi看显存是否被别的进程占着 → 修复加--gpu-memory-utilization 0.8同时调小--max-num-batched-tokens。CUDA error / no kernel image available→ 定位nvidia-smi加python -c import torch; print(torch.cuda.get_device_capability())→ 修复计算能力低于 7.5 的卡不被支持换卡或重装与驱动匹配的 wheel。Connection refused8000 端口不通→ 定位curl http://localhost:8000/health再看vllm serve的启动日志 → 修复日志还在加载权重就等端口被占就换--port 8001。下一站跑通之后往哪走docs/serving/offline_inference.md离线LLMAPI 的完整参数说明做批量处理和 embedding 提取时看它。docs/usage/faq.md单端口多模型怎么服务、输出是否跨运行可复现等高频疑问的答案。docs/configuration/optimization.md性能优化的完整参数集比上面 4 个参数更细。随车工具卡常用命令速查功能命令创建 GPU 环境并安装uv venv --python 3.12 --seed --managed-python source .venv/bin/activate uv pip install vllm --torch-backendauto安装 CPU 版uv pip install vllm[cpu] --extra-index-url https://download.pytorch.org/whl/cpu一行 pip 安装CUDA 12.9pip install vllm --extra-index-url https://download.pytorch.org/whl/cu129启动 OpenAI 兼容服务vllm serve Qwen/Qwen2.5-1.5B-Instruct --port 8000启动官方容器docker run --runtime nvidia --gpus all -p 8000:8000 --ipchost vllm/vllm-openai:latest --model Qwen/Qwen3-0.6B跑离线推理脚本python offline_demo.py健康检查curl http://localhost:8000/health查看显存占用nvidia-smi查看 GPU 计算能力python -c import torch; print(torch.cuda.get_device_capability())【免费下载链接】vllmA high-throughput and memory-efficient inference and serving engine for LLMs项目地址: https://gitcode.com/GitHub_Trending/vl/vllm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表