Специальное сообщение от основателей Kubeflow:

Три года (!!) назад мы (Джереми Льюи, Виш Каннан и Дэвид Арончик) стояли на сцене Kubecon, чтобы впервые представить Kubeflow. Мы даже представить себе не могли, что получится — тысячи звезд GitHub, десятки тысяч коммитов и сообщество, создавшее самую гибкую и масштабируемую платформу для машинного обучения. И, что лучше всего, он не поддерживается огромной компанией, которая требует от вас обновления, чтобы использовать его; мы раздали все это бесплатно! За все, что вы все сделали, и мы очень рады СЛЕДУЮЩИМ трем годам (и еще трем годам после этого). Спасибо!

Объявление о выпуске Kubeflow v1.2

Сообщество Kubeflow выпустило версию программного обеспечения Kubeflow 1.2, которая включает около 100 запрошенных пользователями улучшений для улучшения построения моделей, обучения, настройки, конвейерной обработки и обслуживания машинного обучения. Этот пост включает в себя раздел Основные сведения о выпуске, в котором подробно описаны важные функции 1.2, предоставленные рабочими группами приложений Kubeflow (WG), SIG и партнерами по экосистеме. Журнал изменений Kubeflow 1.2 обеспечивает быстрый просмотр поставок версии 1.2.

Релиз был проверен, протестирован и задокументирован разработчиками, и сейчас Релиз проверяется, тестируется и документируется пользователями, облачными провайдерами и партнерами по коммерческой поддержке на популярных платформах, например AWS, Azure, GCP, IBM и т. д. Сообщество работает на более устойчивом подходе к владению и обслуживанию тестовой инфраструктуры.

Для выпуска 1.2 AWS создала и предоставила общую тестовую инфраструктуру, которая предоставляет владельцам WG достаточные разрешения для выявления проблем и тестирования предлагаемых решений до завершения. В настоящее время большинство рабочих групп (AutoML, Training-Operators, KFServing, Deployments, Manifests) уже перенесли свои тесты на это решение. В результате время блокировки тестовой инфраструктуры значительно сократилось, что хорошо для пользователей и участников.

Вовлечены

Сообщество продолжает расти, и мы приглашаем новых пользователей и участников присоединиться к рабочим группам и собраниям сообщества. Ниже приведены некоторые полезные ссылки для тех, кто хочет принять участие в сообществе Kubeflow:

Если у вас есть вопросы и/или вы столкнулись с проблемами, воспользуйтесь Slack-каналом Kubeflow и/или отправьте сообщения об ошибках через Kubeflow на GitHub.

Что дальше

Сообщество начало обсуждение Kubeflow 1.3. Arrikto согласился возглавить процесс управления выпуском версии 1.3, и сообщество продолжит получать информацию от пользователей и участников по мере определения, разработки и доставки функций. Вперед и вверх!

Особая благодарность Константиносу Венецанопулосу (Arrikto), Анимешу Сингху (IBM), Цзясину Шаню (AWS), Яо Сяо (AWS), Дэвиду Арончику (Azure), Дэну Сану (Bloomberg), Андрею Величкевичу (Cisco), Мэтью Уиксу (Элииза) , Виллем Пиенаар (Feast), Юань Гонг (Google), Джеймс Ву (Google), Джереми Леви (Google), Джош Боттум (Arrikto), Руи Васконселос (Canonical), Джефф Фогарти (US Bank), Карл Шрайк (AlexanderThamm), и Clive Cox (Seldon) за их помощь в версии 1.2 и этом посте.

Раздел «Основные моменты выпуска»

Рабочая группа: AutoML/Katib

Заметки о заседании рабочей группы: Заметки о заседании рабочей группы Катиб

Общее преимущество: более высокая точность модели, лучшее использование инфраструктуры.

Общее описание: Katib 0.10 с новым API v1beta1 был выпущен в Kubeflow 1.2. Автоматизированная настройка гиперпараметров для предоставления более точных моделей с меньшим использованием инфраструктуры, AutoML/Katib упростила процесс поиска оптимизированного набора параметров для вашей модели с помощью методов ранней остановки. Возможность организовать сложный конвейер во время эксперимента Katib с пользовательской поддержкой Kubernetes CRD.

Версия:

Название функции: Ранняя остановка

Описание функции. Сохраните ресурсы кластера с помощью методов ранней остановки Katib. Разрешить использование алгоритма медианного правила остановки.

