Добро пожаловать!
Цель проекта MMF - обеспечить деплой ML-сервисов за минимальное время и максимально просто для всех участников процесса. Мы делаем ZERO time-to-market пайплайн для развертывания ML-проектов.
Если вы - ML разработчик, предлагаем перейти к быстрому старту
Для кого
MMF разрабатывается в первую очередь с прицелом на команды, у которых нет выделенной функции ML-ops, нет собственной инфраструктуры для развертывания online-ml-сервисов, либо нет возможности полноценно заниматься ее поддержкой.
MMF не заменяет собой классические инструменты ML-ops, MMF - это сервис, упрощающий работу с этими инструментами. Упрощение достигается в первую очередь за счет так называемого подхода "батарейки в комплекте", те автор проекта включил батарейки на все случаи жизни (как кажется автору) и эти батарейки не получится заменить, даже если окажется, что они "не очень". Проекты "без батареек" имеют свои плюсы, но минус очевиден - "батарейки" придется найти самостоятельно, самостоятельно их установить и периодически их обслуживать.
Основные возможности MMF
- деплой ML-сервисов за минуты, интуитивно понятный веб-интерфейс, не требует специальных знаний и навыков от разработчика. Посмотреть видео процесса разворачивания модели в сервис
- поддержка git - исходный код моделей доставляется в MMF либо из git, либо вручную через веб-интерфейс zip-архивом.
- хранение артефактов модели на S3 - нет необходимости загружать в git большие бинарные файлы.
- поддержка дообучения моделей не выходя за пределы MMF.
- из коробки понятный веб-интерфейс для использования ML-сервисов конечным бизнес-пользователем с поддержкой всех популярных форматов данных: табличные данные, json, yml, картинки, любые другие файлы.
- масштабирование, MMF готов к любым нагрузкам, способен масштабироваться сам и масштабировать ML-сервисы на сотни машин.
- управление вычислительными ресурсами, до мелочей: кол-во cpu, ram, gpu, диск, таймауты на запросы и многое другое.
- безопасность - ml-код по-умолчанию считается небезопасным, тк пишется сторонними разработчиками. MMF применяет все необходимые меры для обеспечения безопасности: модели запускаются максимально изолированно друг от друга, модель не имеет доступа в сеть, сборка контейнеров происходит внутри изолированных контейнеров-сборщиков без доступа к внутренней сети MMF.
- гибкое управление доступами - пользователи могут создавать полностью закрытые проекты, либо наоброт - выставлять свои модели на всеобщее обозрение по принципу магазина приложений, контролировать доступ других пользователей или групп.
- понятный биллинг - разработчик может монетизировать свою модель, а владелец ресурса MMF - свои вычислительные мощности, гибко и прозрачно: с наглядными отчетами как для бизнес-пользователя, так и для разработчика.
- встроенная система логирования, разработчику достаточно написать простой print или воспользоваться стандартной библиотекой logging.
- асинхронное (для долгих процессов)/синхронное(для быстрых онлайн-моделей) исполнение запросов с возможностью уведомления по email о завершении долгих расчетов.
- рациональное использование ресурсов. Например, на одной машине, модель, работающая в 4 потока не использует 4x памяти на загрузку собственных артефактов, а только 1x. Это особенно актуально для ресурсоемких по ram моделей.
- api по спецификации openapi 3.0
- встроенный шедулер для автоматического запуска процессов.
- интеграция с множеством популярных БД - модели могут получать информацию из БД, сохраняя при этом максимальный уровень защиты секретных данных.
Технологический стек
back
: python, fastapifront
: JS, reactбд
: postgresплатформа контейнеризации
: docker swarm, kubernetsброкер сообщений
: rabbitmq