Представляем Seldon Core - развертывание машинного обучения для Kubernetes

Мы рады объявить о выпуске новой платформы с открытым исходным кодом, которая позволяет командам специалистов по обработке и анализу данных легко запускать модели и управлять ими в производстве в любом масштабе.

Seldon Core фокусируется на решении последнего шага в любом проекте машинного обучения, чтобы помочь компаниям запускать модели в производство, решать реальные проблемы и максимизировать окупаемость инвестиций.

Специалисты по обработке данных могут сосредоточиться на создании более совершенных моделей, в то время как команды DevOps могут более эффективно управлять развертыванием, используя инструменты, которые они понимают.

Цели платформы:

  • Позвольте специалистам по обработке данных развертывать модели, построенные с помощью любого набора инструментов машинного обучения или языка программирования. Мы планируем изначально поддерживать инструменты / языки на основе Python, включая Tensorflow, Scikit-learn, Spark и H20.
  • Автоматическое предоставление моделей машинного обучения через REST и gRPC при развертывании для простой интеграции в бизнес-приложения и сервисы, требующие прогнозов.
  • Обеспечьте полное управление жизненным циклом развернутой модели без простоев, включая обновление графика времени выполнения, масштабирование, мониторинг и безопасность.

Графики вывода

Вместо того, чтобы просто обслуживать отдельные модели за конечной точкой API, Seldon Core позволяет развертывать сложные графы логического вывода во время выполнения в контейнерах как микросервисы. Эти графики могут состоять из:

  • Модели - исполняемый файл логического вывода для одной или нескольких моделей машинного обучения.
  • Маршрутизаторы - направляют запросы API к подграфам. Например. для проведения таких экспериментов, как AB Tests или более динамичных многоруких бандитов.
  • Комбайнеры - объедините ответы из подграфиков. Например. ансамбли моделей.
  • Трансформаторы - преобразовать запрос или ответы. Например. преобразовать запросы функций.

Почему это важно?

Эффективность - традиционные стеки инфраструктуры и процессы DevOps плохо переносятся на машинное обучение, и в этой сфере есть ограниченные инновации с открытым исходным кодом, что вынуждает компании создавать собственные за большие деньги или использовать фирменный сервис. Кроме того, очень не хватает инженеров по обработке данных с необходимым многопрофильным набором навыков, охватывающих машинное обучение и операции. Эта неэффективность приводит к тому, что специалисты по обработке данных сталкиваются с проблемами, связанными с качеством обслуживания и производительностью, что отвлекает их внимание от того, где они могут принести наибольшую пользу - построению более совершенных моделей.

Инновации - только когда модель находится в производстве, вы можете измерить ее эффективность по реальным проблемам. Seldon Core позволяет отделить науку о данных от циклов выпуска приложений для ускорения циклов итераций. Процессы экспериментов, такие как AB-тестирование и многорукие бандиты, обычно размещаются намного выше в стеке, часто с использованием инструментов, не предназначенных для машинного обучения. Тесная связь моделей с графом вывода приводит к более быстрым циклам итераций и возможности быстрее создавать и оптимизировать больше вариантов использования для ускорения инноваций и рентабельности инвестиций.

Свобода - согласно исследованию IDC в ​​2017 году, 40% европейских организаций размещают приложения в облаках. Они делают это по коммерческим, вспомогательным или нормативным причинам. Наличие единой платформы развертывания машинного обучения, не зависящей от облака, упростит использование нескольких облаков для машинного обучения. Кроме того, инструменты построения моделей, такие как TensorFlow, постоянно развиваются, поэтому организациям необходимо элегантное решение, не зависящее от фреймворка, чтобы избежать ловушки монолитных архитектур и упростить гибкие команды и процессы по анализу данных.

Начиная

Seldon Core работает на любой облачной платформе, на голых серверах и индивидуальных ноутбуках. Вы можете быстро начать работу, установив официальный выпуск через Helm:

helm install seldon-core --name seldon-core --repo https://storage.googleapis.com/seldon-charts

Мы разработали Kubernetes Custom Resource для развертывания Seldon, что означает, что вы можете управлять развертыванием напрямую с помощью kubectl, вместо того, чтобы изучать новый интерфейс командной строки:

kubectl apply -f my_ml_deployment.yaml

Сообщество Селдона

Наша команда специалистов по обработке данных и инженеров в Seldon создает и управляет проектом Seldon Core непосредственно на Github, а не в репозиториях и системах управления проектами частной компании, поэтому ожидайте увидеть от нас большую активность.

Ваш вклад очень приветствуется - вот несколько идей для начала и рекомендации для авторов. Большое спасибо @errordeveloper из Weaveworks за отправку первого запроса сообщества! Не стесняйтесь создавать проблему, если у вас есть какие-либо отзывы или вопросы.

Seldon Core доступен по лицензии Apache 2.0. Вы можете использовать его для небольших проектов или масштабировать до тысяч узлов, работающих в вашей собственной инфраструктуре. Мы надеемся, что это поможет вам решить большие и значимые проблемы.