Перейти к содержанию

Kubeflow

Материал из энциклопедии Руниверсалис
Kubeflow
Логотип программы Kubeflow
Тип Платформа для машинного обучения
Автор Google
Разработчик Kubeflow Contributors[1] - AWS, Bloomberg, Google (компания), IBM, NVIDIA, Nutanix, Red Hat, Arrikto, and others
Написана на Go, Python
Первый выпуск 5 апреля 2018; 7 лет назад (2018-04-05)[2]
Аппаратная платформа Kubernetes
Последняя версия 1.6[3] (7 сентября 2022; 3 года назад (2022-09-07))
Лицензия 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 (англ.).
  2. 2,0 2,1 Kubeflow 0.1 - Release Tag (англ.).
  3. 3,0 3,1 Kubeflow 1.6 - Release Information (англ.).
  4. Kubeflow Website - Kubeflow Notebooks (англ.).
  5. Kubeflow Website - Kubeflow Pipelines (англ.).
  6. 6,0 6,1 Kubeflow GitHub - Kubeflow Training Operator (англ.).
  7. Kubeflow Website - KServe (англ.).
  8. Kubeflow Website - Katib (англ.).
  9. Kubeflow Website - Installing Kubeflow (англ.).
  10. "Hot Dogs or Not" - At Scale with Kubernetes [I - Vish Kannan & David Aronchick, Google] (англ.).
  11. Introducing Kubeflow - A Composable, Portable, Scalable ML Stack Built for Kubernetes (англ.).
  12. Kubeflow Website - History (англ.).
  13. Google-led Kubeflow, machine learning for Kubernetes, begins to take shape (англ.).
  14. Announcing Kubeflow 0.1 (англ.).
  15. Kubeflow 1.0: Cloud-Native ML for Everyone (англ.).
  16. Kubeflow Website - Kubeflow Notebooks Overview (англ.).
  17. Kubeflow Website - Kubeflow Pipelines Introduction (англ.).
  18. Vertex AI - Building a pipeline (англ.).
  19. 19,0 19,1 19,2 KServe: The next generation of KFServing (англ.).
  20. KServe GitHub (англ.).
  21. The journey to build Bloomberg’s ML Inference Platform Using KServe (formerly KFServing) (англ.).
  22. Merlin: Making ML Model Deployments Magical (англ.).
  23. KServe Website - Adopters of KServe (англ.).
  24. Kubeflow GitHub - Katib (англ.).
  25. Kubeflow 0.2 - Release Tag (англ.).
  26. Kubeflow 0.3 - Release Tag (англ.).
  27. Kubeflow 0.4 - Release Tag (англ.).
  28. Kubeflow 0.5 - Release Tag (англ.).
  29. Kubeflow 0.6 - Release Information (англ.).
  30. Kubeflow 0.7 - Release Information (англ.).
  31. Kubeflow 1.0 - Release Information (англ.).
  32. Kubeflow 1.1 - Release Information (англ.).
  33. Kubeflow 1.2 - Release Information (англ.).
  34. Kubeflow 1.3 - Release Information (англ.).
  35. Kubeflow 1.4 - Release Information (англ.).
  36. Kubeflow 1.5 - Release Information (англ.).

Ссылки