Loading
close

vLLM模型启动参数调优方式

time 更新时间:2026-10-08 16:41:12

背景描述

本文以 Beacon 的《基准测试》为例,介绍如何为指定模型建立延迟和吞吐基线,依次调整 vLLM 启动参数,并选择满足业务延迟要求、运行稳定且吞吐较高的参数组合。

延迟测试固定使用 1 并发,用于比较模型在低负载下的响应速度;吞吐测试可以调整并发数,用于比较模型在不同负载下的吞吐和延迟。

前提条件

  • 已在 Beacon 中准备好模型、vLLM 推理引擎、算力和项目配额,并具有创建模型部署及基准测试的权限。
  • 测试对象须为单副本且状态正常的 vLLM 模型部署。
  • 调优期间保持模型、vLLM 版本、镜像、加速卡、CPU 和内存规格一致。
  • 同一部署上的基准测试应依次执行,避免测试任务相互影响。

操作步骤

  1. 确定模型和调优目标。

    先确定要调优的模型及业务目标,例如“TTFT P95 不超过 1 秒、测试期间没有错误,在此前提下尽量提高输出 Token/s”。示例阈值仅作说明,实际值由业务确定。

  2. 创建基线模型部署。

    1. 在《推理引擎》中创建或选择 vLLM 引擎。
    2. 在《模型广场》中部署要调优的模型,设置副本数为 1,等待部署状态正常。
    3. 记录模型版本、vLLM 版本、镜像、算力规格和启动参数。
  3. 建立延迟基线。

    进入《基准测试》,单击 创建测试,选择基线部署和 延迟 测试,然后开始测试。延迟测试固定使用 1 并发,不需要设置并发数。

    测试完成后,记录测试 ID、TTFT P95、TPOT P95、请求延迟 P95,以及成功、错误。后续每组候选参数都应运行相同的延迟测试,并与基线比较。

  4. 建立吞吐基线。

    保持基线部署不变,创建多个 吞吐 测试,每次设置不同的并发数。建议从较低并发开始,逐步增加:

    1 → 2 → 4 → 8 → 16 → 32 → 64

    如果 64 并发时吞吐仍在提高、延迟仍满足要求,并且没有错误,可继续测试 128 → 256 → 512。512 是可配置的最大并发数,不代表模型部署能够稳定承载 512 并发。

    每个并发点记录以下结果:

    测试并发 实际并发均值 / 最大值 输出 Token/s 请求/s TTFT P95 TPOT P95 请求延迟 P95 错误数
    1 待记录 待记录 待记录 待记录 待记录 待记录 待记录
    2 待记录 待记录 待记录 待记录 待记录 待记录 待记录
    4 待记录 待记录 待记录 待记录 待记录 待记录 待记录
    8 待记录 待记录 待记录 待记录 待记录 待记录 待记录
    16 待记录 待记录 待记录 待记录 待记录 待记录 待记录
    32 待记录 待记录 待记录 待记录 待记录 待记录 待记录
    64 待记录 待记录 待记录 待记录 待记录 待记录 待记录

    吞吐不再明显提高,或者延迟快速增加时,说明部署已接近吞吐拐点。如果出现错误或延迟超过业务要求,则该并发点不作为稳定承载结果。

  5. 制定候选启动参数,每次只调整一项,比如

    参数 调整目的 必须检查
    --max-model-len 设置最大上下文长度 是否覆盖业务输入和输出长度
    --gpu-memory-utilization 调整 vLLM 可使用的显存比例 部署能否正常启动,运行时是否显存不足
    --max-num-seqs 调整可同时处理的序列数量 吞吐是否提高,延迟是否符合要求
    --max-num-batched-tokens 调整批处理的 Token 数量 吞吐和 TTFT 是否符合要求

    每个部署只调整一个参数,其余配置与基线保持一致,以便判断指标变化来自哪个参数。

  6. 调整模型部署的启动参数,点击编辑原模型部署。

    1. 在原启动参数基础上修改一项参数,不要删除模型服务所需的基础参数。
    2. 使用容易识别的部署名称,例如 模型名-seqs32,设置副本数为 1,并等待部署状态正常。
  7. 复测并比较候选参数。

    每组候选先运行固定 1 并发的延迟测试,再运行吞吐测试。不同部署必须在相同测试类型和相同吞吐并发下比较。

    部署 参数变更 测试并发 输出 Token/s TTFT P95 TPOT P95 错误数 结论
    baseline 无 32 待记录 待记录 待记录 待记录 基线
    seqs32 --max-num-seqs 32 32 待记录 待记录 待记录 待记录 待评估

建议:

如果要进一步提升吞吐,可以部署多实例;如果要进一步提升延迟性能,可以部署多卡。

结果验证

  1. 确认延迟和吞吐测试均为 已完成,错误请求数为 0。

  2. 延迟测试固定使用 1 并发,将候选参数的 TTFT P95、TPOT P95 和请求延迟 P95 与基线比较。

  3. 吞吐测试应核对实际并发均值和最大值,并在相同测试并发下比较基线与候选参数的输出 Token/s、请求/s 和延迟。

  4. 选择吞吐拐点附近、延迟满足业务要求且没有错误请求的并发数作为推荐并发。

  5. 按以下格式记录最终结果,并保留测试 ID 以便复核:

    模型:<模型名称和版本>
    运行环境:<vLLM 版本和镜像>;<加速卡型号 × 数量>;1 副本
    启动参数:<最终启动参数或相对默认值的变更>
    延迟测试:TTFT P95 <值> ms;TPOT P95 <值> ms;请求延迟 P95 <值> ms
    推荐并发:<并发数>
    吞吐测试:输出 <值> Token/s;请求 <值>/s;错误 <数量>
    测试任务:延迟测试 <任务 ID>;吞吐测试 <任务 ID>
    最终结论:<是否达到业务目标以及采用该参数的原因>

约束与注意事项

  • 单部署测试:基准测试用于比较单个模型部署,不能直接代表模型网关或多副本场景的整体性能。
  • 测试类型:延迟测试固定使用 1 并发;吞吐测试通过调整并发数比较不同负载下的性能,两类结果不能相互替代。
  • 并发设置:调整吞吐测试的并发数只会改变测试负载,不会修改 vLLM 启动参数。
  • 结果可比性:比较时保持模型、vLLM 版本、镜像和算力规格一致,并使用相同的测试类型和吞吐并发数。
  • 重新建立基线:修改模型、vLLM 版本、镜像或算力规格后,需要重新运行延迟和吞吐基线测试。
此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品