ShareGPT数据集在推理速度基准测试中的应用:标准化性能评测的数据选择指南

夜明同学_8141

夜明同学_8141

2026-05-27

602人浏览

原创

sharegpt是推理速度基准测试的事实标准数据源,因其结构统一、轮次明确、token可统计且天然适配对话式api。其应用包括:一、构造长度可控请求以隔离硬件与调度影响;二、构建高共享前缀子集评估radixattention缓存效率;三、生成多轮流式请求测试对话吞吐稳定性;五、适配openai兼容api实现跨引擎无缝集成。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

sharegpt数据集在推理速度基准测试中的应用:标准化性能评测的数据选择指南

如果您在对大语言模型进行推理速度基准测试时,发现不同团队报告的吞吐量、TTFT或TPOT指标难以横向比较,则很可能是由于所用测试数据在长度分布、上下文依赖强度及格式标准化程度上存在显著差异。ShareGPT数据集因其结构统一、轮次明确、token长度可统计且天然适配对话式API调用格式,已成为vLLM、SGLang等主流推理引擎基准测试中事实采用的标准数据源之一。以下是该数据集在推理速度基准测试中作为标准化评测数据的具体应用方式:

一、构造长度可控的请求负载以隔离硬件与调度影响

推理速度受输入长度、输出长度及上下文窗口占用率三重因素耦合影响。ShareGPT原始对话中每条human消息均可提取为独立prompt,其对应gpt回复可截断为固定目标长度,从而构建出token数精确可控的请求序列,有效剥离模型架构与解码策略对延迟测量的干扰。

1、从ShareGPT_V3_unfiltered_cleaned_split.json中加载全部样本,过滤conversations字段长度≥3的会话。

2、对每个会话提取第2轮human消息作为prompt,其后紧随的assistant回复作为reference,二者分别统计token数(使用对应模型tokenizer)。

3、将prompt按token数分组:短(1–128)、中(129–512)、长(513–2048),每组内随机采样500条,确保各长度档位样本量均衡。

4、对每条prompt设定目标输出长度为256 token,超出部分截断,不足则补全至256,生成结构化JSONL文件,字段包含prompt_tokens、output_tokens、session_id。

二、构建高共享前缀子集以评估RadixAttention缓存效率

vLLM与SGLang的核心性能优势依赖于RadixAttention机制对公共prompt前缀的KV缓存复用能力。ShareGPT中大量会话包含重复系统指令(如“You are a helpful assistant.”)与高频开场白(如“请帮我写一个Python函数…”),可被显式识别并标准化为统一前缀序列,用于定向压测缓存命中率与首token延迟改善效果。

1、使用正则匹配所有含标准系统提示的conversations样本,提取其首条human消息前的system角色内容,并映射为固定token ID序列[151643, 151644, 151645](以Llama-3 tokenizer为例)。

2、筛选出至少连续两轮human消息均以相同动词开头(如“解释”、“列出”、“生成”)的会话,标识为“高前缀复用潜力组”。

3、将该组中所有prompt截断至前128 token,强制对齐起始位置,生成prefix-aligned.jsonl文件供benchmark_prefix_caching.py直接加载。

4、运行vLLM benchmark_prefix_caching.py脚本,启用--enable-radix-cache参数,对比启用与禁用状态下TTFT中位数及GPU显存带宽利用率变化。

三、生成多轮流式请求序列以测试真实对话场景吞吐稳定性

单轮静态请求无法反映KV缓存随轮次增长的衰减趋势与调度器在动态上下文下的响应一致性。ShareGPT的多轮交替结构可被转化为严格时序的流式请求链:每轮请求携带完整历史(role标记+tokenized messages),使benchmark_serving.py能准确模拟真实服务端在持续交互中的吞吐波动与延迟抖动。

1、从ShareGPT中选取平均轮次≥5且每轮human消息token数方差

2、对每条会话,按轮次展开为独立请求:第1轮仅传入第1条human;第2轮传入第1–2条human+第1条assistant;第3轮传入全部前三轮消息,依此类推。

AI Prompt Generator
AI Prompt Generator

AI Prompt Generator是一款AI提示词工具,什么 A...。

下载

3、为每轮请求添加唯一request_id与parent_request_id字段,确保服务端可识别上下文继承关系。

4、使用locust或vLLM自带的asyncio压测脚本,以10 QPS恒定速率注入该序列,采集每轮的TTFT、TPOT、缓存命中率及OOM错误率。

四、剔除异常长度与低质量样本以保障基准结果可信度

原始ShareGPT数据中存在少量超长摘要、代码块嵌套过深或含非法控制字符的样本,会导致tokenizer异常、KV缓存溢出或解码中断,进而污染整体延迟统计分布。必须基于token级与结构级双重校验实施硬性过滤,确保基准测试数据集满足工业级鲁棒性要求。

