Kubeflow
Kubeflow — построенная на Kubernetes и представленная Google платформа с открытым кодом, предназначенная для машинного обучения и MLOps практик. Различные этапы в типичном жизненном цикле машинного обучения представлены разными компонентами программного обеспечения в Kubeflow, включая разработку модели (Kubeflow Notebooks), тренировку модели (Kubeflow Pipelines, Kubeflow Training Operator), использование модели (KServe), и автоматическое машинное обучение (Katib).

Каждый компонент Kubeflow может быть развернут отдельно, также нет требования развертывать каждый компонент.

История 
Проект Kubeflow был впервые анонсирован на конференции KubeCon + CloudNativeCon North America 2017 инженерами Google Дэвидом Арончиком, Джереми Леви и Вишну Каннаном для устранения предполагаемой нехватки гибких возможностей для построения систем машинного обучения готовых к запуску на производстве. Было также заявлено, что проект начался как способ компании Google сделать открытым код, с помощью которого в компании используется TensorFlow.

Первый выпуск Kubeflow (Kubeflow 0.1) был анонсирован на конференции KubeCon + CloudNativeCon Europe 2018 с утверждениями, что он уже стал одним из верхних 2% проектов на GitHub за всё время существования сервиса. Kubeflow 1.0 был выпущен в марте 2020 года в публичном посте анонсирующим перевод множества компонентов Kubeflow в «стабильный статус», обозначая тем самым, их готовность для производственного использования.

Компоненты

Kubeflow Notebooks для разработки модели 
Модели машинного обучения разрабатываются в компоненте записной книжки называемым Kubeflow Notebooks. Компонент использует web среды разработки внутри Kubernetes кластера, с родной поддержкой Jupyter Notebook, Visual Studio Code, и RStudio.

Kubeflow Pipelines для обучения модели 
После разработки модели обучаются в компоненте Kubeflow Pipelines. Компонент служит платформой для построения и развертывания портируемого, масштабируемого рабочего процесса машинного обучения, основанного на контейнерах Docker. Облачная платформа Google адаптировала Kubeflow Pipelines DSL для использования внутри своего продукта Vertex AI Pipelines.

Kubeflow Training Operator для обучения модели 
Для некоторых моделей машинного обучения и библиотек, компонент Kubeflow Training Operator предоставляет поддержку пользовательских ресурсов Kubernetes. Компонент позволяет запускать как распределенные, так и не распределенные работы для обучения с использованием TensorFlow, PyTorch, Apache MXNet, XGBoost, и MPI на Kubernetes.

KServe для использования модели 
Компонент KServe (ранее называемый KFServing) предоставляет пользовательские ресурсы Kubernetes для использования моделей машинного обучения с помощью различных фреймворков включая TensorFlow, XGBoost, scikit-learn, PyTorch, и ONNX. KServe был разработан совместно Google, IBM, Bloomberg, NVIDIA, и Seldon. Публично раскрытые пользователи KServe включают Bloomberg, Gojek, и прочих.

Katib для автоматического машинного обучения 
Наконец, Kubeflow включает компонент для автоматического обучения и разработки моделей машинного обучения — Katib компонент. Он описывается как родной проект Kubernetes и позволяет производить настройку гиперпараметров, раннюю остановку и поиск нейронной архитектуры.

Хронология выпусков

Дополнение

Примечания

Ссылки 
 
 

Облачная инфраструктура
Машинное обучение
Программное обеспечение с лицензией Apache Software License
Свободное программное обеспечение, написанное на Python
Свободное программное обеспечение, написанное на Go