什麼是ONNX

用於在不同框架與推論執行環境之間交換模型的通用模型格式。是 Open Neural Network Exchange 的縮寫。

日文名稱: ONNX

「ONNX」出現在1領域的2道練習題中(AI硬體與軟體堆疊等)。

這個名詞所屬的領域: AI硬體與軟體堆疊

練習ONNX的題目

關於ONNX,下列說明何者正確?

  1. AAI專用半導體晶片的名稱
  2. B壓縮AI訓練資料的方式
  3. C用於在不同框架或推論執行環境之間交換模型的通用模型格式
查看答案與解析

正確答案:C. 用於在不同框架或推論執行環境之間交換模型的通用模型格式

ONNX(Open Neural Network Exchange)是以通用格式表示模型的計算圖與權重的規格。以PyTorch等訓練的模型,只要輸出為ONNX,就能由其他公司的推論執行環境或各種硬體的工具載入並執行。由於能將訓練環境與推論環境分離,因此容易依裝置選擇最佳的執行機制。

TensorRT或ONNX Runtime這類推論執行環境,比直接用訓練用框架進行推論更快,其主要原因為下列何者?

  1. A因為會將計算圖最佳化為僅推論所需的形式,進行運算融合、量化、選擇適合硬體的kernel等
  2. B因為推論執行環境會省略計算,給出大致的答案
  3. C因為推論執行環境會增加模型的權重數量
查看答案與解析

正確答案:A. 因為會將計算圖最佳化為僅推論所需的形式,進行運算融合、量化、選擇適合硬體的kernel等

訓練用框架重視寫法的靈活性以及為反向傳播所做的記錄,因此只用於推論時會有浪費。推論執行環境載入模型後,會去除推論不需要的部分、融合運算,並視需要將權重或啟動值轉為較低的精度,再為目標GPU或NPU選擇最快的kernel。如此一來,即使是相同的模型,也能大幅降低延遲與記憶體用量。

解析中的「ONNX」

出現「ONNX」的題目(2題)

  1. 關於ONNX,下列說明何者正確?
  2. TensorRT或ONNX Runtime這類推論執行環境,比直接用訓練用框架進行推論更快,其主要原因為下列何者?

相關名詞

推論執行環境(Inference runtime) 計算圖(Computational graph) 反向傳播(Backpropagation) GPU NPU(神經網路處理單元) 全歸約(All-reduce) 批次大小(Batch size) 注意力機制(Attention mechanism) 知識蒸餾(Knowledge distillation) 訓練後量化(Post-training quantization)

前往名詞解釋列表