1、加载每条conversations后,使用对应模型tokenizer逐轮编码,剔除任一轮prompt_token > 0.8 × model_context_length的样本。

2、检测conversations数组中是否存在连续两轮human消息无assistant回复、或同一role字段重复出现三次以上的情况,此类视为结构损坏样本并移除。

3、对所有assistant回复执行Unicode合法性检查,移除含U+FFFD(replacement char)或控制字符(\x00–\x1F)占比>0.5%的回复。

4、最终保留样本需满足:单轮prompt token数介于32–1024之间、assistant回复token数介于64–512之间、整体会话总token数不超过模型最大上下文90%。

五、适配OpenAI兼容API格式以实现跨引擎无缝集成

vLLM、SGLang、TGI及TensorRT-LLM等主流推理后端均已支持OpenAI API风格的messages输入。ShareGPT原始JSON中conversations字段天然具备role与content字段,只需做最小映射转换(human→user、gpt→assistant、system→system),即可生成零修改接入各benchmark工具的标准请求体,大幅降低多引擎横向评测门槛。

1、遍历conversations数组,将from字段值映射为role:'human'→'user','gpt'→'assistant','system'→'system'。

2、过滤掉content为空字符串或仅含空白符的消息项,避免空请求触发异常调度路径。

3、对每条消息content执行HTML实体解码与XML非法字符替换(如\u0000→\uFFFD),确保JSON序列化不中断。

4、将转换后的messages列表封装为标准OpenAI request JSON对象,字段包括model、messages、max_tokens、temperature=0,并保存为openai_compatible_requests.jsonl。

相关专题

更多
数据分析的方法
数据分析的方法

数据分析的方法有:对比分析法,分组分析法,预测分析法,漏斗分析法,AB测试分析法,象限分析法,公式拆解法,可行域分析法,二八分析法,假设性分析法。php中文网为大家带来了数据分析的相关知识、以及相关文章等内容。

2023.07.04

1702

6

数据分析方法有哪几种
数据分析方法有哪几种

数据分析方法有:1、描述性统计分析;2、探索性数据分析;3、假设检验;4、回归分析;5、聚类分析。本专题为大家提供数据分析方法的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.07

2290

5

网站建设功能有哪些
网站建设功能有哪些

网站建设功能包括信息发布、内容管理、用户管理、搜索引擎优化、网站安全、数据分析、网站推广、响应式设计、社交媒体整合和电子商务等功能。这些功能可以帮助网站管理员创建一个具有吸引力、可用性和商业价值的网站,实现网站的目标。

2023.10.16

6410

14

数据分析网站推荐
数据分析网站推荐

数据分析网站推荐:1、商业数据分析论坛;2、人大经济论坛-计量经济学与统计区;3、中国统计论坛;4、数据挖掘学习交流论坛;5、数据分析论坛;6、网站数据分析;7、数据分析;8、数据挖掘研究院;9、S-PLUS、R统计论坛。想了解更多数据分析的相关内容,可以阅读本专题下面的文章。

2024.03.13

2924

8

Python 数据分析处理
Python 数据分析处理

本专题聚焦 Python 在数据分析领域的应用,系统讲解 Pandas、NumPy 的数据清洗、处理、分析与统计方法,并结合数据可视化、销售分析、科研数据处理等实战案例,帮助学员掌握使用 Python 高效进行数据分析与决策支持的核心技能。

2025.09.08

4145

12

Python 数据分析与可视化
Python 数据分析与可视化

本专题聚焦 Python 在数据分析与可视化领域的核心应用,系统讲解数据清洗、数据统计、Pandas 数据操作、NumPy 数组处理、Matplotlib 与 Seaborn 可视化技巧等内容。通过实战案例(如销售数据分析、用户行为可视化、趋势图与热力图绘制),帮助学习者掌握 从原始数据到可视化报告的完整分析能力。

2025.10.14

6172

24

Python 数据分析与可视化合集
Python 数据分析与可视化合集

聚焦 Python 在数据分析领域的核心应用,讲解 NumPy 数组运算、Pandas 数据清洗与聚合统计、缺失值与异常值处理、数据透视表生成,以及使用 Matplotlib、Seaborn、Pyecharts 制作折线图、柱状图、热力图、地图等多种可视化图表,适合数据分析师和运营人员快速掌握用 Python 从原始数据中挖掘洞察的能力。

2026.04.08

276

25

Python数据分析与Pandas高级实战
Python数据分析与Pandas高级实战

本专题围绕 Python 数据分析展开,系统讲解 Pandas 的高级用法,包括数据清洗、透视表、时间序列分析以及多表合并与分组操作。通过实战案例,帮助开发者掌握高效处理与分析数据的方法,提高数据处理效率与分析能力。

2026.04.13

431

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习