BentoML — это открытая библиотека для высокопроизводительного инференса ML-моделей. Инструмент облегчает процесс создания API методов для доступа к обученной модели. BentoML совместим со всеми крупными фреймворками машинного обучения: Tensorflow, Keras, PyTorch, XGBoost, scikit-learn и fastai.
BentoML идет вместе с сервером для API модели, которые поддерживает адаптивный микро-батчинг данных. Это позволяет сочетать преимущества обработки данных батчами и онлайн нагрузку на модель на инференсе. Кроме того, библиотека предоставляет функционал для управления моделью и ее деплоя. Это делает BentoML end-to-end решением для ML разработчиков, которое учитывает лучшие практики DevOps.
Почему BentoML
Вывод моделей машинного обучения в продакшен является комплексной задачей. Часто data science специалистами не обладают навыками построения высоконагруженных сервисов и DevOps. Обученные модели тяжело тестировать и деплоить. Это часто приводит к времязатратному и неустойчивому воркфлоу, где сжатый файл с моделью или ее весами передается команде разработчиков.
BentoML решает проблему использования обученной модели в продукте. Инструмент позволяет ML-командам строить готовые к продакшену API endpoints.
Функционал инструмента включает в себя:
- Конвертацию обученной модели в API endpoint в несколько строчек кода;
- Совместимость со всеми крупными фреймворками для машинного обучения;
- End-to-end решение для использования обученных ML-моделей в продуктах с использованием распространенных DevOps практик;
- Поддержка микро-батчинга;
- Управление моделью и ее мониторинг через CLI и дашборд;
- Деплой моделей с поддержкой Docker, Kubernetes, AWS Lambda, SageMaker, Azure ML and more