CNCF:Goodput指标揭示以吞吐量为优化目标的LLM服务p95延迟近乎慢10倍
Akamas工程师Graziano Casto在CNCF博客上指出,goodput——在目标延迟内完成的每秒请求数——是比原始吞吐量更适合评估LLM服务的指标。在Qwen2.5-7B与NVIDIA A10G GPU上的基准测试显示,吞吐量高出50%的配置,其p95延迟可能高出近10倍,从50毫秒升至494毫秒。
本文由人工智能基于一手来源生成。
什么是goodput,为何它与吞吐量不同?
Goodput衡量的是在预设目标延迟内完成的每秒请求数,而吞吐量统计所有已处理的请求,不论其是否足够快。Akamas工程师Graziano Casto在CNCF博客中指出,更高的吞吐量并不一定意味着更好的服务——某个配置或许能处理更多请求总量,但其中一部分请求的延迟对终端用户而言长得难以接受。
基准测试:吞吐量高出50%,延迟却差近10倍
在EKS集群(Amazon Elastic Kubernetes Service)内单块NVIDIA A10G GPU上,使用vLLM服务引擎和GuideLLM负载模拟工具,针对Qwen2.5-7B模型进行的测试显示:综合吞吐量高出50%的配置,其p95 time-per-output-token——95%请求所处于的延迟阈值——可能高出近10倍,从约50毫秒升至约494毫秒。测试涵盖三种负载类型:对TTFT(time-to-first-token,首个token生成时间)要求严格的聊天机器人、输出约4000个token的推理场景,以及具有短链式调用的智能体场景。
建议:自动化参数搜索
Casto建议对gpu_memory_utilization、max_num_batched_tokens和max_num_seqs等参数进行自动化搜索,以便直接针对goodput、而非原始吞吐量优化服务配置。该方法要求按负载类型分别测试,因为聊天机器人、推理和智能体场景具有不同的目标延迟和容忍度,单一的通用配置无法同等程度地覆盖所有场景。
针对每一种模型与GPU组合手动搜索参数组合并不现实,因为可能的配置数量庞大,因此Casto主张采用自动化流程,系统性地测试各种配置,并为目标负载类型选出goodput表现最佳的那一个。生产环境中运行LLM服务的团队由此获得了一种具体方法,用以避免仅针对吞吐量优化的陷阱——该陷阱在基准测试中导致终端用户的p95延迟几乎劣化了十倍。
常见问题
- 什么是goodput,它与吞吐量有何不同?
- Goodput只统计在目标延迟内完成的每秒请求数,而吞吐量统计所有已处理的请求、不论其速度快慢,因此更高的吞吐量可能掩盖部分请求延迟过高的问题。
- CNCF基准测试中p95延迟差异有多大?
- 在Qwen2.5-7B模型和NVIDIA A10G GPU上,综合吞吐量高出50%的配置,其p95 time-per-output-token高出近10倍,goodput感知配置约为50毫秒,而该配置约为494毫秒。
- Akamas为优化goodput推荐哪些参数?
- 建议对gpu_memory_utilization、max_num_batched_tokens和max_num_seqs等参数进行自动化搜索,并分别针对聊天机器人、推理和智能体类型的负载进行测试。
📬 AI 新闻直达您的邮箱
按您的方式定制每日摘要——自选主题、来源和频率,一键退订。