Repolode
microsoft

microsoft/hummingbird

学習済みのscikit-learn、LightGBM、XGBoostモデルをテンソル演算に変換し、PyTorch、TorchScript、ONNX、TVMで推論を実行できるPythonライブラリです。

スター
3,553
フォーク
293
未解決の Issue
78
最終コミット
2 か月前

これは何?

Hummingbirdは、従来型の機械学習モデルをテンソル演算に変換し、ニューラルネットワーク向けのフレームワークで実行できるようにします。scikit-learnの決定木やランダムフォレスト、LightGBMやXGBoostの分類器・回帰器を、モデルを書き換えることなくPyTorch、TorchScript、ONNX、TVM向けに変換できます。

この変換では、木ベースの演算子など古典的な演算子を、ベクトル化やGPU実行に適した行列演算に置き換えます。Hummingbirdはscikit-learnにならった統一的なpredict形式のAPIを提供するため、変換済みモデルに差し替えても推論コードをそのまま維持できます。変換したPyTorchモデルとTorchScriptモデルはTorchServeで配信できます。

インストールにはpipでhummingbird-mlを使い、LightGBMとXGBoost向けの追加機能も任意で導入できます。Linux、Windows、macOSでPython 3.9~3.11をサポートし、PyTorch 1.6.0以降が必要です。

主な機能

  • 01scikit-learnの決定木やランダムフォレスト、LightGBM、XGBoostのモデルを変換
  • 02PyTorch、TorchScript、ONNX、TVMのバックエンドに対応
  • 03変換済みモデル向けにscikit-learn形式のpredict APIを提供
  • 04model.to('cuda')などを使い、CPUまたはGPUで予測を実行
  • 05変換済みモデルの保存と読み込みに対応

ユースケース

  • 学習済みランダムフォレストのバッチ推論をGPUで高速化
  • PyTorchベースの単一の配信スタックで、古典的なMLモデルとニューラルネットワークを併せてデプロイ
  • 木ベースのモデルをONNXまたはTVMにエクスポートし、Python以外の環境で実行

クイックスタート

  1. 1

    pytorch.org から、お使いのプラットフォーム向けの PyTorch(バージョン 1.6.0 以降)をインストールします

  2. 2

    pip から Hummingbird をインストールします

    python -m pip install hummingbird-ml
  3. 3

    hummingbird.ml をインポートした後、convert(model, 'pytorch') で学習済みの scikit-learn モデルを変換します

使う前に知っておきたいこと

  • Hummingbird を使用する前に、PyTorch を別途インストールする必要があります。
  • TVM バックエンドは Python 3.10 でのみ動作します。
  • 対応しているのは、scikit-learn、LightGBM、XGBoost のモデルと特徴量変換器の一部であり、すべてではありません。

収録されている特集

トピック

よくある質問

hummingbird とは?
学習済みのscikit-learn、LightGBM、XGBoostモデルをテンソル演算に変換し、PyTorch、TorchScript、ONNX、TVMで推論を実行できるPythonライブラリです。 Hummingbirdは、従来型の機械学習モデルをテンソル演算に変換し、ニューラルネットワーク向けのフレームワークで実行できるようにします。scikit-learnの決定木やランダムフォレスト、LightGBMやXGBoostの分類器・回帰器を、モデルを書き換えることなくPyTorch、TorchScript、ONNX、TVM向けに変換できます。
hummingbird は無料で使えますか?ライセンスは?
hummingbird は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
hummingbird は今もメンテナンスされていますか?
半年以内に更新あり。hummingbird の最終コミットは 2026年9月14日 です。
hummingbird は何に使えますか?
学習済みランダムフォレストのバッチ推論をGPUで高速化 PyTorchベースの単一の配信スタックで、古典的なMLモデルとニューラルネットワークを併せてデプロイ 木ベースのモデルをONNXまたはTVMにエクスポートし、Python以外の環境で実行
hummingbird のインストール方法は?
pytorch.org から、お使いのプラットフォーム向けの PyTorch(バージョン 1.6.0 以降)をインストールします pip から Hummingbird をインストールします: python -m pip install hummingbird-ml hummingbird.ml をインポートした後、convert(model, 'pytorch') で学習済みの scikit-learn モデルを変換します
hummingbird はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/microsoft/hummingbird

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト