昇腾社区首页
中文
注册

解析结果

生成的结果保存在--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"

forward.csv

"BatchSchedule; ModelExecute"

pd_split_communication.csv

"Communication"

pd_split_kvcache.csv

"KVCache"

coordinator.csv

"Coordinator"

上表中未列出acl_prof_task_time_level、aclDataTypeConfig和aclprofAicoreMetrics参数采集数据的解析结果,这三个参数的详细结果介绍请参见采集数据说明op_summary(算子详细信息),但具体采集结果请以实际情况为准。

包括如下文件:

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算子快慢卡分析结果。

data_link

用于在trace图显示forward的时候支持单击rid显示请求输入长度信息。

此文件主要用于可视化阶段连接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。

forward.csv

记录服务化推理模型前向执行过程的详细数据。

表6 forward.csv

字段

说明

name

标注forward事件,代表模型前向执行过程

relative_start_time(ms)

每台机器上forward与第一个forward之间的时间。

start_time(ms)

forward的开始时间,单位ms。

end_time(ms)

forward的结束时间,单位ms。

during_time(ms)

forward的执行时间,单位ms。

bubble_time(ms)

forward之间的空泡时间,单位ms。

batch_size

forward处理的请求数量。

batch_type

forward中的请求状态。

forward_iter

不同卡上forward的迭代序号。

dp_rank

标识forward的DP信息,相同DP域该列的值相同。

prof_id

标识不同卡,相同的卡该列的值相同。

hostname

标识不同机器,相同机器该列的值相同。

pd_split_communication.csv

PD分离部署场景通信类数据。PD分离部署场景属于多机多卡(集群)场景之一,需要在执行采集时使用共享配置文件。

PD分离部署场景及概念详细介绍请参见《MindIE Motor开发指南》中的“集群服务部署 > PD分离服务部署”章节

表7 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分离服务部署”章节

表8 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。

coordinator.csv

记录PD分离推理过程的请求分发到各个节点数量变化情况。PD分离部署场景属于多机多卡(集群)场景之一,需要在执行采集时使用共享配置文件。

PD分离部署场景及概念详细介绍请参见《MindIE Motor开发指南》中的“集群服务部署 > PD分离服务部署”章节

表9 coordinator.csv

字段

说明

time

请求数量变化的时刻。

address

分发给节点的地址。格式为:IP地址:端口号。

node_type

节点的类型。prefill或decode。

add_count

当前节点增加的请求数量。

end_count

当前节点结束的请求数量。

running_count

当前节点正在运行的请求数量。

ep_balance.csv

记录DeepSeek专家模型服务化推理时,基于MSPTI采集的GroupedMatmul算子负载不均的分析结果。

只要有ep_balance分析能力对应的数据,执行解析命令,结果目录下默认会生成该分析结果的热力图ep_balance.png,图中横轴为各个Device对应的Process ID,纵轴为模型的Decoder Layer层。图中像素点越亮说明耗时越久,各行色差越大说明负载不均现象越明显。

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

表11 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%分位数。

request_status.csv

统计服务化推理过程中,各个时刻的请求状态(处于waiting、running或swapped状态的请求个数)。可以根据统计的数据,绘制折线图,反映请求状态的变化趋势。

表12 request_status.csv

字段

说明

hostuid

节点ID。

pid

进程ID。

timestamp(ms)

时间戳,单位ms。

relative_timestamp(ms)

相对时间戳,单位ms。

waiting

处于waiting状态的请求个数。

running

处于running状态的请求个数。

swapped

处于swapped状态的请求个数。