Что такое Grounding DINO?
Grounding DINO — это модель компьютерного зрения, предназначенная для обнаружения объектов на изображениях. Она способна эффективно выделять объекты на основе текстовых запросов.
Зачем нужен сервинг моделей?
Запуск ML-моделей в production требует решения ряда задач:
- Хранение и версионирование моделей;
- Мониторинг потребления ресурсов и производительности;
- Поддержка различных сценариев использования (пакетная обработка, стриминг).
BentoML упрощает эти задачи, предоставляя удобный интерфейс для деплоя и мониторинга моделей.
Как развернуть Grounding DINO с BentoML?
Шаг 1: Установка зависимостей
Для начала установите необходимые библиотеки:
pip install bentoml torch transformers
Шаг 2: Загрузка и подготовка модели
Используйте следующий код для загрузки и подготовки модели Grounding DINO:
import torch
from transformers import AutoModelForImageClassification, AutoFeatureExtractor
model = AutoModelForImageClassification.from_pretrained("facebook/deit-base-distilled-patch16-384")
extractor = AutoFeatureExtractor.from_pretrained("facebook/deit-base-distilled-patch16-384")
Шаг 3: Создание сервиса с BentoML
Создайте сервис с использованием BentoML:
import bentoml
bentoml.pytorch.save_model(
"grounding_dino",
model,
signatures={"__call__": {"batchable": True}}
)
Шаг 4: Запуск сервера
Теперь можно запустить сервер для обслуживания модели:
bentoml serve grounding_dino:latest --production
Заключение
Таким образом, мы успешно развернули модель Grounding DINO с помощью BentoML. Этот подход позволяет легко масштабировать и мониторить работу модели в production-среде.