mosecorg/mosec

Высокопроизводительный фреймворк для развертывания ML-моделей с динамическим батчингом и CPU/GPU пайплайнами для полного использования ресурсов вычислительной машины

Инференс⭐ 902Pythonпоследний релиз: 0.9.7
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Mosec — это высокопроизводительный фреймворк для развертывания ML-моделей в виде микросервисов, сочетающий Python-интерфейс для разработчиков и Rust-бэкенд для скорости.

Зачем нужен

Инструмент решает проблему эффективного онлайн-сервисинга (serving) моделей, позволяя запускать их с минимальными задержками и высокой пропускной способностью. Он полезен тем, что позволяет использовать тот же код для тестирования и продакшена, автоматически оптимизируя использование CPU/GPU через динамическое батчинг и конвейерные стадии.

Что можно реализовать

  • Развертывание diffusion-моделей (например, Stable Diffusion) для генерации изображений по текстовым запросам.
  • Создание микросервисов для LLM с поддержкой динамического батчинга запросов от разных пользователей.
  • Построение высоконагруженных API для ML-моделей, требующих смешанной обработки CPU/GPU/IO.
  • Интеграция ML-моделей в облачные среды (Kubernetes) с автоматическим мониторингом и управлением жизненным циклом.

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

  • Динамическое батчинг: автоматическая агрегация запросов для ускорения инференса.
  • Пайплайновые стадии: разделение вычислений на несколько процессов для эффективной работы с CPU/GPU/IO.
  • Гибкая сериализация: поддержка JSON и msgpack (через MsgpackMixin) для оптимизации передачи данных.
  • Cloud-friendly: встроенная поддержка warmup, graceful shutdown и метрик Prometheus.
  • ML-агностичность: работа с любыми моделями через стандартный Python-интерфейс.

👤 Кому подойдёт: ML-инженеры, разработчики бэкенда, DevOps-инженеры, работающие с развертыванием моделей в продакшене.

Релизы

0.9.7minor
🕐 5 мес назад · релиз на GitHub ↗

Релиз MoSec 0.9.7: добавлена настройка максимального размера запроса, заменена библиотека логирования на logforth, исправлена привязка версии maturin.

  • Added: Добавлена возможность конфигурации максимального размера запроса.
  • Added: Библиотека логирования заменена с tracing на logforth.
  • Fixed: Исправлена проблема с отсутствующим бинарником путем фиксации версии maturin.
  • Обновлены версии зависимостей cargo-deny и sccache.
  • Настроен cooldown для Dependabot и переключена экосистема пакетов на uv.