Kubeflow: новый проект для работы с машинным обучением в Kubernetes

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Разработчики Google объявили о запуске нового проекта Kubeflow. Проект упрощает работу с машинным обучением, предоставляя необходимый инструментарий для масштабирования и настройки системы в среде Kubernetes. В статье расскажем:

  • о компонентах Kubeflow;
  • как начать работу с решением;
  • о перспективах проекта.


/ фото Michael Hicks CC

В 2017 году произошли две вещи. Первая: Kubernetes зарекомендовал себя как стандарт для работы с кластером контейнеров. Это подтверждает опрос Portworx от 2017 года, в котором приняли участие 490 ИТ-специалистов из разных отраслей: Kubernetes используется как инструмент оркестровки контейнеров чаще, чем Docker Swarm, Amazon ECS или Azure Container. Вторая — машинное обучение, по мнению Gartner, оказалось на пике популярности.

Два этих фактора побудили Google создать Kubeflow — открытый проект, который упрощает работу с МО в Kubernetes и перенимает все достоинства этого инструмента оркестровки: возможность развёртки на разнообразной инфраструктуре (от ноутбука до продакшн-кластера), управление слабосвязанными микросервисами (loosely-coupled micro services) и масштабирование по требованию.

Компоненты Kubeflow

Код проекта хранится в Github-репозитории. Там вы найдете следующие компоненты:

  • JupyterHub — сервер для создания и управления интерактивной средой Jupyter Notebook. С помощью JupyterHub можно делиться notebook-файлами, которые позволяют хранить вместе код, изображения, комментарии, формулы и диаграммы.
  • Tensorflow Custom Resource (CRD), который может быть настроен для работы с центральными или графическими процессорами и подстроен под размер кластера.
  • Контейнер для Tensorflow Serving — гибкой системы для развертки моделей машинного обучения в продакшн-среде. Компонент интегрируется с Tensorflow-моделями «из коробки», но подходит и для иных моделей и данных.

Разработчик программного обеспечения из компании Container Solutions Филип Уиндер (Philip Winder) отмечает, что Kubeflow — это гибрид JupyterHub и Tensorflow. В нем Tensorflow служит универсальным механизмом графовых вычислений, который позволяет программистам абстрагироваться от железа и использовать один код для работы с CPU и GPU. Именно поэтому одну и ту же модель можно развернуть как на ноутбуке, так и в облачном кластере.

Начало работы с Kubeflow

Для быстрого старта понадобятся:

  • ksonnet версии 0.8.0 и старше;
  • Kubernetes версии 1.8 (в нашем корпоративном блоге можно найти руководство по его настройке).

Для начала работы с Kubeflow, нужно выполнить следующие команды:

# Задаем значение ksonnet APP APP_NAME=my-kubeflow ks init ${APP_NAME} cd ${APP_NAME}  # Устанавливаем компоненты Kubeflow ks registry add kubeflow github.com/google/kubeflow/tree/master/kubeflow ks pkg install kubeflow/core ks pkg install kubeflow/tf-serving ks pkg install kubeflow/tf-job  # Развертываем Kubeflow ks generate core kubeflow-core --name=kubeflow-core --namespace=${NAMESPACE} ks apply default -c kubeflow-core

Эти команды настраивают JupyterHub и Custom Resource для работы с обучающими выборками в TensorFlow. Кроме того, ksonnet-пакеты предоставляют прототипы для конфигурации задач TensorFlow и развертывания TensorFlow-моделей.

Подробные инструкции по использованию Kubeflow можно найти в официальном руководстве. Здесь можно ознакомиться с инструкцией от разработчиков, а тут – опробовать Kubeflow в браузере прямо сейчас.

Кстати, Майкл Хаузенблас (Michael Hausenblas), разработчик из Red Hat и соавтор книги Kubernetes Cookbook, создал сайт в помощь тем, кто работает с машинным обучением в Kubernetes. Там можно найти обзор основных инструментов и туториалы, в том числе и для Kubeflow.

Что дальше

Проект Kubeflow уже поддержали многие лидеры индустрии: CaiCloud, Red Hat, Canonical, Weaveworks, Container Solutions и другие.

Разработчики Дэвид Арончик (David Aronchick) и Джереми Льюи (Jeremy Lewi), которые работают в Google над Kubeflow, утверждают, что это только начало. В дальнейшем команда планирует привлекать больше партнеров, популяризировать идею и совершенствовать проект. Следить за развитием Kubeflow можно в канале Slack, подписавшись на email-рассылку и в Twitter.


P.S. Еще три материала из Первого блога о корпоративном IaaS:


Источник: habrahabr.ru

Комментарии: