microsoft/hummingbird

Hummingbird compiles trained ML models into tensor computation for faster inference.

解決的問題

Hummingbird 解決了傳統機器學習模型(如決策樹和隨機森林)推論速度緩慢的問題,允許它們以張量運算的方式執行。這使得這些模型能夠利用通常保留給深度學習框架的硬體加速(GPU)和優化技術,而無需使用者重新設計原始模型。

運作原理

它透過將演算法運算子重新配置為與向量化和 GPU 執行相容的常規運算,將訓練好的傳統 ML 模型編譯為張量運算。例如,它可以將決策樹的遍歷轉換為一系列矩陣乘法(GEMM 策略),將模型的邏輯轉換為 PyTorch 等框架可以高效處理的張量。

目標對象

專為使用 scikit-learn、LightGBM 或 XGBoost 等傳統 ML 函式庫,並希望使用 PyTorch、TorchScript、ONNX 或 TVM 等神經網路後端來加速模型推論的資料科學家和 ML 工程師所設計。

特色亮點

  • 框架靈活性:將模型轉換為 PyTorch、TorchScript、ONNX 和 TVM。
  • 廣泛的模型支援:相容於 scikit-learn 的決策樹和隨機森林,以及 LightGBM 和 XGBoost 的分類器與迴歸器。
  • 無縫整合:提供遵循 scikit-learn 模式的統一推論 API,允許使用者在不更改推論程式碼的情況下替換模型。
  • 硬體加速:透過目標張量框架為傳統 ML 模型啟用原生 GPU 加速。

相關

  • 專案
  • 專案
  • 專案
  • 專案