optimum: 一個用於在各種 AI 加速器上最大化訓練與推理效率的硬體優化工具包

optimum: 一個用於在各種 AI 加速器上最大化訓練與推理效率的硬體優化工具包

它解決了什麼問題

Optimum 簡化了在特定硬體加速器上訓練與執行 AI 模型的工作流程,確保模型能達到最高效率,而無需使用者手動處理複雜的硬體特定優化。它擴展了 Transformers、Diffusers、TIMM 和 Sentence-Transformers 等函式庫的功能。

運作原理

Optimum 作為一個優化層,提供工具來跨各種生態系統匯出、量化並執行模型。它為不同的硬體後端提供專門的封裝器(wrappers)與整合方案,包括:

  • 推理引擎: 支援 ONNX Runtime、OpenVINO、ExecuTorch、NVIDIA TensorRT-LLM 以及 AWS Inferentia。
  • 訓練封裝器: 在 Transformers Trainer 周圍提供專門的封裝器,以在 Intel Gaudi (HPU) 和 AWS Trainium 等硬體上實現加速訓練。
  • 量化: 提供如 Quanto 等工具,可透過 API 或命令列進行 PyTorch 量化。

對象是誰

需要將 AI 模型部署到目標硬體(邊緣裝置、GPU、NPU 以及專用 AI 加速器)進行生產環境運作的開發者與 ML 工程師,以及希望加速其訓練流程的人員。

重點特色

  • 廣泛的硬體支援: 與 NVIDIA、Intel (OpenVINO, Gaudi)、AMD、AWS (Trainium, Inferentia) 以及 FuriosaAI 整合。
  • 無縫匯出: 能夠輕鬆地將模型匯出為 ONNX 和 ExecuTorch 等格式,以便進行裝置端推理。
  • 統一介面: 提供一致的方式,透過 Python API 或命令列介面來優化並執行來自 Hugging Face 生態系統的模型。
  • 加速訓練: 簡化了在模型訓練與微調時使用高效能硬體的工作流程。

Sources