昇腾社区首页
中文
注册

解析结果

生成的结果保存在--output-path指定的路径下。

表1 采集domain域与解析结果对照表

解析结果

采集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数据库文件。

其中含有下述数据库表,具体作用如下:

表2 profiler.db

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

记录推理服务化请求trace数据,可使用不同可视化工具进行查看,详细介绍请参见数据可视化

batch.csv

记录服务化推理batch为粒度的详细数据。

表3 batch.csv

字段

说明

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

记录推理过程的显存使用情况。

表4 kvcache.csv

字段

说明

domain

标注KVCache事件。

rid

请求ID。

timestamp(ms)

发生显存使用情况变更的时间,单位ms。

name

具体改变显存使用的方法。

device_kvcache_left

显存中剩余blocks数量。

request.csv

记录服务化推理请求为粒度的详细数据。

表5 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

PD分离部署场景通信类数据。PD分离部署场景属于多机多卡(集群)场景之一,需要在执行采集时使用共享配置文件。
PD分离部署场景及概念详细介绍请参见《MindIE Motor开发指南》中的“集群服务部署 > PD分离服务部署”章节
表6 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

记录PD分离推理过程的KVCache在PD节点间的传输情况。PD分离部署场景属于多机多卡(集群)场景之一,需要在执行采集时使用共享配置文件。
PD分离部署场景及概念详细介绍请参见《MindIE Motor开发指南》中的“集群服务部署 > PD分离服务部署”章节
表7 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维度数据。

表8 request_summary.csv

字段

说明

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维度数据。

表9 batch_summary.csv

字段

说明

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

多维度解析拆解出的总体服务维度数据。

表10 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数据。

表11 prefill.csv

字段

说明

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数据。

表12 decode.csv

字段

说明

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层。图中像素点越亮说明耗时越久,各行色差越大说明负载不均现象越明显。

表13 ep_balance.csv

字段

说明

<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%分位点,各个卡之间差距越大,上下分位点间隔越远,说明快慢卡现象越明显。

表14 moe_analysis.csv

字段

说明

Dataset

对应Device的Process ID。

Mean

该Device上MoeDistributeCombine算子和MoeDistributeDispatch算子的耗时之和的平均值。

CI Lower

该Device上MoeDistributeCombine算子和MoeDistributeDispatch算子之和的下2.5%分位数。

CI Upper

该Device上MoeDistributeCombine算子和MoeDistributeDispatch算子之和的上2.5%分位数。