ONNX 형식으로 내보낸 ML 모델 실행을 위한 크로스 플랫폼 가속기이며, PyTorch 스크립트 학습도 지원합니다.
microsoft/hummingbird
학습된 scikit-learn, LightGBM, XGBoost 모델을 텐서 연산으로 변환해 PyTorch, TorchScript, ONNX 또는 TVM에서 추론을 실행하는 Python 라이브러리입니다.
- 스타
- 3,553
- 포크
- 293
- 열린 이슈
- 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를 위한 선택적 extra도 제공됩니다. 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 모델과 신경망을 함께 배포하기
- Python 외부에서 실행할 수 있도록 트리 기반 모델을 ONNX 또는 TVM으로 내보내기
빠른 시작
- 1
pytorch.org에서 사용 중인 플랫폼에 맞는 PyTorch(버전 1.6.0 이상)를 설치합니다
- 2
pip에서 Hummingbird를 설치합니다
python -m pip install hummingbird-ml - 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은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. hummingbird의 마지막 커밋은 2026년 9월 14일입니다.
- hummingbird은(는) 어디에 사용할 수 있나요?
- GPU 하드웨어에서 학습된 랜덤 포레스트의 배치 추론 속도 높이기 PyTorch 기반의 단일 서빙 스택에서 기존 ML 모델과 신경망을 함께 배포하기 Python 외부에서 실행할 수 있도록 트리 기반 모델을 ONNX 또는 TVM으로 내보내기
- 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 통계는 매일 갱신됩니다.
관련 프로젝트
ONNX 및 NNEF 모델을 로드해 CPU, Apple Metal, NVIDIA CUDA, WebAssembly에서 실행하는 독립형 Rust 추론 엔진입니다.
MLIR 기반 컴파일러 및 런타임으로, ML 모델을 통합 IR로 낮춰 데이터센터부터 모바일 및 엣지 기기까지 배포할 수 있습니다.
네이티브 Java API로 모델을 만들고 학습하고 실행할 수 있는 엔진 독립적인 Java 딥러닝 프레임워크입니다.
Keras, PyTorch, ONNX 신경망을 FPGA에서 ML 추론을 실행할 수 있는 HLS 코드로 변환하는 Python 패키지입니다.
Keras 3는 JAX, TensorFlow, PyTorch에서 실행되고 추론에는 OpenVINO도 사용할 수 있는 딥러닝 프레임워크입니다.