Linux 或者 Ubuntu 离线使用 vllm启动大模型

张开发
2026/4/12 0:28:57 15 分钟阅读

分享文章

Linux 或者 Ubuntu 离线使用 vllm启动大模型
使用vllm启动QWQ-32B的命令完整的命令如下python-mvllm.entrypoints.openai.api_server\--model/root/.cache/modelscope/hub/models/Qwen/QwQ-32B\--tensor-parallel-size4\--host0.0.0.0\--port8000\--max-num-batched-tokens2048\--gpu-memory-utilization0.85\--hosted-model-name QwQ-32B参数详解1.python -m vllm.entrypoints.openai.api_server启动的是vLLM 的 OpenAI API 兼容服务器这个服务器对外提供与 OpenAI API 类似的接口如/v1/chat/completions可以用curl、Python SDK 或前端调用兼容 OpenAI 格式请求2.--model /root/.cache/modelscope/hub/models/Qwen/QwQ-32B指定要加载的模型路径这里是本地存储的QwQ-32B模型通常是一个 HuggingFace 风格的模型文件夹支持 GGUF、HuggingFace、以及经过 vLLM 转换后的张量并行模型3.--tensor-parallel-size 4表示使用4 块 GPU来进行Tensor Parallelism张量并行QwQ-32B 是一个大模型单卡放不下所以需要拆分到多个 GPU 上推理如果你有 4 张卡这个设置合理如果只有 1 张卡就设为--tensor-parallel-size 14.--host 0.0.0.0设置监听地址为所有网络接口这样可以从外部访问该服务比如从其他机器通过 IP 访问如果只想本机访问可以改为--host 127.0.0.15.--port 8000设置服务监听的端口号为8000可以通过浏览器或 API 请求访问http://localhost:8000或http://ip:80006.--max-num-batched-tokens 2048控制每次 batch 中最多处理多少个 token输入 输出增大这个值可以提高吞吐量但会占用更多显存默认值通常是 2560 左右这里设为 2048 是为了控制显存使用7.--gpu-memory-utilization 0.85设置 GPU 显存使用率为 85%这是为了防止 OOMOut Of Memory留出一部分缓冲空间默认值是0.9如果你的显存较小可以适当降低如 0.78.--hosted-model-name QwQ-32B它表示虽然模型实际路径是 /root/.cache/…但对外暴露的模型名是 QwQ-32B要让MODEL_NAME QwQ-32B成功调用你的本地模型你需要在启动 vLLM 服务时加上一个参数--hosted-model-name QwQ-32B\# 也就是--host0.0.0.0\--port8000\--model/root/.cache/modelscope/hub/models/Qwen/QwQ-32B\--hosted-model-name QwQ-32B\它表示虽然模型实际路径是/root/.cache/...但对外暴露的模型名是QwQ-32B示例请求使用 curl可以使用如下命令测试服务是否正常运行curlhttp://localhost:8000/v1/chat/completions\-HContent-Type: application/json\-d{ model: QwQ-32B, messages: [{role: user, content: 讲个笑话吧}] }示例请求代码使用pythonimportopenai clientopenai.OpenAI(base_urlhttp://localhost:8000/v1,api_keyEMPTY# 如果没有启用鉴权可以为空)completionclient.chat.completions.create(modelQwQ-32B,# ← 这里就能用了messages[{role:user,content:你好请讲个笑话。}])print(completion.choices[0].message.content)

更多文章