昇腾社区首页
中文
注册

解析结果

生成的结果保存在--output-path指定的路径下。包括如下文件:

profiler.db

用于生成可视化折线图的SQLite数据库文件。

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

表1 profiler.db

Table名称

含义

batch

用于生成服务化采集数据组Batch过程画折线图。

decode_gen_speed

用于生成decode阶段,服务化数据不同时刻吞吐的token平均时延折线图。

first_token_latency

用于生成服务化框架首token时延折线图。

kvcache

用于生成服务化kvcache显存使用情况折线图可视化。

prefill_gen_speed

用于生成prefill阶段,服务化数据不同时刻吞吐的token平均时延折线图。

req_latency

用于生成服务化框架请求端到端时延使用折线图。

request_status

用于生成服务化采集数据不同时刻请求状态折线图。

此文件主要用于可视化阶段连接grafana展示图像,不对各表项细节做具体解释说明。

chrome_tracing.json

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

batch.csv

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

表2 batch.csv

字段

说明

name

用于区分组batch和执行batch。

name为BatchSchedule表示组batch;name为modelExec表示执行batch。

res_list

batch组合情况。

start_time(microsecond)

组batch或执行batch的开始时间,单位us。

end_time(microsecond)

组batch或执行batch的结束时间,单位us。

batch_size

batch中的请求数量。

batch_type

batch中的请求状态(prefill和decode)。

during_time(microsecond)

执行时间,单位us。

kvcache.csv

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

表3 kvcache.csv

字段

说明

domain

标注KVcache事件。

rid

请求ID。

start_time(microsecond)

记录显存占用的开始时刻,单位us。

end_time(microsecond)

记录显存释放的时刻,单位us。

name

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

device_kvcache_left

显存中剩余blocks数量。

during_time(microsecond)

执行时间,单位us。

request.csv

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

表4 request.csv

字段

说明

http_rid

HTTP请求ID。

start_time_httpReq(microsecond)

请求到达的时间,单位us。

recv_token_size

请求的输入长度。

reply_token_size

请求的输出长度。

execution_time(microsecond)

请求端到端耗时,单位us。

queue_wait_time(microsecond)

请求在整个推理过程中在队列中等待的时间,这里包括waiting状态和pending状态的时间,单位us。

pdSplitComm.csv

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

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

表5 pdSplitComm.csv

字段

说明

rid

请求ID。

httpReqTime

请求到达时间,单位us。

requestSendTime

P节点开始向D节点发送请求时间,单位us。

requestSendSuccTime

请求发送成功时间,单位us。

prefillResTime

Prefill执行完成时间,单位us。

requestEndTime

请求执行完毕的时间,单位us。

pd_separate_kvcache.csv

记录PD分离推理过程的KVCache在PD节点间的传输情况。PD分离部署场景属于多机多卡(集群)场景之一,需要在执行采集时使用共享配置文件。

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

表6 pd_separate_kvcache.csv

字段

说明

domain

标注PullKVCache事件。

rank

设备ID。

rid

请求ID。

block_tables

block_tables信息。

seq_len

请求长度。

during_time(microsecond)

KVCache从P节点传输到D节点的执行时间,单位us。

start_datetime

KVCache从P节点传输到D节点的开始时间,显示为具体日期,单位us。

end_datetime

KVCache从P节点传输到D节点的结束时间,显示为具体日期,单位us。

start_time(microsecond)

KVCache从P节点传输到D节点的开始时间,显示为时间戳,单位us。

end_time(microsecond)

KVCache从P节点传输到D节点的结束时间,显示为时间戳,单位us。

request_summary.csv

多维度解析拆解出的request维度数据。

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

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

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

表9 service_summary.csv

字段

说明

Metric

指标项,包含列表头的指标项和行表头的指标数据。

指标项(列表头)

total_input_token_num

总输入Token数量。

total_generated_token_num

总输出Token数量。

generate_token_speed (token/s)

每秒输出Token数,单位token/s。

process_token_speed (token/s)

每秒处理Token数,单位token/s。(输入输出总数)

指标数据(行表头)

value

值。