For the complete documentation index, see llms.txt. This page is also available as Markdown.

BentoML

BentoML является современной open-source платформой для создания, доставки и масштабирования AI-приложений. Она устраняет разрыв между экспериментами в ML и продакшн-развертыванием, позволяя за минуты упаковать любую модель из любого фреймворка в готовый к продакшну API-сервис. Запускайте BentoML в GPU-облаке Clore.ai для экономичного хостинга AI-приложений.


Что такое BentoML?

BentoML упрощает превращение обученной модели в масштабируемый API-сервис:

  • Независим от фреймворка: PyTorch, TensorFlow, JAX, scikit-learn, HuggingFace, XGBoost, LightGBM и другие

  • Bento: Самодостаточный, воспроизводимый артефакт (модель + код + зависимости)

  • Runner: Масштабируемый модуль инференса модели с автоматическим батчингом

  • Service: HTTP/gRPC-сервис в стиле FastAPI

  • BentoCloud: Опциональная управляемая платформа развертывания

  • Сначала Docker: Любой Bento можно контейнеризировать одной командой

Ключевые возможности:

  • Адаптивный микробатчинг для оптимизации пропускной способности

  • Встроенная валидация входа/выхода с Pydantic

  • OpenAPI-спецификация генерируется автоматически

  • Метрики Prometheus встроены

  • Поддержка потоковой передачи ответа (LLM)


Предварительные требования

Требование
Минимум
Рекомендуется

VRAM GPU

8 ГБ

16–24 ГБ

GPU

Любой NVIDIA

RTX 4090 / A100

ОЗУ

8 ГБ

16 ГБ

Хранилище

20 ГБ

40 ГБ

Python

3.9+

3.11+


Шаг 1 — Арендуйте GPU на Clore.ai

  1. Нажмите Маркетплейс и выберите GPU-инстанс с ≥ 16 ГБ VRAM.

  2. Установите Docker-образ: мы будем использовать пользовательскую сборку (см. Шаг 2).

  3. Откройте порты: 22 (SSH) и 3000 (сервис BentoML).

  4. Нажмите Аренда.


Шаг 2 — Dockerfile

У BentoML нет официального GPU Docker-образа, поэтому мы собираем свой:

Сборка и отправка

Соберите образ и отправьте его в свой аккаунт Docker Hub (замените YOUR_DOCKERHUB_USERNAME на ваше фактическое имя пользователя):

BentoML не предоставляет официальный GPU Docker-образ на Docker Hub. Образы bentoml/bento-server на Docker Hub предназначены для обслуживания заранее упакованных Bentos и не включают поддержку CUDA. Соберите образ из файла Dockerfile выше для развертываний с GPU на Clore.ai.


Шаг 3 — Подключение по SSH

Проверьте BentoML:


Шаг 4 — Ваш первый сервис BentoML

Простой текстовый классификатор

Создайте файл сервиса:

Запустите сервис

Параметр --reload флаг включает горячую перезагрузку во время разработки. Уберите его в продакшене для стабильности.


Шаг 5 — Доступ к сервису

Откройте автоматически сгенерированный Swagger UI:

Или протестируйте через curl:

Ожидаемый ответ:


Шаг 6 — Сервис классификации изображений

Сервис модели компьютерного зрения

Проверьте с помощью изображения:


Шаг 7 — Сервис потоковой передачи LLM

Для языковых моделей с потоковыми ответами:


Шаг 8 — Сохраните и соберите Bento

Один Bento — это упакованный, воспроизводимый артефакт:

bentofile.yaml


Мониторинг и метрики

BentoML предоставляет метрики Prometheus по адресу /metrics:

Основные метрики:


Конфигурация адаптивного батчинга


Устранение неполадок

Сервис не запускается

Решения:

  • Проверьте доступность CUDA: python -c "import torch; print(torch.cuda.is_available())"

  • Проверьте VRAM GPU: nvidia-smi

  • Проверьте, что загрузка модели завершена (ищите прогресс загрузки в логах)

Порт 3000 недоступен

Высокая задержка при первом запросе

Это нормально — первый запрос запускает загрузку модели (прогрев). Все последующие запросы будут быстрыми. Добавьте вызов endpoint для прогрева после запуска:

Ошибки импорта

Решение:


Рекомендации по GPU для Clore.ai

BentoML — это фреймворк для сервинга, поэтому требования к GPU полностью зависят от модели, которую вы развертываете. Вот чего ожидать для типичных нагрузок:

GPU
VRAM
Цена Clore.ai
Пропускная способность LLM (7B Q4)
Диффузия (SDXL)
Зрение (ResNet50)

RTX 3090

24 ГБ

$0.07–0.21/ч

~80 ток/с

~4 изображ./мин

~400 запросов/с

RTX 4090

24 ГБ

$0.14–0.42/ч

~140 ток/с

~8 изображ./мин

~700 запросов/с

A100 40 ГБ

40 ГБ

~110 ток/с

~6 изображ./мин

~1200 запросов/с

A100 80 ГБ

80 ГБ

~130 ток/с

~7 изображ./мин

~1400 запросов/с

Рекомендации по вариантам использования:

  • Обслуживание API LLM (7B–13B): RTX 3090 ($0.07–0.21/час) — оптимальное соотношение цена/производительность

  • API генерации изображений: RTX 3090 или RTX 4090 в зависимости от требуемой пропускной способности

  • Большие модели (34B–70B Q4): A100 40GB (голое железо) — отлично подходит

  • Продакшн-сервинг нескольких моделей: A100 80GB для запаса по памяти

Адаптивный микробатчинг BentoML особенно эффективен на A100 — аппаратный планировщик эффективно обрабатывает батчинг, извлекая больший throughput на доллар, чем наивный сервинг с одним запросом за раз. Для API с высоким трафиком A100 40GB часто дает лучший ROI, чем две RTX 4090.


Полезные ресурсы

Последнее обновление

Это было полезно?