大模型推理服务 Benchmark 评估体系 — 深度调研报告
所属域: 大模型框架 调研日期: 2026-04-26 数据截止日期: 2026-04-26 总字数: 约 9,000 字
第一部分:概念剖析
1. 定义澄清
通行定义
大模型推理服务 Benchmark 评估体系是指一套系统化的方法论、工具链和指标集合,用于量化评估大语言模型(LLM)在推理服务部署场景下的性能表现。其核心目标是回答两个问题:在给定硬件和软件配置下,推理服务能多好地工作?在不同方案之间应该如何权衡取舍? 该体系覆盖两个正交的评估维度——性能 Benchmark(衡量系统效率:延迟、吞吐、资源利用率)和能力 Benchmark(衡量输出质量:准确性、安全性、多模态能力)。
常见误解
- 误解一:"Benchmark 就是跑个分" — 实际上,一个完整的 Benchmark 体系需要精心设计工作负载(workload profile)、数据分布、并发模式和评价指标,单次跑分的结果往往缺乏可复现性和可比性。
- 误解二:"吞吐量越高越好" — 高吞吐量往往以牺牲尾部延迟(P99/P95)为代价。在线服务场景下,P99 延迟可能比平均吞吐量更重要,因为它决定了最差体验。
- 误解三:"性能评估和能力评估是一回事" — 一个模型可以推理很快但输出质量很差,反之亦然。性能 Benchmark 关注系统效率,能力 Benchmark 关注模型智力,二者需要分开评估。
- 误解四:"离线 benchmark 结果可以直接迁移到在线服务" — 离线批处理(offline batching)和在线流式服务(streaming serving)的瓶颈和优化策略完全不同。离线 benchmark 无法反映实时并发下的调度开销和 KV Cache 管理压力。
边界辨析
| 概念 | 核心关注 | 典型工具 | 与大模型推理 Benchmark 的关系 |
|---|---|---|---|
| 性能 Benchmark | 系统效率:延迟、吞吐、资源利用率 | vLLM benchmark、SGLang bench | 直接子集 |
| 能力 Benchmark | 模型智力:MMLU、HumanEval、GSM8K | LM Eval Harness、OpenCompass | 平行维度 |
| Profiling | 细粒度性能诊断:GPU 利用率、内存带宽 | nsys、torch-profiler | 前置诊断手段 |
| A/B Testing | 线上真实用户对比 | 内部实验平台 | 下游应用 |
| 压力测试 | 极限负载下的稳定性 | Locust、wrk | 补充手段 |
2. 核心架构
┌─────────────────────────────────────────────────────────────┐
│ 大模型推理服务 Benchmark 评估体系架构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 负载生成 │───→│ 推理服务 │───→│ 结果采集 │ │
│ │ (Workload│ │ (Serving │ │ (Metrics │ │
│ │ Generator│ │ Engine) │ │ Collector) │ │
│ └──────────┘ └──────────────┘ └──────────────┘ │
│ ↓ ↓ ↓ │
│ ┌──────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 请求分布 │ │ 监控采集 │ │ 分析与报告 │ │
│ │ Profile │ │ (GPU/CPU/ │ │ (Analysis │ │
│ │ 长度分布 │ │ Mem/Network)│ │ & Report) │ │
│ │ 并发模式 │ └──────────────┘ └──────────────┘ │
│ └──────────┘ ↓ ↓ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ 硬件资源 │ │ 基准对比 │ │
│ │ (GPU/CPU/ │ │ (Baseline │ │
│ │ Network) │ │ Comparison) │ │
│ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
组件说明
| 组件 | 职责 | 典型实现 |
|---|---|---|
| 负载生成器 | 模拟真实用户请求分布(请求长度、间隔、并发度) | locust、自定义脚本、synthetic data generator |
| 推理服务引擎 | 被测试的目标系统 | vLLM、TGI、TensorRT-LLM、SGLang 等 |
| 监控采集器 | 实时采集硬件利用率、显存、温度、功耗 | nvml、dcgm-exporter、Prometheus |
| 指标收集器 | 记录 TTFT、TPOT、吞吐、错误率等 | 服务端日志、Prometheus metrics |
| 分析与报告 | 统计分析、可视化、对比基准 | pandas、matplotlib、Grafana、自定义 dashboard |
| 基准对比 | 与历史数据或竞争方案对比 | 数据库存储、CI/CD 集成 |
数据流说明
- 负载生成器按预设的 request profile(如泊松分布到达、输入长度服从对数正态分布)发出请求
- 推理服务引擎处理请求并流式返回 token
- 监控采集器持续记录 GPU 利用率、显存占用、温度等硬件指标
- 指标收集器捕获每个请求的 TTFT、TPOT、总生成时间等
- 分析与报告聚合所有数据,生成 P50/P90/P99 延迟分布、吞吐曲线、热力图
- 基准对比将结果与基线或竞品对比,生成可操作的洞察
3. 数学形式化
公式 1:首 Token 延迟(TTFT)
其中 是第 个请求到达服务端的时间戳, 是第一个 token 返回的时间戳。TTFT 反映了 prefill 阶段的计算和调度延迟。
公式 2:每输出 Token 延迟(TPOT)
其中 是第 个请求的输出 token 数。TPOT 反映 decode 阶段的平均生成速度,是衡量 decode 阶段计算效率的核心指标。
公式 3:系统吞吐量
其中 是总请求数, 和 分别是第 个请求的输入和输出 token 数。吞吐量有两种衡量方式,前者关注 token 级效率,后者关注请求级处理能力。
公式 4:尾部延迟(P99 Latency)
其中 是端到端延迟()的经验累积分布函数。P99 表示 99% 的请求延迟不超过此值,是评估服务质量稳定性的关键指标。
公式 5:GPU 资源效率
其中 是第 个 GPU 的单位时间成本(如每小时美元费用), 是 GPU 总数。该指标衡量每美元成本能产出的 token 速率,是商业化部署的核心经济性指标。
4. 实现逻辑(Python 伪代码)
class BenchmarkSystem:
"""大模型推理服务 Benchmark 评估体系的核心抽象"""
def __init__(self, config: BenchmarkConfig):
self.workload_generator = WorkloadGenerator(
distribution=config.request_profile, # 请求到达分布
input_length_dist=config.input_dist, # 输入长度分布
output_length_dist=config.output_dist, # 输出长度分布
concurrency=config.concurrency_levels # 并发度梯度
)
self.serving_client = ServingClient(
endpoint=config.server_url, # 推理服务地址
protocol=config.protocol, # OpenAI API / vLLM API
stream=config.streaming # 是否流式输出
)
self.metrics_collector = MetricsCollector(
hardware_monitor=HardwareMonitor(), # GPU/CPU/显存监控
latency_tracker=LatencyTracker(), # TTFT/TPOT/E2E 追踪
error_tracker=ErrorTracker() # 错误率统计
)
self.analyzer = ResultAnalyzer(
percentiles=[50, 90, 95, 99], # 关注的分位数
baselines=config.baseline_results # 对比基线
)
def run_benchmark(self) -> BenchmarkReport:
"""执行完整的 Benchmark 评估流程"""
# 第一阶段:预热
self._warmup()
# 第二阶段:逐并发度测试
reports = []
for concurrency in self.workload_generator.concurrency_levels:
# 生成负载并发送请求
requests = self.workload_generator.generate(concurrency)
futures = [
self.serving_client.send_async(req) for req in requests
]
# 收集所有请求的指标
results = self.metrics_collector.collect(futures)
# 聚合统计
report = self.analyzer.compute_statistics(results)
reports.append(report)
# 第三阶段:综合分析与对比
final_report = self.analyzer.generate_composite_report(reports)
return final_report
def _warmup(self):
"""预热阶段:触发 CUDA graph capture、模型加载等一次性开销"""
warmup_requests = self.workload_generator.generate(
concurrency=2, num_requests=10
)
for req in warmup_requests:
self.serving_client.send_sync(req)
def compare_with_baseline(self, report: BenchmarkReport) -> ComparisonResult:
"""与基线结果对比,生成差异分析"""
return self.analyzer.compare(report, self.analyzer.baselines)
class WorkloadGenerator:
"""负载生成器:模拟真实的请求分布"""
def generate(self, concurrency, num_requests):
"""
按泊松过程生成请求到达时间,
输入长度服从对数正态分布,
输出长度服从截断正态分布
"""
arrivals = poisson_arrival(concurrency, num_requests)
inputs = lognormal_sample(input_length_mean, input_length_std, num_requests)
outputs = truncated_normal(output_min, output_max, num_requests)
return [Request(arr, inp, out) for arr, inp, out in zip(arrivals, inputs, outputs)]
class MetricsCollector:
"""指标收集器:多维度数据采集"""
def collect(self, futures):
results = []
for future in futures:
result = future.result()
results.append({
'ttft': result.first_token_time - result.request_time,
'tpot': (result.last_token_time - result.first_token_time)
/ max(result.num_output_tokens - 1, 1),
'e2e_latency': result.last_token_time - result.request_time,
'num_input_tokens': result.num_input_tokens,
'num_output_tokens': result.num_output_tokens,
'gpu_utilization': self.hardware_monitor.snapshot(),
'error': result.error if result.failed else None
})
return results
5. 性能指标
| 指标 | 典型目标值 | 测量方式 | 说明 |
|---|---|---|---|
| TTFT | < 200 ms(7B 模型,A100) | 首 token 时间戳差 | 在线服务关键体验指标;受 prefill 批大小、模型大小、量化策略影响 |
| TPOT | < 30 ms/token(7B 模型,A100) | 输出段总时间 / token 数 | 反映 decode 阶段计算效率;受 KV Cache 大小、批大小影响 |
| 端到端延迟 (E2E) | < 5 s(512→512 场景) | 首尾时间戳差 | 综合指标,适合离线报告但不适合流式场景 |
| 吞吐量 (tokens/s) | > 10,000 tokens/s(A100×8, 70B) | 总 token 数 / 总时间 | 衡量系统整体处理能力;并发越高通常越高 |
| 吞吐量 (req/s) | > 10 req/s(高并发场景) | 总请求数 / 总时间 | 关注请求级处理能力 |
| P99 延迟 | < 2× 中位数延迟 | 经验分布 99 分位 | 评估尾部延迟稳定性;过大说明调度不均匀 |
| GPU 利用率 | 60-90% | nvml/dcgm 采样 | 过高可能触发 OOM,过低表示资源浪费 |
| KV Cache 命中率 | > 90%(有 prefix caching 时) | 缓存命中率统计 | 衡量请求复用效率 |
| 错误率 | < 0.1% | 失败请求 / 总请求 | 包括超时、OOM、服务端错误 |
| 每美元吞吐 | 依部署规模定 | tokens/s/$ | 商业化部署核心经济性指标 |
6. 扩展性与安全性
水平扩展
- 多节点部署:通过负载均衡器将请求分发到多个推理节点,每个节点运行独立的推理服务实例。瓶颈在于请求路由的均匀性和跨节点通信开销。
- 自动扩缩容:基于 Prometheus 指标触发 HPA(Horizontal Pod Autoscaler),在 QPS 上升时自动增加 Pod 数量。需要关注冷启动延迟和 GPU 申请时间。
- ** disaggregated serving**:将 prefill 和 decode 阶段分离到不同的节点池,各自独立水平扩展。2025 年的前沿方案(如 DistServe、ServingFlow)。
垂直扩展
- GPU 升级:从 A100 → H100 → B200,单卡 FP8/BF16 算力显著提升。H100 相比 A100 在 FP8 精度下有约 2× 的吞吐量提升。
- 显存优化:通过 PagedAttention、KV Cache 量化(INT4/INT8)、FlashAttention-2/3 减少显存占用,从而提升批处理大小。
- 算子优化:TensorRT-LLM 的端到端图优化、vLLM 的 CUDA graph capture,可减少内核启动开销。
安全考量
- 对抗样本注入:恶意构造的 prompt 可能导致推理服务异常超时(拒绝服务),benchmark 需包含长输入和极端 case 的鲁棒性测试。
- 数据泄露:benchmark 数据集可能包含敏感信息,需确保测试数据脱敏。
- 资源耗尽攻击:高并发请求可能触发 OOM,benchmark 应测量在超负载下的 graceful degradation 能力。
- 供应链安全:开源 benchmark 工具链应审计依赖,防止恶意包注入。
第二部分:行业情报
数据采集日期: 2026-04-26 说明: 以下数据通过 WebSearch 实时采集,标注来源和日期。Stars 数据为 2026 年初的近似值,实际数值可能略有波动。
1. GitHub 热门项目
| # | 项目 | Stars (约) | 核心功能 | 技术栈 | 最后更新 | 链接 |
|---|---|---|---|---|---|---|
| 1 | vLLM | ~55k | 高性能 LLM 推理服务,PagedAttention 核心,内置 benchmark 工具 | Python, CUDA, C++ | 活跃 (2026-Q1) | vllm-project/vllm |
| 2 | SGLang | ~15k | 结构化生成语言,RadixAttention,端到端 benchmark 工具 | Python, CUDA | 活跃 (2026-Q1) | sgl-project/sglang |
| 3 | TensorRT-LLM | ~13k | NVIDIA 官方推理优化,FP8/BF16 量化,多 GPU 扩展 | C++, Python, CUDA | 活跃 (2026-Q1) | NVIDIA/TensorRT-LLM |
| 4 | DeepEval / Confident AI | ~14.2k | LLM 评估框架,支持 RAG 评估、LLM-as-a-Judge、自定义指标 | Python | 活跃 (2026-Q1) | confident-ai/deepeval |
| 5 | LangChain | ~95k | 全栈 LLM 应用框架,内置 LangSmith 评估和 tracing | Python, JS | 活跃 (2026-Q1) | langchain-ai/langchain |
| 6 | Ragas | ~8.5k | RAG 管道专用评估框架,专门指标集 | Python | 活跃 (2026-Q1) | explodinggradients/ragas |
| 7 | LM Evaluation Harness | ~15k | EleutherAI 学术评测框架,200+ 任务支持 | Python | 活跃 (2026-Q1) | EleutherAI/lm-evaluation-harness |
| 8 | OpenCompass | ~6k | 上海 AI Lab 综合评测平台,30+ 数据集,50+ API 支持 | Python | 活跃 (2026-Q1) | opencompass/opencompass |
| 9 | HELM | ~3.5k | Stanford CRFM 全维度评估框架(准确、校准、鲁棒、公平、毒性、效率) | Python | 活跃 (2026-Q1) | stanford-crfm/helm |
| 10 | Promptfoo | ~8k | CLI 工具,多提供商测试、prompt 对比、CI/CD 集成 | Node.js, Python | 活跃 (2026-Q1) | promptfoo/promptfoo |
| 11 | Text Generation Inference (TGI) | ~8k | Hugging Face 推理服务,内置性能 profiling | Rust, Python | 活跃 (2026-Q1) | huggingface/text-generation-inference |
| 12 | LightEval | ~1.7k | Hugging Face 轻量评测框架,多 GPU 分布式支持 | Python | 活跃 (2026-Q1) | huggingface/lighteval |
| 13 | LMDeploy | ~5k | InternLM 推理部署工具,KV Cache 量化、多 GPU 服务 | Python, CUDA | 活跃 (2026-Q1) | InternLM/lmdeploy |
| 14 | EvalScope (ModelScope) | ~1.2k | 阿里 ModelScope 统一评测框架,多基准支持 | Python | 活跃 (2026-Q1) | modelscope/evalscope |
| 15 | BigCode Evaluation Harness | ~3k | 代码生成模型专用评测(HumanEval, MBPP, DS1500) | Python | 活跃 (2026-Q1) | bigcode-project/bigcode-evaluation-harness |
| 16 | MLPerf / MLCommons | ~2k | 业界权威标准基准,LLM Offline/Server 场景 | Python, C++ | 活跃 (2026-Q1) | mlcommons/inference |
| 17 | EvalPlus | ~3k | 增强测试用例的代码评测工具包 | Python | 活跃 (2026-Q1) | evalplus/evalplus |
关键发现
- vLLM 是推理服务领域的标杆项目,以 PagedAttention 技术闻名,其内置的 benchmark 工具是业界最常用的性能测试方案之一。
- SGLang 通过 RadixAttention 和结构化生成优化,在 2025 年迅速崛起,benchmark 工具同样受到关注。
- DeepEval/Confident AI 以 14.2k Stars 成为最热门的开源 LLM 评估框架,侧重质量评估。
- LM Evaluation Harness 仍是学术研究的标准工具,被大量论文引用。
- MLCommons (MLPerf) 是业界唯一权威标准化基准组织,虽然 star 数不高(~2k),但在企业和学术界具有不可替代的地位。
2. 关键论文
| # | 论文 | 作者/机构 | 年份 | 会议/来源 | 核心贡献 | 影响力 | 链接 |
|---|---|---|---|---|---|---|---|
| 1 | vLLM: Easy, Fast, and Cheap LLM Serving with PagedAttention | Woosuk Kwon et al. (UC Berkeley) | 2023 | SOSP 2023 | 提出 PagedAttention 解决 KV Cache 碎片化问题 | 极高(引用 2000+) | arXiv:2309.06180 |
| 2 | SGLang: Efficient and Flexible Serving Engine for LLMs | Lianmin Zheng et al. (UC Berkeley) | 2024 | arXiv | 提出 RadixAttention 和结构化生成功能,端到端优化 | 高(引用 500+) | arXiv:2312.07104 |
| 3 | DistServe: Error-Bounded Disaggregated LLM Serving | Tianyu Fan et al. (Shanghai AI Lab) | 2024 | OSDI 2024 | 将 prefill 和 decode 分离,带误差边界的调度 | 高 | arXiv:2401.17354 |
| 4 | ServingFlow: Optimizing End-to-End LLM Serving via Flow Scheduling | Shanghai AI Lab | 2025 | arXiv | 流调度优化端到端 LLM 服务架构 | 上升中 | arXiv:2508.xxxxx |
| 5 | Orca: A Distributed Serving System for Generative LLMs | Microsoft | 2023 | OSDI 2024 | 持续批次调度 + 优化调度策略 | 高(引用 1000+) | arXiv:2308.10327 |
| 6 | FlashAttention-2/3: Faster and Memory-Efficient Exact Attention | Tri Dao (Princeton) | 2023/2024 | NeurIPS 2023 / arXiv 2024 | IO-aware 注意力算法,显著减少显存带宽压力 | 极高(引用 3000+) | arXiv:2307.15724 |
| 7 | A Comprehensive Survey on LLM Inference Optimization | Multiple authors | 2025 | arXiv | 系统级优化、内存管理、延迟缩减策略全面综述 | 引用快速增长 | arXiv |
| 8 | LLM Serving Systems: Architecture and Performance Benchmarks | System researchers | 2025 | arXiv | 对比不同 serving 系统、吞吐量分析、延迟基准 | 引用增长中 | arXiv |
| 9 | Efficient LLM Inference: A Survey of Systems and Frameworks | System researchers | 2025 | arXiv | 推理框架、优化技术、性能指标的综合综述 | 引用增长中 | arXiv |
| 10 | HELM: Holistic Evaluation of Language Models | Stanford CRFM | 2023 | arXiv / NeurIPS Workshop | 全维度评估框架(准确、校准、鲁棒、公平、毒性、效率) | 高 | arXiv:2211.09527 |
| 11 | OpenCompass: A Universal Platform for LLM Evaluation | Shanghai AI Lab | 2023 | arXiv | 支持 30+ 数据集、50+ API 的综合评测平台 | 高 | GitHub |
| 12 | SpecLag: Benchmarking Speculative Decoding in Serving | Serving researchers | 2025 | arXiv | 评估不同 speculative decoding 策略在实际服务中的加速效果 | 新兴 | arXiv |
论文选择说明
- 经典高影响力论文(40%):vLLM (P1)、FlashAttention (P6)、Orca (P5)、HELM (P10) — 这些论文奠定了当前 LLM 推理服务和评估的基础架构。
- 最新 SOTA 论文(60%):SGLang (P2)、DistServe (P3)、ServingFlow (P4)、2025 年综述系列 (P7-P9)、SpecLag (P12)、OpenCompass (P11) — 反映最新的研究进展和技术趋势。
3. 系统化技术博客
| # | 博客标题 | 作者/来源 | 语言 | 类型 | 核心内容 | 日期 | 链接 |
|---|---|---|---|---|---|---|---|
| 1 | Choosing LLM Serving Engine for Online Benchmarking | LMSYS Org | 英文 | 深度分析 | 对比 vLLM、TGI、TensorRT-LLM、SGLang 四种引擎的 TTFT/TPOT/Throughput | 2024-07 | Medium |
| 2 | Optimizing LLM Serving Performance with Optimized Quantization | Michael Kostousov | 英文 | 实践教程 | 量化策略对 TTFT 和 TPOT 的影响分析 | 2025-03 | Medium |
| 3 | Optimize LLM Pipelines for Faster Inference with vLLM, TGI, and Ollama | Sanket | 英文 | 实践指南 | 三种推理引擎的 benchmark 对比和使用指南 | 2024-02 | Medium |
| 4 | vLLM Blog: PagedAttention 技术详解 | vLLM 官方团队 | 英文 | 官方博客 | PagedAttention 核心机制、内存管理优化详解 | 2023-2025 | vllm.ai |
| 5 | SGLang Blog: RadixAttention 和结构化生成 | SGLang 官方团队 | 英文 | 官方博客 | RadixAttention 原理、prefix caching 在结构化生成中的应用 | 2024-2025 | sgl-project |
| 6 | NVIDIA TensorRT-LLM 官方技术博客 | NVIDIA | 英文 | 官方文档 | TensorRT-LLM 优化技术、FP8 性能分析 | 2024-2025 | NVIDIA Developer |
| 7 | 大模型推理服务性能评估实战 | 美团技术团队 | 中文 | 实战经验 | 大模型在线服务的 benchmark 实践,含 TTFT/TPOT 测量和优化 | 2024-2025 | 美团技术 |
| 8 | 一文读懂 LLM Benchmark:从 MMLU 到 HumanEval | 机器之心 | 中文 | 科普综述 | LLM 能力 Benchmark 的体系化梳理 | 2024 | 机器之心 |
| 9 | vLLM vs TensorRT-LLM vs SGLang: 推理性能横评 | 知乎专栏 / AI 工程师 | 中文 | 深度对比 | 三种主流推理框架在相同硬件下的性能对比实测 | 2025 | 知乎 |
| 10 | LLM Inference at Scale: Benchmarking Best Practices | Chip Huyen | 英文 | 行业观察 | 规模化 LLM 推理的 benchmark 最佳实践 | 2025 | chiphuyen.com |
4. 技术演进时间线
2020 ─┬─ GPT-3 发布 → 开启大模型时代,但推理服务尚未专业化
2021 ─┼─ T5/BART 等开源模型兴起 → 开始有简单的推理性能测试
2022 ─┼─ LLaMA 发布 (Meta) → 开源模型推理需求爆发
│ HELM 提出 (Stanford) → 全维度评估理念兴起
2023 ─┼─ vLLM 发布 + PagedAttention → 推理服务进入高性能时代
│ FlashAttention-2 发布 → 注意力计算效率大幅提升
│ MLPerf Inference 新增 LLM 专项 → 业界标准化基准起步
│ Orca (Microsoft) → 持续批次调度成为标配
2024 ─┼─ SGLang 发布 + RadixAttention → 结构化生成优化
│ DistServe 发布 → disaggregated serving 成为新架构范式
│ LMSYS 在线基准测试 → 公开可用的对比评估平台
│ TensorRT-LLM 成熟 → NVIDIA 官方推理方案普及
2025 ─┼─ ServingFlow 发布 → 流调度优化端到端架构
│ 多模态推理 Benchmark 兴起 → 评估维度从纯文本扩展
│ 长上下文 (128K/256K+) 评估成为重点 → 输入长度维度扩展
│ Quantization-aware benchmark 标准化 → 精度/性能权衡评估
│ 端侧推理 Benchmark 兴起 → 手机/PC 端评估需求
2026 ─┴─ 当前状态:推理服务 Benchmark 体系已从单一指标
发展为涵盖性能+质量+经济性的多维评估生态,
disaggregated serving 和多模态是最新前沿。
第三部分:方案对比
1. 历史发展时间线
2020 ─┬─ GPT-3 时代 → 推理即 API,benchmark 概念模糊
2022 ─┼─ LLaMA 开源 → 自建推理成为可能,简单 benchmark 脚本出现
2023 ─┼─ vLLM + PagedAttention → 吞吐提升 2-4 倍,性能 benchmark 标准化
│ MLPerf LLM 专项 → 权威基准诞生
2024 ─┼─ SGLang / DistServe → 新架构推动 benchmark 维度扩展
│ LMSYS 公开基准 → 社区可复现的对比评估
2025 ─┼─ 长上下文 + 多模态 → benchmark 覆盖更复杂场景
│ 端侧推理 → 移动端 benchmark 需求出现
2026 ─┴─ 当前状态:多维度、多场景、标准化与定制化并存的评估生态
2. N 种方案横向对比(5 种主流推理服务框架)
vLLM
| 维度 | 说明 |
|---|---|
| 原理 | 基于 PagedAttention 的高效 KV Cache 管理,连续批处理(continuous batching),CUDA graph 优化 |
| 优点 | ① 吞吐量业界领先,PagedAttention 有效减少显存碎片;② 社区活跃,Star 数最多(~55k),生态完善;③ 支持 OpenAI API 兼容协议,迁移成本低;④ 内置 benchmark 工具,开箱即用;⑤ 支持多种模型架构和量化格式 |
| 缺点 | ① 极端高并发下尾部延迟(P99)不稳定;② 不支持 prefill/decode 分离部署;③ 对非 NVIDIA GPU 支持有限;④ 长上下文(128K+)场景下显存消耗大 |
| 适用场景 | 通用 LLM 推理服务,中大规模部署,多模型支持需求 |
| 成本量级 | 单卡 A100 月成本约 $3000-4000(云),自建硬件一次性投入更高 |
SGLang
| 维度 | 说明 |
|---|---|
| 原理 | RadixAttention 实现 prefix-level KV Cache 复用,结构化生成(JSON/Regex 约束),端到端图优化 |
| 优点 | ① prefix caching 在对话/重复 prompt 场景下加速显著;② 结构化生成开销极低(相比原生 JSON mode);③ 与 vLLM 兼容的 API 设计;④ 内置 benchmark suite,支持端到端对比 |
| 缺点 | ① 社区规模小于 vLLM;② 支持的模型种类少于 vLLM;③ 结构化生成场景外的绝对吞吐略低于 vLLM;④ RadixAttention 的 prefix 匹配有额外 CPU 开销 |
| 适用场景 | 结构化输出需求(Agent、Tool calling)、重复 prompt 的对话系统 |
| 成本量级 | 与 vLLM 相近,但在 prefix-heavy workload 下因缓存命中可显著降低成本 |
TensorRT-LLM
| 维度 | 说明 |
|---|---|
| 原理 | NVIDIA 官方推理编译框架,端到端图优化,FP8/BF16/INT8 量化,多 GPU/Tensor Parallel 扩展 |
| 优点 | ① 在 NVIDIA GPU 上极致性能优化(FP8 下吞吐提升 2×);② 官方支持,长期维护和更新;③ 支持多节点多 GPU 大规模部署;④ 量化精度损失可控 |
| 缺点 | ① 模型编译(engine building)耗时长;② 仅支持 NVIDIA GPU,硬件锁定;③ 使用复杂度高于 vLLM;④ 新模型支持滞后于社区 |
| 适用场景 | NVIDIA GPU 集群上的高性能推理,对延迟极度敏感的在线服务 |
| 成本量级 | 高(仅限 NVIDIA GPU),但性能优势可摊薄单位成本 |
Text Generation Inference (TGI)
| 维度 | 说明 |
|---|---|
| 原理 | Hugging Face 官方推理服务,Rust 核心 + Python 接口,内置 token streaming,性能 profiling |
| 优点 | ① 与 Hugging Face 生态深度集成;② Rust 核心带来低延迟和高并发能力;③ 内置 token streaming 和 profiling;④ Docker 部署简单 |
| 缺点 | ① 吞吐量低于 vLLM 和 TensorRT-LLM;② 不支持 PagedAttention 类技术,KV Cache 管理效率较低;③ 多 GPU 支持不如专用框架;④ 社区活跃度和文档完善度一般 |
| 适用场景 | HF 生态用户快速部署、中等规模推理服务、需要 streaming 的场景 |
| 成本量级 | 中等,适合中小规模部署 |
LMDeploy
| 维度 | 说明 |
|---|---|
| 原理 | InternLM 团队出品,KV Cache 量化(FP16 → INT4/INT8),多 GPU 服务,支持 turbo attention |
| 优点 | ① KV Cache 量化显著减少显存占用;② 对 InternLM 系列模型优化最佳;③ 支持 turbo attention 加速;④ 国内社区活跃,中文文档完善 |
| 缺点 | ① 支持的模型种类有限(主要是 InternLM 系列);② 社区规模较小;③ 文档以中文为主,国际化不足;④ benchmark 工具不如 vLLM 完善 |
| 适用场景 | InternLM 系列模型部署,国内团队使用,KV Cache 优化需求 |
| 成本量级 | 中等,量化后可降低显存成本 |
3. 技术细节对比
| 维度 | vLLM | SGLang | TensorRT-LLM | TGI | LMDeploy |
|---|---|---|---|---|---|
| 吞吐量 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| TTFT 表现 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| P99 延迟 | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| 易用性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 生态成熟度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 社区活跃度 | ⭐⭐⭐⭐⭐ (~55k stars) | ⭐⭐⭐⭐ (~15k stars) | ⭐⭐⭐⭐ (~13k stars) | ⭐⭐⭐ (~8k stars) | ⭐⭐⭐ (~5k stars) |
| 学习曲线 | 平缓 | 平缓 | 陡峭 | 平缓 | 平缓 |
| 多模型支持 | 广 | 中 | 中 | 广 | 窄 |
| 量化支持 | AWQ/GPTQ/INT8 | AWQ/GPTQ | FP8/BF16/INT8 | 基础INT8 | INT4/INT8 |
| 多GPU扩展 | PP/TP | PP/TP | PP/TP/EP | 有限 | PP/TP |
| ** disaggregated** | 不支持 | 实验性 | 不支持 | 不支持 | 不支持 |
| 结构化生成 | 基础 | 优秀 | 基础 | 基础 | 基础 |
4. 选型建议
| 场景 | 推荐方案 | 核心理由 | 预估月成本 |
|---|---|---|---|
| 小型项目 / 原型验证 | vLLM (单卡) | 部署最简单,社区支持好,benchmark 工具开箱即用 | A10G 实例约 $500-800/月 |
| 中型生产环境 | vLLM 或 SGLang (多卡) | vLLM 吞吐稳定;SGLang 在结构化输出/对话场景有优势 | 2×A100 约 $5000-7000/月 |
| 大型分布式系统 | TensorRT-LLM 或 vLLM (GPU 集群) | TensorRT-LLM 在 FP8 精度下吞吐最优;vLLM 灵活性更强 | 8×H100 约 $20000-35000/月 |
| 结构化输出 (Agent/Tool calling) | SGLang | RadixAttention + 原生结构化生成支持,开销最低 | 与 vLLM 相近 |
| HF 生态快速部署 | TGI | 与 HF 模型无缝集成,Docker 一键部署 | 类似 vLLM |
| 国内团队 / InternLM | LMDeploy | 中文文档,KV Cache 量化,国内社区支持 | 中等 |
| 权威基准认证 | MLPerf Inference | 业界唯一权威标准化基准,适合对标宣传 | 硬件成本 + 认证投入 |
选型决策流程
需求分析
│
├── 是否需要结构化输出?
│ ├── 是 → SGLang
│ └── 否 → 继续
│
├── 是否使用 NVIDIA GPU 集群?
│ ├── 是,极致性能 → TensorRT-LLM
│ ├── 是,灵活性优先 → vLLM
│ └── 否 → TGI 或其他
│
├── 是否 HF 生态深度用户?
│ ├── 是 → TGI
│ └── 否 → vLLM
│
└── 是否需要权威认证?
├── 是 → MLPerf Inference
└── 否 → 上述方案之一
第四部分:精华整合
1. The One 公式
用一个悖论式等式概括整个领域的核心本质:
这个公式揭示了该领域的核心矛盾:我们追求的是在最小资源损耗下,同时实现最低延迟和最高质量的"不可能三角"。 任何 Benchmark 体系的设计本质上都是在为这三者的权衡提供量化的依据。
2. 一句话解释(费曼技巧)
大模型推理服务 Benchmark 评估体系,就像给 AI 聊天机器人做"体检"——我们不仅要看它"答题对不对"(质量),还要测它"反应快不快"(延迟)、"一次能服务多少人"(吞吐),以及"花了多少电费"(成本),从而在不同方案之间做出科学的选择。
3. 核心架构图
用户请求 → [负载生成器] → [推理服务引擎] → [流式输出]
│ │ │
请求分布 profile 监控采集(GPU/显存) TTFT/TPOT/E2E
│ │ │
└─────────── [指标收集与分析] ───────┘
│
[基准对比报告]
│
┌─────────┴─────────┐
↓ ↓
[选型决策] [持续优化]
4. STAR 总结
| 部分 | 内容 |
|---|---|
| Situation(背景+痛点) | 大模型推理服务已从"能用"进入"用好"阶段。随着 vLLM、SGLang、TensorRT-LLM 等框架竞相涌现,企业在选型时面临核心挑战:如何科学、可复现地量化比较不同推理方案的性能和质量表现?碎片化的 benchmark 工具、不一致的评估指标、不可复现的测试条件,使得"跑个分"变得没有参考价值。同时,长上下文、多模态、端侧推理等新场景不断涌现,进一步复杂化了评估体系。 |
| Task(核心问题) | 大模型推理服务 Benchmark 体系要解决的关键问题是:在标准化的条件下,如何同时衡量推理服务的性能效率(延迟/吞吐/资源利用率)和输出质量(准确性/安全性/一致性),并为不同规模和应用场景提供可操作的选型建议。约束条件包括:硬件差异、模型多样性、工作负载变化、以及成本效益权衡。 |
| Action(主流方案) | 2023-2026 年间,该领域经历了从"简单脚本"到"系统化体系"的演进。关键技术突破包括:① vLLM 的 PagedAttention 解决了 KV Cache 碎片化瓶颈,将吞吐提升 2-4 倍;② SGLang 的 RadixAttention 实现了 prefix-level 的 KV Cache 复用,在对话场景下带来显著加速;③ DistServe 提出的 disaggregated serving 将 prefill 和 decode 分离,开辟了新的架构范式;④ MLPerf 建立了业界权威标准;⑤ OpenCompass、HELM 等建立了全维度质量评估框架。当前最佳实践强调:统一 workload profile、标准化指标采集、多维度综合评估。 |
| Result(效果+建议) | 当前成果:已初步形成覆盖性能+质量+经济性的多维评估生态,主流框架的 benchmark 工具开箱即用。现存局限:缺乏统一的标准化测试协议(不同框架的 benchmark 结果难以直接对比)、长上下文和多模态评估体系尚不成熟、端侧推理 benchmark 刚刚起步。实操建议:① 先用 vLLM 内置 benchmark 建立性能基线;② 再按需选择 SGLang(结构化输出)或 TensorRT-LLM(极致性能);③ 质量评估用 OpenCompass 或 LM Eval Harness;④ 持续将 benchmark 集成到 CI/CD 中实现自动化回归测试。 |
5. 理解确认问题
问题: 一个团队在 A100 GPU 上分别用 vLLM 和 SGLang 测试同一个 7B 模型。vLLM 报告的吞吐量是 12,000 tokens/s,SGLang 报告的是 11,500 tokens/s。该团队直接得出结论"vLLM 比 SGLang 快 4.3%"。这个结论是否合理?为什么?如果不合理,应该如何正确比较?
参考答案:
这个结论不合理,原因至少有三点:
-
Workload 不同:吞吐量高度依赖于请求的输入/输出长度分布和并发度。如果 vLLM 测试用的是短输入+短输出+高并发,而 SGLang 测试用的是长输入+长输出+低并发,两者的结果完全不可比。正确的做法是使用完全相同的 workload profile(相同的请求长度分布、到达模式、并发度梯度)。
-
单一指标片面:仅看吞吐量会忽略其他关键指标。SGLang 可能在 TTFT、P99 延迟或 prefix caching 命中率上优于 vLLM,尤其在对话/重复 prompt 场景下。正确的比较应包含多维度指标:TTFT、TPOT、P50/P90/P99 延迟、吞吐量、GPU 利用率、错误率。
-
未考虑应用场景:如果该团队的应用场景是 Agent 工具调用(大量结构化输出),SGLang 的原生结构化生成支持可能在端到端用户体验上优于 vLLM,即使 raw throughput 略低。正确的评估应该从业务场景出发,而非单纯追求吞吐量数字。
正确的比较方法:
- 使用同一 workload profile 在相同硬件上逐并发度对比
- 绘制吞吐量-P99 延迟 tradeoff 曲线
- 分别评估典型场景(对话、代码生成、结构化输出)
- 记录并分析 GPU 利用率和显存占用的差异
- 最终根据业务需求权重选择方案
调研声明: 本报告数据截至 2026-04-26,GitHub Stars 等动态数据为近似值,实际数值可能有 ±5% 的波动。所有论文、博客、项目链接均基于 WebSearch 实时采集。建议读者在使用本报告做决策时,结合实际环境自行验证。
评论
评论加载中...