解析结果
生成的结果保存在--output-path指定的路径下。
解析结果 |
采集domain域 |
---|---|
profiler.db |
"BatchSchedule; ModelExecute; Request; KVCache" |
chrome_tracing.json |
无强制限制。若要查看请求间flow event,需采集"Request"。 |
batch.csv |
"BatchSchedule; ModelExecute" |
kvcache.csv |
"KVCache" |
request.csv |
"Request" |
pd_split_communication.csv |
"Communication" |
pd_split_kvcache.csv |
"KVCache" |
request_summary.csv |
"Request" |
batch_summary.csv |
"BatchSchedule; ModelExecute" |
service_summary.csv |
"Request; BatchSchedule; ModelExecute" |
prefill.csv |
"BatchSchedule; ModelExecute; Request" |
decode.csv |
"BatchSchedule; ModelExecute" |
包括如下文件:
profiler.db
用于生成可视化折线图的SQLite数据库文件。
其中含有下述数据库表,具体作用如下:
Table名称 |
含义 |
---|---|
batch |
用于在MindStudio Insight展示batch表格数据。 |
decode_gen_speed |
用于生成decode阶段,服务化数据不同时刻吞吐的token平均时延折线图。 |
first_token_latency |
用于生成服务化框架首token时延折线图。 |
kvcache |
用于生成服务化kvcache显存使用情况折线图可视化。 |
prefill_gen_speed |
用于生成prefill阶段,服务化数据不同时刻吞吐的token平均时延折线图。 |
req_latency |
用于生成服务化框架请求端到端时延使用折线图。 |
request_status |
用于生成服务化采集数据不同时刻请求状态折线图。 |
request |
用于在MindStudio Insight展示请求表格数据。 |
batch_exec |
用于反映batch和模型执行关系对应表。 |
batch_req |
用于反映batch和请求对应关系表。 |
data_table |
用于在MindStudio Insight展示表格数据。 |
counter |
用于在trace图显示counter类数据。 |
flow |
用于在trace图显示flow类数据。 |
process |
用于在trace图显示二级泳道数据。 |
thread |
用于在trace图显示三级泳道数据。 |
slice |
用于在trace图显示色块数据。 |
pd_split_kvcache |
用于在MindStudio Insight展示PD分离场景下D节点拉取kvcache表格数据(只在PD分离场景下涉及)。 |
pd_split_communication |
用于在MindStudio Insight展示PD分离场景下PD节点通信的表格数据(只在PD分离场景下涉及)。 |
ep_balance |
记录DeepSeek专家模型服务化推理时,基于MSPTI采集的GroupedMatmul算子负载不均的分析结果。 |
moe_analysis |
记录DeepSeek专家模型服务化推理时,基于MSPTI采集的MoeDistributeCombine算子和MoeDistributeDispatch算子快慢卡分析结果。 |
此文件主要用于可视化阶段连接Grafana展示图像,不对各表项细节做具体解释说明。
chrome_tracing.json
batch.csv
记录服务化推理batch为粒度的详细数据。
字段 |
说明 |
---|---|
name |
用于区分组batch和执行batch。 name为batchFrameworkProcessing表示组batch;name为modelExec表示执行batch。 |
res_list |
batch组合情况。 |
start_time(ms) |
组batch或执行batch的开始时间,单位ms。 |
end_time(ms) |
组batch或执行batch的结束时间,单位ms。 |
batch_size |
batch中的请求数量。 |
batch_type |
batch中的请求状态(prefill和decode)。 |
during_time(ms) |
执行时间,单位ms。 |
kvcache.csv
记录推理过程的显存使用情况。
字段 |
说明 |
---|---|
domain |
标注KVCache事件。 |
rid |
请求ID。 |
timestamp(ms) |
发生显存使用情况变更的时间,单位ms。 |
name |
具体改变显存使用的方法。 |
device_kvcache_left |
显存中剩余blocks数量。 |
request.csv
记录服务化推理请求为粒度的详细数据。
字段 |
说明 |
---|---|
http_rid |
HTTP请求ID。 |
start_time(ms) |
请求到达的时间,单位ms。 |
recv_token_size |
请求的输入长度。 |
reply_token_size |
请求的输出长度。 |
execution_time(ms) |
请求端到端耗时,单位ms。 |
queue_wait_time(ms) |
请求在整个推理过程中在队列中等待的时间,这里包括waiting状态和pending状态的时间,单位ms。 |
first_token_latency(ms) |
首Token时延,单位ms。 |
pd_split_communication.csv
字段 |
说明 |
---|---|
rid |
请求ID。 |
http_req_time(ms) |
请求到达时间,单位ms。 |
send_request_time(ms) |
P节点开始向D节点发送请求时间,单位ms。 |
send_request_succ_time(ms) |
请求发送成功时间,单位ms。 |
prefill_res_time(ms) |
prefill执行完成时间,单位ms。 |
request_end_time(ms) |
请求执行完毕的时间,单位ms。 |
pd_split_kvcache.csv
字段 |
说明 |
---|---|
domain |
标注PullKVCache事件。 |
rank |
设备ID。 |
rid |
请求ID。 |
block_tables |
block_tables信息。 |
seq_len |
请求长度。 |
during_time(ms) |
KVCache从P节点传输到D节点的执行时间,单位ms。 |
start_datetime(ms) |
KVCache从P节点传输到D节点的开始时间,显示为具体日期,单位ms。 |
end_datetime(ms) |
KVCache从P节点传输到D节点的结束时间,显示为具体日期,单位ms。 |
start_time(ms) |
KVCache从P节点传输到D节点的开始时间,显示为时间戳,单位ms。 |
end_time(ms) |
KVCache从P节点传输到D节点的结束时间,显示为时间戳,单位ms。 |
request_summary.csv
多维度解析拆解出的request维度数据。
字段 |
说明 |
---|---|
Metric |
指标项,包含列表头的指标项和行表头的指标数据。 |
指标项(列表头)
|
|
first_token_latency (ms) |
首Token时延,单位ms。 |
subsequent_token_latency (ms) |
非首Token时延,指模型生成第一个Token之后,生成后续每个Token所花费的平均时间,单位ms。 |
total_time (ms) |
HTTP请求到结束的总时长,单位ms。 |
exec_time (ms) |
模型执行的总时长,单位ms。 |
waiting_time (ms) |
请求的等待耗时,单位ms。 |
input_token_num |
每个请求对应的输入Token数量。 |
generated_token_num |
每个请求对应的输出Token数量。 |
指标数据(行表头)
|
|
Average |
平均值。 |
Max |
最大值。 |
Min |
最小值。 |
P50 |
P50聚合统计。 |
P90 |
P90聚合统计。 |
P99 |
P99聚合统计。 |
batch_summary.csv
多维度解析拆解出的batch维度数据。
字段 |
说明 |
---|---|
Metric |
指标项,包含列表头的指标项和行表头的指标数据。 |
指标项(列表头)
|
|
prefill_batch_num |
每个batch中所有batch_type为prefill的记录数量。 |
decode_batch_num |
每个batch中所有batch_type为decode的记录数量。 |
prefill_exec_time (ms) |
每个batch中batch_type为prefill modelExec的记录的during_time,单位ms。 |
decode_exec_time (ms) |
每个batch中batch_type为decode modelExec的记录的during_time,单位ms。 |
指标数据(行表头)
|
|
Average |
平均值。 |
Max |
最大值 |
Min |
最小值。 |
P50 |
P50聚合统计。 |
P90 |
P90聚合统计。 |
P99 |
P99聚合统计。 |
service_summary.csv
多维度解析拆解出的总体服务维度数据。
字段 |
说明 |
---|---|
Metric |
指标项,包含列表头的指标项和行表头的指标数据。 |
指标项(列表头)
|
|
total_input_token_num |
总输入Token数量。 |
total_generated_token_num |
总输出Token数量。 |
generate_token_speed (token/s) |
每秒输出Token数,单位token/s。 |
generate_all_token_speed (token/s) |
每秒处理Token数,单位token/s。(输入输出总数) |
指标数据(行表头)
|
|
Value |
值。 |
prefill.csv
多维度解析拆解出prefill的batch数据。
字段 |
说明 |
---|---|
name |
标注batch内事件名称。 |
during_time(ms) |
事件的执行时间,单位ms。 |
max |
事件的最大执行时间,单位ms。 |
min |
事件的最小执行时间,单位ms。 |
mean |
事件的平均执行时间,单位ms。 |
std |
事件执行时间的标准差。 |
pid |
事件的进程号。 |
tid |
事件的线程号。 |
start_time(ms) |
事件的开始时间,显示为时间戳,单位ms。 |
end_time(ms) |
事件的结束时间,显示为时间戳,单位ms。 |
rid |
请求ID。 |
decode.csv
多维度解析拆解出decode的batch数据。
字段 |
说明 |
---|---|
name |
标注batch内事件名称。 |
during_time(ms) |
事件的执行时间,单位ms。 |
max |
事件的最大执行时间,单位ms。 |
min |
事件的最小执行时间,单位ms。 |
mean |
事件的平均执行时间,单位ms。 |
std |
事件执行时间的标准差。 |
pid |
事件的进程号。 |
tid |
事件的线程号。 |
start_time(ms) |
事件的开始时间,显示为时间戳,单位ms。 |
end_time(ms) |
事件的结束时间,显示为时间戳,单位ms。 |
ep_balance.csv
记录DeepSeek专家模型服务化推理时,基于MSPTI采集的GroupedMatmul算子负载不均的分析结果。
只要有ep_balance分析能力对应的数据,执行解析命令,结果目录下默认会生成该分析结果的热力图ep_balance.png,图中横轴为各个Device对应的Process ID,纵轴为模型的Decoder Layer层。图中像素点越亮说明耗时越久,各行色差越大说明负载不均现象越明显。
字段 |
说明 |
---|---|
<Process ID>(行表头) |
该文件中的行表头显示的是各个Device运行时的进程ID。 |
<Decoder Layer>(列取值) |
该文件中的列取值为各个Device运行的模型Decoder Layer层的序号。 |
moe_analysis.csv
记录DeepSeek专家模型服务化推理时,基于MSPTI采集的MoeDistributeCombine算子和MoeDistributeDispatch算子快慢卡分析结果。
只要有moe_analysis分析能力对应的数据,执行解析命令,结果目录下默认会生成该分析结果的箱型图moe_analysis.png,图中横轴为各个Device对应的Process ID,纵轴为耗时之和。图中展示耗时之和的均值和上下2.5%分位点,各个卡之间差距越大,上下分位点间隔越远,说明快慢卡现象越明显。
字段 |
说明 |
---|---|
Dataset |
对应Device的Process ID。 |
Mean |
该Device上MoeDistributeCombine算子和MoeDistributeDispatch算子的耗时之和的平均值。 |
CI Lower |
该Device上MoeDistributeCombine算子和MoeDistributeDispatch算子之和的下2.5%分位数。 |
CI Upper |
该Device上MoeDistributeCombine算子和MoeDistributeDispatch算子之和的上2.5%分位数。 |