解析结果
生成的结果保存在--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"  | 
      
包括如下文件:
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
记录推理服务化请求trace数据,可使用不同可视化工具进行查看,详细介绍请参见数据可视化。
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
PD分离部署场景通信类数据。PD分离部署场景属于多机多卡(集群)场景之一,需要在执行采集时使用共享配置文件。
PD分离部署场景及概念详细介绍请参见《MindIE Motor开发指南》中的“集群服务部署 > PD分离服务部署”章节。
| 
          字段  | 
        
          说明  | 
       
|---|---|
| 
          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分离服务部署”章节。
| 
          字段  | 
        
          说明  | 
       
|---|---|
| 
          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。  | 
       
ep_balance.csv
记录DeepSeek专家模型服务化推理时,基于MSPTI采集的GroupedMatmul算子负载不均的分析结果。
只要有ep_balance分析能力对应的数据,执行解析命令,结果目录下默认会生成该分析结果的热力图图1,图中横轴为各个Device对应的Process ID,纵轴为模型的Decoder Layer层。图中像素点越亮说明耗时越久,各行色差越大说明负载不均现象越明显。
| 
          字段  | 
        
          说明  | 
       
|---|---|
| 
          <Process ID>(行表头)  | 
        
          该文件中的行表头显示的是各个Device运行时的进程ID。  | 
       
| 
          <Decoder Layer>(列取值)  | 
        
          该文件中的列取值为各个Device运行的模型Decoder Layer层的序号。  | 
       
moe_analysis.csv
记录DeepSeek专家模型服务化推理时,基于MSPTI采集的MoeDistributeCombine算子和MoeDistributeDispatch算子快慢卡分析结果。
只要有moe_analysis分析能力对应的数据,执行解析命令,结果目录下默认会生成该分析结果的箱型图图2,图中横轴为各个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%分位数。  | 
       

