Kubeflow (Kubeflow)

Перейти к навигации Перейти к поиску
Kubeflow
Тип Платформа для машинного обучения
Автор Google
Разработчики Kubeflow Contributors[1] - AWS, Bloomberg, Google (компания), IBM, NVIDIA, Nutanix, Red Hat, Arrikto, and others
Написана на Go, Python
Первый выпуск 5 апреля 2018; 6 лет назад (2018-04-05)[2]
Аппаратная платформа Kubernetes
Последняя версия 1.6[3] (7 сентября 2022; 2 года назад (2022-09-07))
Репозиторий github.com/kubeflow
Лицензия Apache License 2.0
Сайт kubeflow.org

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

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

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

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

Компоненты

[править | править код]

Kubeflow Notebooks для разработки модели

[править | править код]

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

Kubeflow Pipelines для обучения модели

[править | править код]

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

Kubeflow Training Operator для обучения модели

[править | править код]

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

KServe для использования модели

[править | править код]

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

Katib для автоматического машинного обучения

[править | править код]

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

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

[править | править код]
Хронология выпусков
Версия Дата выпуска Сведения о выпуске Блог выпуска
Kubeflow 0.1 5 апреля, 2018[2] - https://kubernetes.io/blog/2018/05/04/announcing-kubeflow-0.1/
Kubeflow 0.2 2 июля, 2018[25] - https://medium.com/kubeflow/kubeflow-0-2-offers-new-components-and-simplified-setup-735e4c56988d
Kubeflow 0.3 5 октября, 2018[26] - https://medium.com/kubeflow/kubeflow-0-3-simplifies-setup-improves-ml-development-98b8ca10bd69
Kubeflow 0.4 8 января, 2019[27] - https://medium.com/kubeflow/kubeflow-0-4-release-enhancements-for-machine-learning-productivity-d77c54df07a9
Kubeflow 0.5 9 апреля, 2019[28] - https://medium.com/kubeflow/kubeflow-v0-5-simplifies-model-development-with-enhanced-ui-and-fairing-library-78e19cdc9f50
Kubeflow 0.6 19 июля, 2019[29] https://www.kubeflow.org/docs/releases/kubeflow-0.6/ https://medium.com/kubeflow/kubeflow-v0-6-a-robust-foundation-for-artifact-tracking-data-versioning-multi-user-support-9896d329412c
Kubeflow 0.7 17 октября, 2019[30] https://www.kubeflow.org/docs/releases/kubeflow-0.7/ https://medium.com/kubeflow/kubeflow-v0-7-delivers-beta-functionality-in-the-leadup-to-v1-0-1e63036c07b8
Kubeflow 1.0 20 февраля, 2020[31] https://www.kubeflow.org/docs/releases/kubeflow-1.0/ https://blog.kubeflow.org/releases/2020/03/02/kubeflow-1-0-cloud-native-ml-for-everyone
Kubeflow 1.1 31 июля, 2020[32] https://www.kubeflow.org/docs/releases/kubeflow-1.1/ https://blog.kubeflow.org/release/official/2020/07/31/kubeflow-1.1-blog-post
Kubeflow 1.2 18 ноября, 2020[33] https://www.kubeflow.org/docs/releases/kubeflow-1.2/ https://blog.kubeflow.org/release/official/2020/11/18/kubeflow-1.2-blog-post
Kubeflow 1.3 23 апреля, 2021[34] https://www.kubeflow.org/docs/releases/kubeflow-1.3/ https://blog.kubeflow.org/kubeflow-1.3-release/
Kubeflow 1.4 12 октября, 2021[35] https://www.kubeflow.org/docs/releases/kubeflow-1.4/ https://blog.kubeflow.org/kubeflow-1.4-release/
Kubeflow 1.5 10 марта, 2022[36] https://www.kubeflow.org/docs/releases/kubeflow-1.5/ https://blog.kubeflow.org/kubeflow-1.5-release/
Kubeflow 1.6 7 сентября, 2022[3] https://www.kubeflow.org/docs/releases/kubeflow-1.6/ https://blog.kubeflow.org/kubeflow-1.6-release/

Дополнение

[править | править код]
  1. KServe был ранее известен под наименованием KFServing[19]

Примечания

[править | править код]
  1. Kubeflow Website - Working Groups (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  2. 1 2 Kubeflow 0.1 - Release Tag (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  3. 1 2 Kubeflow 1.6 - Release Information (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  4. Kubeflow Website - Kubeflow Notebooks (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  5. Kubeflow Website - Kubeflow Pipelines (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  6. 1 2 Kubeflow GitHub - Kubeflow Training Operator (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  7. Kubeflow Website - KServe (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  8. Kubeflow Website - Katib (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  9. Kubeflow Website - Installing Kubeflow (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  10. "Hot Dogs or Not" - At Scale with Kubernetes [I] - Vish Kannan & David Aronchick, Google (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  11. Introducing Kubeflow - A Composable, Portable, Scalable ML Stack Built for Kubernetes (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  12. Kubeflow Website - History (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  13. Google-led Kubeflow, machine learning for Kubernetes, begins to take shape (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  14. Announcing Kubeflow 0.1 (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  15. Kubeflow 1.0: Cloud-Native ML for Everyone (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  16. Kubeflow Website - Kubeflow Notebooks Overview (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  17. Kubeflow Website - Kubeflow Pipelines Introduction (англ.). Дата обращения: 8 февраля 2023. Архивировано 14 сентября 2022 года.
  18. Vertex AI - Building a pipeline (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  19. 1 2 3 KServe: The next generation of KFServing (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  20. KServe GitHub (англ.). Дата обращения: 8 февраля 2023. Архивировано 21 февраля 2023 года.
  21. The journey to build Bloomberg’s ML Inference Platform Using KServe (formerly KFServing) (англ.). Дата обращения: 8 февраля 2023. Архивировано 10 мая 2022 года.
  22. Merlin: Making ML Model Deployments Magical (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  23. KServe Website - Adopters of KServe (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  24. Kubeflow GitHub - Katib (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  25. Kubeflow 0.2 - Release Tag (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  26. Kubeflow 0.3 - Release Tag (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  27. Kubeflow 0.4 - Release Tag (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  28. Kubeflow 0.5 - Release Tag (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  29. Kubeflow 0.6 - Release Information (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  30. Kubeflow 0.7 - Release Information (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  31. Kubeflow 1.0 - Release Information (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  32. Kubeflow 1.1 - Release Information (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  33. Kubeflow 1.2 - Release Information (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  34. Kubeflow 1.3 - Release Information (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  35. Kubeflow 1.4 - Release Information (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.
  36. Kubeflow 1.5 - Release Information (англ.). Дата обращения: 8 февраля 2023. Архивировано 8 февраля 2023 года.