AGAnchorGPU

工作负载指南

使用 vLLM 提供 LLM 服务

规划内存和并发,配置 vLLM 端点,并验证具有代表性的推理工作负载。

9 分钟阅读 · 更新于

定义服务契约

记录模型标识符和修订版本、权重格式、量化方式、最大上下文长度、提示长度分布、并发数和延迟目标。这些设置属于工作负载的一部分,而非可选的基准测试备注。

权重与 KV 缓存及临时工作区共享 GPU 内存。使用一个短提示成功加载的模型,在预期流量下仍可能耗尽内存。请保留运行余量,并测试允许的最长请求。

适合时从单个 GPU 开始

单 GPU 可避免 GPU 间通信,使首次部署更易于诊断。当模型和所需运行时状态无法容纳在单个加速器上,或有代表性测量证明拆分合理时,可考虑张量并行。

独立副本处理不同的请求;张量并行则拆分模型计算。它们解决的是不同的问题。目录中拥有多张卡的节点本身并不能证明存在特定的互连。

比较 H100 SXM 与 H100 PCIe

验证完整环境

AnchorGPU vllm 镜像在目录中适用于 NVIDIA 和 AMD。实际执行前,请确认实际的驱动程序、CUDA 或 ROCm 运行时、PyTorch、Python 和 vLLM 版本。同时检查模型架构、量化支持以及任何已编译的注意力内核。

此本地站点会保存配置,但不会运行远程模型服务器。以下命令应在已配置好所需软件和模型访问权限的真实 Linux 节点上执行。

启动私有端点

在用于启动服务器的 shell 中设置模型和私有 API 密钥。替换两个占位符。该密钥是 vLLM 服务凭据,不是您的 AnchorGPU 账户 API 密钥。验证时绑定到回环地址;远程访问需要经过身份验证的 TLS 或专用网络路径。

export MODEL_ID="your-organization/your-model"
export VLLM_API_KEY="replace-with-a-private-serving-key"
vllm serve "$MODEL_ID" --host 127.0.0.1 --port 8000

对于有意在同一节点上跨四个可见 GPU 拆分的模型,请添加 --tensor-parallel-size 4。在进行该更改之前,请确认硬件布局和软件支持。

负载测试前检查 API

在另一个 shell 中,设置相同的 VLLM_API_KEY 并查询模型列表。聊天补全请求还需要具有适当聊天模板的模型;服务器成功启动并不能保证每个 API 任务都受支持。

curl http://127.0.0.1:8000/v1/models \
  -H "Authorization: Bearer $VLLM_API_KEY"

在客户端请求中使用服务器报告的模型标识符。测试期间请保持身份验证处于启用状态。

衡量持续容量

使用预期的提示长度、输出限制和并发度重放经过脱敏的请求。记录首令牌时间、端到端延迟、吞吐量、错误率、GPU 内存使用情况以及服务器报告的 KV 缓存容量。

将冷模型加载与稳态服务分开测量。逐步增加并发。如果内存成为限制因素,请评估较低的上下文/concurrency、合适的量化格式或更多内存,而不是假设更多计算资源会有帮助。

使用固定预留价格将已完成的工作转换为成本。每秒令牌数的头条数字并不是容量承诺,本指南中我们不声称 AnchorGPU 基准测试结果。

解决常见故障模式

聊天请求失败:检查模型的聊天模板和受支持的 API 任务。加载后内存不足:检查 KV 缓存压力、上下文和并发数。多 GPU 初始化挂起:确认可见设备、集合通信库和张量并行拆分的有效性。

保存模型修订版本、容器摘要、启动配置、验证结果和客户端 API 合约。在释放节点之前,将操作工件复制到节点之外。

阅读实例生命周期指南

来源与延伸阅读

vLLM GPU 安装vLLM 并行与扩展vLLM 快速入门与身份验证vLLM 在线服务
配置推理节点