Кроссплатформенный ускоритель для запуска ML-моделей, экспортированных в формат ONNX, с поддержкой обучения с помощью PyTorch-скриптов.
microsoft/hummingbird
Библиотека Python, которая преобразует обученные модели scikit-learn, LightGBM и XGBoost в тензорные вычисления для запуска в PyTorch, TorchScript, ONNX или TVM.
- Звёзды
- 3,553
- Форки
- 293
- Открытые issues
- 78
- Последний коммит
- 2 месяца назад
Что это?
Hummingbird преобразует обученные классические модели машинного обучения в тензорные вычисления, чтобы запускать их во фреймворках для нейронных сетей. Разработчики могут преобразовать деревья решений и случайные леса из scikit-learn, а также классификаторы и регрессоры LightGBM или XGBoost и запускать их в PyTorch, TorchScript, ONNX или TVM, не переписывая модель.
При преобразовании древовидные и другие классические операторы представляются в виде матричных операций, подходящих для векторизации и выполнения на GPU. Hummingbird предоставляет единый API в стиле predict, ориентированный на scikit-learn, поэтому после замены модели на преобразованную код инференса можно оставить без изменений. Преобразованные модели PyTorch и TorchScript можно обслуживать с помощью TorchServe.
Установка выполняется через pip-пакет hummingbird-ml; для LightGBM и XGBoost доступен дополнительный пакетный набор зависимостей. Поддерживаются Python 3.9–3.11 на Linux, Windows и macOS; требуется PyTorch версии 1.6.0 или новее.
Ключевые возможности
- 01Преобразует деревья и случайные леса scikit-learn, а также модели LightGBM и XGBoost
- 02Поддерживает бэкенды PyTorch, TorchScript, ONNX и TVM
- 03Предоставляет для преобразованных моделей API predict в стиле scikit-learn
- 04Выполняет предсказания на CPU или GPU, в том числе через model.to('cuda')
- 05Поддерживает сохранение и загрузку преобразованных моделей
Сценарии использования
- Ускорение пакетного инференса обученного случайного леса на GPU
- Развёртывание классической модели машинного обучения вместе с нейросетями в едином стеке обслуживания на базе PyTorch
- Экспорт древовидных моделей в ONNX или TVM для выполнения вне Python
Быстрый старт
- 1
Установите PyTorch (версии 1.6.0 или новее) для вашей платформы с сайта pytorch.org
- 2
Установите Hummingbird с помощью pip
python -m pip install hummingbird-ml - 3
Преобразуйте обученную модель scikit-learn с помощью convert(model, 'pytorch') после импорта hummingbird.ml
Что важно знать
- Перед использованием Hummingbird необходимо отдельно установить PyTorch.
- Бэкенд TVM работает только с Python 3.10.
- Поддерживается только определённое подмножество моделей и преобразователей признаков scikit-learn, LightGBM и XGBoost, а не все они.
В подборках
Темы
Частые вопросы
- Что такое hummingbird?
- Библиотека Python, которая преобразует обученные модели scikit-learn, LightGBM и XGBoost в тензорные вычисления для запуска в PyTorch, TorchScript, ONNX или TVM. Hummingbird преобразует обученные классические модели машинного обучения в тензорные вычисления, чтобы запускать их во фреймворках для нейронных сетей. Разработчики могут преобразовать деревья решений и случайные леса из scikit-learn, а также классификаторы и регрессоры LightGBM или XGBoost и запускать их в PyTorch, TorchScript, ONNX или TVM, не переписывая модель.
- hummingbird можно использовать бесплатно? Какая у него лицензия?
- hummingbird распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- hummingbird всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в hummingbird — 14 сент. 2026 г..
- Для чего можно использовать hummingbird?
- Ускорение пакетного инференса обученного случайного леса на GPU Развёртывание классической модели машинного обучения вместе с нейросетями в едином стеке обслуживания на базе PyTorch Экспорт древовидных моделей в ONNX или TVM для выполнения вне Python
- Как установить hummingbird?
- Установите PyTorch (версии 1.6.0 или новее) для вашей платформы с сайта pytorch.org Установите Hummingbird с помощью pip: python -m pip install hummingbird-ml Преобразуйте обученную модель scikit-learn с помощью convert(model, 'pytorch') после импорта hummingbird.ml
- Где скачать hummingbird?
- Исходный код и инструкции по установке — на GitHub: https://github.com/microsoft/hummingbird
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Автономный движок инференса на Rust для запуска моделей ONNX и NNEF на CPU, Apple Metal, NVIDIA CUDA и WebAssembly.
Библиотека глубокого обучения на базе PyTorch: высокоуровневые компоненты помогают быстро обучать модели, а низкоуровневые — проводить собственные исследования.
Компилятор и среда выполнения на базе MLIR, преобразующие ML-модели в единое IR для развертывания в дата-центрах, на мобильных и периферийных устройствах.
Независимый от движка фреймворк глубокого обучения для Java, позволяющий создавать, обучать и запускать модели через нативный Java API.
Пакет Python для преобразования нейросетей из Keras, PyTorch и ONNX в код HLS для запуска инференса на FPGA.