Преимущество функции: вам не нужно изменять исходный код обучения, чтобы использовать эту функцию! Ранняя остановка может использоваться с каждым алгоритмом Katib.

Название функции: Поддержка настраиваемого CRD в новом пробном шаблоне.

Описание функции. Вы можете выполнить два простых шага, чтобы интегрировать свой пользовательский ресурс Kubernetes в Katib. Гибкий способ отправки ваших гиперпараметров в новом дизайне пробного шаблона, который является действительным YAML.

Преимущество функции: определите Tekton Pipeline в своем эксперименте Katib. Вы можете передавать гиперпараметры, даже если конфигурация вашей модели представляет собой конвейер обучения JSON scikit.

Название функции: Возобновление экспериментов

Описание функции: реализация различных методов возобновления экспериментов Katib. Сохраните данные предложения эксперимента в пользовательском томе. Используйте конфигурацию Katib, чтобы изменить настройки громкости.

Преимущество функции: освободите ресурсы кластера после завершения эксперимента.

Название функции: Несколько способов извлечения метрик

Описание функции. Вы можете указать стратегии метрик для своего эксперимента. Katib вычисляет цель эксперимента на основе этих значений. Вы можете просмотреть подробную информацию о показателях для каждой пробной версии.

Преимущество функции: Получите правильные результаты оптимизации, когда ваша модель выдаст необходимое значение на последнем этапе обучения.

Рабочая группа: KFServing

Заметки о собрании рабочей группы: Заметки о собрании рабочей группы KFServing

Общее преимущество: KFServing позволяет проводить бессерверные логические выводы в Kubernetes и предоставляет высокопроизводительные интерфейсы с высокой степенью абстракции для распространенных сред машинного обучения (ML), таких как TensorFlow, XGBoost, scikit-learn, PyTorch и ONNX, для решения производственных моделей, обслуживающих сценарии использования.

Общее описание: Kubeflow 1.2 включает в себя KFServing v0.4.1, в котором основное внимание уделялось включению KFServing в OpenShift и дополнительному предоставлению дополнительных функций, таких как добавление модуля дозатора в качестве sidecar, переименование и интеграция сервера вывода Triton, обновление объяснителя Alibi до версии 0.4.0, обновление регистратора до протокола CloudEvents V1 и разрешение настраиваемых URL-адресов в плоскости данных. Кроме того, минимальная версия Istio теперь v1.3.1, а версия KNative была перемещена в KNative 0.14.3. Подробнее можно узнать здесь и здесь

Название функции: Добавить модуль дозатора в качестве дополнения #847 @zhangrongguo

Описание функции: KFServer Batcher принимает запросы пользователей, группирует их и затем отправляет в InferenceService. Описание функции дозатора

Преимущество функции: более быстрое время отклика на запросы логического вывода и более эффективное использование инфраструктуры.

Название функции: Объяснитель алиби, обновление до версии 0.4.0 #803 @cliveseldon

Описание функции. Усовершенствования включают в себя объяснитель KernelSHAP для оценок SHAP модели черного ящика и документацию для алгоритма LinearityMeasure. Эта поставка включает в себя новый API для эксплейнера и объектов объяснений, которые обеспечивают множество улучшений, но являются критическими изменениями.

Преимущество функции: эта поставка улучшает способность понимать, какие функции влияют на точность модели, а также улучшают операции.

Название/описание функции : Переименование и интеграция сервера логических выводов Triton #747 @deadeyegoodwin

Рабочая группа: Трубопроводы

Заметки о собрании рабочей группы: http://bit.ly/kfp-meeting-notes

Общее преимущество: упрощение процесса создания модели при наличии новых данных и нового кода.

Общее описание: Kubeflow Pipelines — это платформа для создания и развертывания переносимых, масштабируемых рабочих процессов машинного обучения (ML) на основе контейнеров. Платформа Kubeflow Pipelines состоит из:

  • Пользовательский интерфейс (UI) для управления и отслеживания экспериментов, заданий и запусков.
  • Механизм планирования многоэтапных рабочих процессов машинного обучения.
  • SDK для определения конвейеров и компонентов и управления ими.
  • Блокноты для взаимодействия с системой с помощью SDK.

