使用PAI-Blade優(yōu)化模型后,系統(tǒng)會輸出優(yōu)化報告。本文詳細介紹優(yōu)化報告的結(jié)構(gòu)及字段含義。

調(diào)用blade.optimize優(yōu)化模型后,會產(chǎn)生一個JSON格式的優(yōu)化報告,其結(jié)構(gòu)如下所示。
Report: {
  // 軟件環(huán)境,包括框架、CUDA等。
  "software_context": [
    {
      "software": "tensorflow",
      "version": "1.15.0"
    },
    {
      "software": "cuda",
      "version": "9.0.176"
    }
  ],
  // 硬件環(huán)境。
  "hardware_context": {
    "device_type": "gpu",
    "microarchitecture": "T4"
  },
  "user_config": "",
  // 診斷信息。
  "diagnosis": {
    "model": "tmp_graph.pbtxt",           
    "test_data_source": "user provided",  
    "shape_variation": "dynamic",         
    "message": "",
    "test_data_info": "input_ids_a_1:0 shape: (1, 9240) data type: int32"
  },
  // 產(chǎn)生正優(yōu)化的優(yōu)化項列表。
  "optimizations": [
    {
      "name": "TfStripUnusedNodes", 
      "status": "effective",        
      "speedup": "na",              
      "pre_run": "na",              
      "post_run": "na"              
    },
    {
      "name": "TfAutoMixedPrecisionGpu",
      "status": "effective",
      "speedup": "1.42",
      "pre_run": "9.35 ms",
      "post_run": "6.59 ms"
    }
  ],
  // 端到端優(yōu)化結(jié)果。
  "overall": {
    "baseline": "10.00 ms",   
    "optimized": "4.38 ms",   
    "speedup": "2.28"         
  },
  // 模型信息。
  "model_info": {
    "input_format": "frozen_pb"  
  },
  
  // 兼容性列表。
  "compatibility_list": [
    {
      "device_type": "gpu",
      "microarchitecture": "T4"
    }
  ],
  "model_sdk": {}
}
報告中的字段含義如下表所示。
字段 描述
software_context 軟件環(huán)境,包括框架、CUDA等。
hardware_context 硬件環(huán)境信息,包括設(shè)備類型、規(guī)格等。
user_config 用戶配置信息。在PAI-Blade中,該參數(shù)為空。
diagnosis model 模型文件名稱。
test_data_source 測試數(shù)據(jù)來源,包括如下取值:
  • user provided:表示測試數(shù)據(jù)是由用戶提供的。
  • blade deduced:表示測試數(shù)據(jù)是由PAI-Blade推斷出的。
shape_variation 輸入形狀的變化情況,包括如下取值:
  • static
  • multiple_static_shapes
  • dynamic
message 如果PAI-Blade推斷測試數(shù)據(jù)失敗,則會輸出相關(guān)報錯信息。
test_data_info 測試數(shù)據(jù)信息,包括形狀,數(shù)據(jù)類型等信息。
optimizations name 優(yōu)化項名稱。
status 優(yōu)化是否生效,包括如下取值:
  • effective:生效
  • ineffective:無效
speedup 加速比,計算公式為speedup = pre_run / post_run
pre_run 優(yōu)化前的速度。
post_run 優(yōu)化后的速度。
overall baseline 加速前的延遲。
optimized 加速后的延遲。
speedup 加速比,計算公式為speedup = baseline / optimized
model_info input_format 原始模型格式。
compatibility_list 兼容性列表,即優(yōu)化結(jié)果必須在列表中的設(shè)備上才能正常執(zhí)行,并且性能達到預(yù)期。
model_sdk 模型部署需要的額外SDK信息,目前該參數(shù)均為空。