社群計算機視覺課程文件
模型最佳化工具和框架
並獲得增強的文件體驗
開始使用
模型最佳化工具和框架
Tensorflow 模型最佳化工具包 (TMO)
概述
TensorFlow 模型最佳化工具包是一套用於最佳化機器學習模型以進行部署的工具。TensorFlow Lite 後訓練量化工具使使用者能夠將權重轉換為 8 位精度,從而將訓練模型的尺寸減小約 4 倍。如果後訓練量化不足,這些工具還包括在訓練期間進行剪枝和量化的 API。這些工具有助於使用者減少延遲和推理成本,將模型部署到資源受限的邊緣裝置,並最佳化現有硬體或新型專用加速器的執行。
設定指南
Tensorflow 模型最佳化工具包作為 pip 包 tensorflow-model-optimization 提供。要安裝該包,請執行以下命令:
pip install -U tensorflow-model-optimization實踐指南
有關如何使用 Tensorflow 模型最佳化工具包的實踐指南,請參閱此 notebook
PyTorch 量化
概述
為了最佳化模型,PyTorch 支援 INT8 量化,與典型的 FP32 模型相比,這使得模型大小減少 4 倍,記憶體頻寬需求減少 4 倍。PyTorch 支援多種深度學習模型量化方法,如下所示:
- 模型以 FP32 格式訓練,然後轉換為 INT8 格式。
- 量化感知訓練,即使用假量化模組在正向和反向傳播中量化模型誤差。
- 表示量化張量並對其進行操作。它們可用於直接構建全部或部分計算採用低精度的模型。
有關 PyTorch 中量化的更多詳細資訊,請參見此處
設定指南
PyTorch 量化作為 API 在 PyTorch 包中提供。要使用它,只需安裝 PyTorch 並匯入量化 API,如下所示:
pip install torch
import torch.quantization實踐指南
有關如何使用 PyTorch 量化的實踐指南,請參閱此 notebook
ONNX Runtime
概述
ONNX Runtime 是一個跨平臺機器學習模型加速器,具有靈活的介面以整合特定硬體庫。ONNX Runtime 可與來自 PyTorch、Tensorflow/Keras、TFLite、scikit-learn 和其他框架的模型一起使用。使用 ONNX Runtime 進行推理的好處如下:
- 提高各種機器學習模型的推理效能。
- 在不同的硬體和作業系統上執行。
- 在 Python 中訓練,但部署到 C#/C++/Java 應用程式中。
- 使用在不同框架中建立的模型進行訓練和推理。
有關 ONNX Runtime 的更多詳細資訊,請參見此處。
設定指南
ONNX Runtime 有兩個 Python 包,並且在任何一個環境中一次只能安裝其中一個。如果要使用 ONNX Runtime 並支援 GPU,請使用 GPU 包。ONNX Runtime 的 Python 包作為 pip 包提供。要安裝該包,請執行以下命令:
pip install onnxruntime對於 GPU 版本,請執行以下命令:
pip install onnxruntime-gpu實踐指南
有關如何使用 ONNX Runtime 的實踐指南,請參閱此 notebook
TensorRT
概述
NVIDIA® TensorRT™ 是一款用於最佳化已訓練深度學習模型以實現高效能推理的 SDK。TensorRT 包含一個用於已訓練深度學習模型的深度學習推理最佳化器和一個執行執行時。使用者在選擇的框架中訓練深度學習模型後,TensorRT 使其能夠以更高的吞吐量和更低的延遲執行。
設定指南
TensorRT 可作為 pip 包 tensorrt 使用。要安裝該包,請執行以下命令:
pip install tensorrt對於其他安裝方法,請參閱此處。
實踐指南
有關如何使用 TensorRT 的實踐指南,請參閱此 notebook
OpenVINO
概述
OpenVINO™ 工具包使使用者能夠最佳化幾乎任何框架的深度學習模型,並在各種英特爾® 處理器和其他硬體平臺上以一流的效能部署它。使用 OpenVINO 的好處包括:
- 直接連結到 OpenVINO Runtime 以在本地執行推理,或使用 OpenVINO Model Server 從單獨的伺服器或 Kubernetes 環境中提供模型推理服務。
- 一次編寫應用程式,即可在您喜歡的裝置、語言和作業系統上的任何位置部署。
- 具有最少的外部依賴項。
- 透過使用 CPU 進行初始推理,然後在模型編譯並載入到記憶體後切換到另一個裝置,從而減少首次推理延遲。
設定指南
Openvino 可作為 pip 包 openvino 使用。要安裝該包,請執行以下命令:
pip install openvino有關其他安裝方法,請參閱此處。
實踐指南
有關如何使用 OpenVINO 的實踐指南,請參閱此 notebook
Optimum
概述
Optimum 是 Transformers 的擴充套件,提供了一套旨在最佳化在特定硬體上訓練和執行模型效能的工具,確保最大效率。在快速發展的人工智慧領域,專門的硬體和獨特的最佳化方案不斷湧現。Optimum 使開發人員能夠無縫利用這些多樣化的平臺,同時保持 Transformers 固有的易用性。Optimum 目前支援的平臺有:
設定指南
Optimum 可作為 pip 包 optimum 使用。要安裝該包,請執行以下命令:
pip install optimum有關加速器特定功能的安裝,請參閱此處。
實踐指南
有關如何使用 Optimum 進行量化的實踐指南,請參閱此 notebook
EdgeTPU
概述
Edge TPU 是谷歌專門構建的 ASIC,旨在邊緣執行 AI。它在小巧的物理和功耗尺寸內提供高效能,從而實現高精度 AI 在邊緣的部署。使用 EdgeTPU 的好處包括:
- 補充 Cloud TPU 和 Google Cloud 服務,為基於 AI 的解決方案部署提供端到端、雲到邊緣的硬體 + 軟體基礎設施
- 在小巧的物理和功耗尺寸內提供高效能
- 結合定製硬體、開放軟體和最先進的 AI 演算法,為邊緣提供高質量、易於部署的 AI 解決方案
有關 EdgeTPU 的更多詳細資訊,請參閱此處
有關如何設定和使用 EdgeTPU 的指南,請參閱此 notebook
< > 在 GitHub 上更新