Ниже приведены цели Kubeflow Pipelines:

  • Сквозная оркестровка: включение и упрощение оркестровки конвейеров машинного обучения.
  • Простое экспериментирование: вам будет легко опробовать множество идей и методов и управлять различными испытаниями/экспериментами.
  • Простое повторное использование: позволяет повторно использовать компоненты и конвейеры для быстрого создания комплексных решений без необходимости каждый раз перестраивать

Kubeflow Pipelines стабилизируется после нескольких выпусков исправлений. В то же время мы добились большого прогресса в стандартизации конвейерного IR (промежуточного представления), который будет служить унифицированным определением конвейера для различных механизмов выполнения.

Преимущество функции: доступны конвейеры Kubeflow с поддержкой Tekton.

Описание функции: После долгих усилий у нас есть Конвейеры Kubeflow, работающие на Tekton от начала до конца и доступные в открытом исходном коде. Кроме того, он доступен по умолчанию с развертыванием Kubeflow в IBM Cloud и может быть развернут в OpenShift.

Преимущество функции: поддержка Tekton

Если вы являетесь существующим пользователем Tekton, поклонником Tekton или используете OpenShift Pipelines, запустите Kubeflow Pipelines поверх него. Подробнее здесь
https://developer.ibm.com/blogs/kubeflow-pipelines-with-tekton-and-watson/

Название функции: стабилизация Kubeflow Pipelines 1.0.x

Описание функции: Мы стабилизируем Kubeflow Pipelines с помощью нескольких выпусков исправлений: Kubeflow Pipelines 1.0.4 Список изменений ~20 исправлений и ~5 мелких функций.

Рабочая группа: Ноутбуки

Заметки о собрании рабочей группы: скоро!

Общее преимущество: интерактивная экспериментальная среда кодирования для разработки моделей.

Общее описание. Блокноты предоставляют расширенную интерактивную среду кодирования, которую пользователи и команды могут совместно использовать и использовать пространства имен kubernetes для изоляции и использования ресурсов.

Название функции: Конфигурации сходства/допуска #5237

Описание функции: Добавляет возможность для администраторов Kubeflow устанавливать группы конфигураций Affinity/Toleration, которые пользователи могут выбирать из раскрывающегося списка.

Преимущество функции: позволяет более детально выбирать способ планирования модулей Notebook.

Функции объединенного кода, артефакты доступны в версии 1.2.1 или более поздней (не в версии 1.2.0)

Название функции: Блокнот рефакторинга

Описание функции: Детали рефакторинга определены в этих поставках:

  • Общий код между различными бэкендами Python, # 5164
  • Создайте библиотеку Angular с общим кодом внешнего интерфейса # 5252.
  • Рефакторинг серверной части JWA для использования общего кода # 5316
  • Инициализируйте интерфейс веб-приложения Jupyter в crud-web-apps, # 5332

Преимущество функции: рефакторинг упростит будущую интеграцию с другими веб-приложениями — Tensorboard, диспетчером томов.

Название функции: Остановить и перезапустить ноутбуки с сохранением состояния #4857

Описание функции: Внедрение кнопки «выключить сервер» на центральной панели, которая масштабирует набор с отслеживанием состояния для сервера до нуля, и кнопки «запустить сервер», которая снова масштабирует его. Примечание. Эта функция будет поддерживаться в версии 1.2.1 или выше.

Преимущество функции: экономия труда, экономия ресурсов инфраструктуры

Рабочая группа: Обучение операторов

Заметки о заседании рабочей группы: подлежит уточнению

Общее преимущество: более быстрая разработка моделей с использованием операторов, упрощающих распределенные вычисления.

