Hugging Face Optimum Intel 與 OpenVINO 整合
Hugging Face 已將 Intel OpenVINO 整合至 Optimum Intel 函式庫,讓使用者能夠執行加速推論並量化 Transformer 模型,以部署於各種 Intel 處理器上。此整合簡化了使用 OpenVINO Runtime 與神經網路壓縮框架 (NNCF) 來縮減模型大小與預測延遲的流程。
OpenVINO 整合與模型支援
此整合的首次發行基於 OpenVINO 2022.2。它透過 OVModels 類別支援大量 PyTorch 模型的推論。
支援的模型類型
- Encoder Models: 支援許多編碼器模型(如 BERT 與 DistilBERT)的後訓練靜態量化與量化感知訓練。未來的 OpenVINO 版本將加入更多編碼器模型。
- Encoder-Decoder Models: 目前尚未啟用此類模型的量化,但計畫在下一個 OpenVINO 版本中加入支援。
使用 NNCF 進行模型量化
量化透過降低模型參數的位寬,以減少記憶體與計算需求。這使得可使用整數運算進行更快速的矩陣乘法,並在推論時降低記憶體使用量。
量化流程
使用 OVQuantizer 與 OpenVINO 神經網路壓縮框架 (NNCF),使用者可以執行後訓練靜態量化。此流程包含校準步驟,會將一小部分資料(例如 300 筆樣本)送入網路,以計算量化後的激活參數。
量化完成後,模型會匯出為 OpenVINO 中介表示 (IR) 格式,包含描述網路拓撲的 XML 檔案與儲存權重的二進位檔案。此格式允許模型在任何目標 Intel 裝置上執行。
效能提升:Vision Transformer (ViT) 案例研究
為了展示此整合的效能,Hugging Face 對在 food101 資料集上微調的 Vision Transformer (ViT) 模型套用了後訓練靜態量化。結果顯示在幾乎不影響準確度的情況下,取得了顯著的效能提升。
效率與延遲基準
- Memory Reduction: 模型大小縮減了 3.8 倍,從 344MB 降至 90MB。
- Latency Improvement: 推論延遲提升了 2.4 倍,從每樣本 98ms 降至 41ms(基於 5,050 張影像的預測)。
- Accuracy: 原始模型與量化後模型在評估資料集 20% 子集上的準確率皆為 87.6。
實作說明
由於模型會在首次推論前立即編譯,首次預測的延遲會被放大。建議使用者在進行效能基準測試前,先執行至少一次暖機預測。