Самослужебная ML-платформа
Тема дорожной карты · MLOps
Самослужебная ML-платформа представляет собой инструмент, который позволяет дата-сайентистам и аналитикам обучать, оценивать и деплоить модели без необходимости обращаться к DevOps или инфраструктурной команде. Это значительно ускоряет процесс разработки и улучшает эффективность работы команд. Такая платформа предоставляет набор преднастроенных абстракций, таких как преднастроенные ноутбуки, управляемые задачи обучения, реестр моделей и serving-эндпоинты, что позволяет пользователям сосредоточиться на анализе данных и создании моделей, а не на настройке инфраструктуры. Эта концепция реализована во многих крупных компаниях, таких как Uber с платформой Michelangelo и Spotify с Hendrix, а также в коммерческих решениях Vertex AI и SageMaker Studio.
Как это работает
Самослужебная ML-платформа строится на основе shared инфраструктуры, которая позволяет ML-командам работать в режиме self-service. Эта платформа состоит из нескольких частей: control plane (отправка задач, расписание), training-инфраструктура (пулы GPU, распределенное обучение), data plane (feature store, хранение данных), serving plane (услуги инференса, маршрутизация) и tooling (ноутбуки, интеграции с IDE). Многоклиентность (multi-tenancy) обеспечивается через Kubernetes namespaces, квоты и RBAC (Role-Based Access Control). Самослужебность достигается за счет определения стандартных абстракций, таких как "model deployment" (один YAML), что позволяет пользователям не сталкиваться с низкоуровневыми инструментами, такими как Kubernetes, Spark и другие.
Когда применять
Построение самослужебной ML-платформы целесообразно только в случае, когда три или более команд используют пересекающуюся ML-инфраструктуру. В противном случае каждая команда может иметь свою собственную инфраструктуру. При построении платформы важно начать с автоматизации наиболее часто используемых задач и процессов, которые пользователи выполняют вручную. Это позволяет избежать излишней сложности и упростить внедрение платформы. Не стоит строить многоклиентную инфраструктуру, например, на основе Kubeflow, до тех пор, пока не будет более 10 пользователей, так как операционные и поддерживающие затраты могут быть значительными. Перед тем как начать проектирование своей платформы, рекомендуется изучить примеры проектирования ML-платформ в Google, Meta и Netflix.
Типичные ошибки
Одной из распространенных ошибок при построении самослужебной ML-платформы является создание платформы до того, как будет ясно, какие требования она должна удовлетворять. Это может привести к тому, что команда построения платформы станет препятствием для развития других команд. Другая распространенная ошибка — создание слишком большого количества абстракций, что заставляет пользователей учить специфические DSL (Domain Specific Languages) вместо переносимых навыков. Также важно измерять успех платформы, а не полагаться на "build-and-pray" подход. Наконец, не стоит игнорировать "platform tax" — каждая абстракция имеет свою цену в терминах сложности отладки и поддержки.