Название функции: участники Training Operator предоставили следующие исправления и улучшения в Kubeflow 1.2:

  • Добавить mxnet-operator в aws kfdefs (#1327, @Jeffwan)
  • Обновить манифест mxnet-operator до v1 (#1326, @Jeffwan)
  • Исправьте имя группы XGBoostJob CRD и добавьте имя в единственном числе (#1313, @terrytangyuan)
  • Исправлена ​​проблема с манифестом оператора XGBoost (#1463, @Jeffwan)

SIG: Управление моделями

Общее преимущество: возможность находить версии моделей и их подкомпоненты, включая метаданные.

Заметки о собрании SIG: Заметки о собрании SIG по управлению моделями

Общее описание:

Группа SIG была инициирована для определения и разработки решения Kubeflow для управления моделями, которое упростит организацию и поиск моделей и их артефактов. Кроме того, несколько участников представляют предложения о том, как определить типы данных для модели и данных ML с целью внедрения более широких стандартов метаданных и обеспечения взаимодействия моделей между платформами, облаками и платформами ML. Предложения работают над определением онтологии для моделей и типов данных, а также инструментов для поиска и организации этих метаданных.

Обсуждаются предложения от участников Kubeflow Pipelines, SIG Model Management, Seldon и MLSpec от Дэвида Арончика (Azure). Ниже приведены ссылки на эти предложения:

Экосистема: Селдон

Общее преимущество: развертывание, масштабирование и обновление моделей, созданных с помощью Kubeflow.

Общее описание: Seldon управляет масштабированием производственных моделей машинного обучения и предоставляет готовые расширенные возможности машинного обучения, включая расширенные метрики, ведение журнала запросов, эксплейнеры, детекторы выбросов, A/B-тесты и Canary.

Kubeflow 1.2 поставляется с выпуском Seldon 1.4. В этом выпуске Seldon добавлены дополнительные возможности для развертывания модели и логического вывода, включая добавление пакетных и потоковых интерфейсов к развернутой модели. Это также позволяет точно контролировать взаимодействие развернутой модели с Kubernetes с добавлением параметров KEDA и Pod Disruption Budget. Наконец, он начинает процесс совместимости с KFServing, разрешая использование V2 Dataplane, поддерживаемого Seldon, KFServing и NVIDIA Triton.

Версия: 1.4.0

Название функции: Потоковая и пакетная поддержка

Описание функции: поддержка потоковой передачи для встроенной интеграции Kafka. Поддержка пакетного прогнозирования из облачного хранилища и в него.

Преимущество функции: позволяет пользователям Seldon взаимодействовать со своими моделями через RPC, потоковую передачу или пакетную обработку по мере необходимости.

Название функции: Расширенное управление kubernetes через KEDA и PDB

Описание функции: позволяет точно контролировать развернутые модели посредством автоматического масштабирования с помощью метрик KEDA и добавления бюджетов сбоев в работе pod.

Функция Преимущество: управление моделями в масштабе производственного кластера.

Название функции: План данных Alpha V2

Описание функции: запуск пользовательских моделей Python с использованием обновленного сервера Python вместе с поддержкой Dataplane версии 2 (NVIDIA Triton, KFServing, Seldon).

Преимущество функции: используйте стандартный мощный протокол, который поддерживается в разных проектах.

Экосистема: капуста

Общее преимущество: инструмент рабочего процесса Kubeflow, упрощающий создание конвейера машинного обучения и управление версиями непосредственно из ноутбука или IDE, т. е. VSCode.

Kale репозиторий GitHub: https://github.com/kubeflow-kale/kale

Кале Учебники: https://www.arrikto.com/tutorials/

Общее описание: Kale позволяет развертывать Jupyter Notebooks, которые работают на вашем ноутбуке или в облаке, в Kubeflow Pipelines, не требуя каких-либо шаблонов Kubeflow SDK. Вы можете определить конвейеры, просто аннотируя ячейки кода Notebook и нажимая кнопку развертывания в пользовательском интерфейсе Jupyter. Kale позаботится о преобразовании Notebook в действующее развертывание Kubeflow Pipelines, позаботится об устранении зависимостей данных и управлении жизненным циклом конвейера.

Название функции: Пример классификации пород собак

Описание функции: Учебное пособие по упрощенному конвейеру для построения модели для классификации изображений.

Преимущество функции: более быстрое понимание рабочих процессов ML для создания моделей с настройкой гиперпараметров.

Название функции: интеграция Katib с Kale

Описание функции: Автоматическая настройка гиперпараметров и воспроизводимые испытания katib с использованием конвейеров.

Преимущество функции: более высокая точность модели, простота воспроизводимости и отладки.

Название функции: конвейерное пошаговое кэширование для испытаний Katib с использованием интеграции Kale с Rok.

Описание функции: Kale распознает, когда этап конвейера выполнялся ранее, получает полные результаты от Rok и вставляет их в обработку конвейера.

Преимущество функции: более быстрая настройка гиперпараметров, снижение нагрузки на инфраструктуру.

Экосистема: Пир

Общее преимущество: Feast позволяет командам регистрировать, принимать, обслуживать и отслеживать функции машинного обучения в рабочей среде.

Заметки о заседании рабочей группы: https://tinyurl.com/kf-feast-sig

Общее описание: последний выпуск Feast стал результатом согласованных усилий сообщества Feast, направленных на то, чтобы сделать Feast доступным в большем количестве сред, чем в Google Cloud. Мы убрали все жесткие привязки к управляемым сервисам и сделали возможным запуск Feast как на AWS, так и локально.

Версия: Пир 0.8

Название функции: Поддержка AWS

Описание функции: Feast 0.8 теперь поставляется с поддержкой развертывания на AWS, встроенной поддержкой управления заданиями в EMR и поддержкой S3 и Kinesis в качестве источников данных.

Преимущество функции: Наконец, пользователи Kubeflow на AWS могут запускать Feast.

Название функции: пакетный прием

Описание функции: позволяет командам принимать данные в хранилища без передачи данных через поток.

Преимущество функции: обеспечивает более высокую производительность приема по сравнению с подходом «сначала поток».

Название функции: локальный режим

Описание функции: позволяет запускать Feast без какой-либо внешней инфраструктуры, используя только Docker Compose или Minikube.

Преимущество функции: снижает входной барьер для новых пользователей и упрощает тестирование и разработку Feast.

Экосистема: локальная SIG

Описание. Локальный SIG был официально создан в этом выпуске с целью разработки передовых методов развертывания Kubeflow в локальных установках. В новом выпуске SIG также защитила тестовую инфраструктуру, чтобы предоставить хорошо протестированную эталонную архитектуру.

Заметки о собрании SIG: https://bit.ly/2LyTh14

Slack-канал: https://kubeflow.slack.com/archives/C01C9NPD15H

Платформа: АВС

Описание: повышенная надежность, расширенный охват тестированием за счет включения тестов E2E для развертывания Kubeflow AWS, улучшенный пользовательский интерфейс Kubeflow для ноутбуков.

Платформа: IBM

Описание. Конвейеры и безопасность были в центре внимания Kubeflow в IBM Cloud в этом выпуске. Что касается конвейеров, Конвейеры Kubeflow с Tekton доступны для развертывания в службе IBM Cloud Kubernetes и включены по умолчанию в развертывание Kubeflow в IBM Cloud. Что касается безопасности, мы включили интеграцию с IBM Cloud AppId в качестве поставщика аутентификации вместо Dex. При использовании AppID он делегирует поставщика удостоверений в IBM Cloud со встроенными поставщиками удостоверений (Cloud Directory, SAML, вход через социальные сети с помощью Google или Facebook и т. д.) или настраиваемых поставщиков. Кроме того, для обеспечения аутентификации Kubeflow с HTTPS мы предоставили инструкции по интеграции с помощью IBM Cloud Network Load Balancer.

Платформа: GCP

Описание: Лучший UX и надежность при установке и обновлении. Обновите Cloud Config Connector в кластере управления до последней версии.

Платформа: Azure

Описание: мы добавили инструкции по развертыванию Kubeflow с мультитенантностью, поддерживаемой Azure Active Directory. Кроме того, мы задокументировали шаги по замене хранилища метаданных управляемым экземпляром базы данных Azure MySQL.

Платформа: Опенсифт

Описание. В этом выпуске мы сосредоточились на создании стека OpenShift, который может устанавливать компоненты Kubeflow на OpenShift 4.x. Мы разработали стек таким образом, чтобы пользователи могли выбирать компоненты, которые они хотели бы установить, добавляя или удаляя записи kustomizeConfig в файле kfdef. В настоящее время поддерживаются следующие компоненты: istio, однопользовательский конвейер, блокноты Jupyter с настраиваемым образом записной книжки Tensorflow, контроллер профиля с настраиваемым образом, операторы заданий Katib, pytorch и Tensorflow, а также Seldon. Вы можете установить Kubeflow 1.2 на Openshift из сообщества оператора Open Data Hub в каталоге OpenShift с помощью OpenShift kfdef.

Платформа: MicroK8s

Описание: Kubeflow — это встроенное дополнение к MicroK8s, которое теперь по умолчанию включает Istio v1.5.

Платформа: МиниКФ

Описание: MiniKF в настоящее время тестируется с Kubeflow 1.2 и предоставит обновленную версию MiniKF после завершения проверочного тестирования и документации. Дополнительную информацию о MiniKF можно найти здесь: https://www.arrikto.com/get-started/. Вы также можете найти учебные пособия, которые проведут вас через сквозные примеры обработки данных, здесь: https://www.arrikto.com/tutorials