登录
首页 >  科技周边 >  人工智能

本地大模型推理速度测试:每秒生成多少Token

时间:2026-05-07 08:49:32 194浏览 收藏

想精准评估本地部署大模型的实际推理吞吐能力?每秒生成Token数(TPS)是核心指标,它真实反映硬件配置、模型量化、推理框架优化及输入输出长度共同作用下的性能表现;本文详解三种实用测量方法——用llm-perf进行标准化基准测试、通过vLLM API响应头反推瞬时TPS、以及借助transformers加torch.compile手动计时获取端到端实测值,手把手教你科学、可复现地量化本地大模型的生成速度。

本地大模型推理速度测试_每秒Token生成数量

如果您希望评估本地部署的大模型在实际推理过程中的吞吐能力,关键指标之一是每秒生成的Token数量(Tokens per Second, TPS)。该数值直接受限于硬件配置、模型量化方式、推理框架优化程度及输入输出长度。以下是测量本地大模型推理速度的具体步骤:

一、使用llm-perf工具进行标准化基准测试

llm-perf是一个专为大语言模型设计的轻量级性能评测工具,支持统一上下文长度、批量大小与采样参数,可排除prompt解析和后处理环节干扰,专注测量核心生成阶段的TPS。

1、克隆llm-perf仓库并进入项目目录:git clone https://github.com/InternLM/llm-perf && cd llm-perf

2、安装依赖并指定目标模型路径:pip install -r requirements.txt && python setup.py install

3、执行单轮生成测试,固定输入长度为512,输出长度为256:python benchmark.py --model-path /path/to/your/model --input-len 512 --output-len 256 --batch-size 1

4、工具将自动运行10次warmup后采集50次有效推理,最终输出平均TPS值及标准差。

二、通过vLLM服务端API日志提取实时TPS

vLLM提供高吞吐的PagedAttention推理后端,其HTTP API在响应头中嵌入了详细的时序信息,包括token生成耗时,可用于反向计算真实TPS。

1、启动vLLM服务并启用详细日志:python -m vllm.entrypoints.api_server --model /path/to/your/model --enable-prefix-caching --log-level DEBUG

2、发送一次包含128个输入token、请求生成200个输出token的请求,并记录完整响应体与响应头。

3、从响应头中提取x-vllm-generation-time-msx-vllm-num-generated-tokens字段值。

4、用生成token总数除以生成耗时(单位转换为秒),得出本次请求的瞬时TPS:TPS = num_generated_tokens / (generation_time_ms / 1000)

三、利用transformers + torch.compile手动计时

在不依赖专用推理框架的前提下,可通过原生Hugging Face Transformers加载模型,结合PyTorch 2.0编译机制与精确时间戳,获得端到端生成阶段的TPS数据。

1、加载模型时启用torch.compile并设置动态shape支持:model = torch.compile(model, dynamic=True, mode="reduce-overhead")

2、禁用所有非必要输出,仅保留logits并强制同步GPU:torch.cuda.synchronize(); start_time = time.time()

3、执行generate调用,设置max_new_tokens=256且do_sample=False以消除采样开销。

4、再次同步GPU并记录结束时间:torch.cuda.synchronize(); end_time = time.time()

5、计算TPS:用256除以(end_time - start_time),结果即为本次生成的实测TPS。

到这里,我们也就讲完了《本地大模型推理速度测试:每秒生成多少Token》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>