Проект Open Data Hub – відкрита платформа машинного навчання на базі Red Hat OpenShift

Майбутнє настало, технології штучного інтелекту та машинного навчання вже успішно використовують ваші улюблені магазини, транспортні компанії та навіть ферми, які вирощують індичок.

Проект Open Data Hub – відкрита платформа машинного навчання на базі Red Hat OpenShift

А якщо щось існує, то в інтернеті про це вже є… відкритий проект! Дивіться як Open Data Hub допомагає масштабувати нові технології та уникати труднощів під час їх впровадження.

За всіх плюсів штучного інтелекту (artificial Intelligence, AI) і машинного навчання (machine learning, ML) в організацій часто виникають труднощі з масштабуванням цих технологій. Основні проблеми при цьому, як правило, такі:

  • Обмін інформацією та співробітництво – обмінюватися інформацією без зайвих зусиль та співпрацювати у режимі швидких ітерацій практично неможливо.
  • Доступ до даних – для кожного завдання його потрібно будувати заново та вручну, що забирає багато часу.
  • Доступ на вимогу – немає можливості отримати on-demand доступ до інструментів та платформ машинного навчання, а також до обчислювальної інфраструктури.
  • Виробництво моделі залишаються на стадії прототипу і не доводяться до промексплуатації.
  • Відстеження та пояснення результатів роботи AI – відтворюваність, відстеження та пояснення результатів AI/ML скрутні.

Залишені без вирішення ці проблеми негативно впливають на швидкість, ефективність та продуктивність роботи цінних фахівців з обробки та аналізу даних. Це призводить до їхньої фрустрації, розчарування в роботі, і в результаті очікування бізнесу щодо AI/ML йдуть прахом.

Відповідальність за вирішення цих проблем покладається на ІТ-фахівців, які мають надати дата-аналітикам – правильно, щось на зразок хмари. Якщо розгорнуто, то потрібна така платформа, яка дає свободу вибору і має зручний, простий доступ. При цьому вона швидка, легко переналаштовується, масштабується на вимогу та стійка до відмов. Побудова такої платформи на базі технологій з відкритим кодом допомагає не впасти у залежність від вендора та зберегти довгострокову стратегічну перевагу щодо контролю витрат.

Декілька років тому щось схоже відбувалося у розробці додатків і призвело до появи мікросервісів, гібридних хмарних середовищ, ІТ-автоматизації та agile-процесів. Щоб упоратися з усім цим, ІТ-фахівці почали використовувати контейнери, Kubernetes та відкриті гібридні хмари.

Тепер цей досвід застосовується для відповіді на виклики Al. Тому ІТ-фахівці створюють платформи, що базуються на контейнерах, дозволяють створювати AI/ML-сервіси в рамках agile-процесів, прискорюють інновації та будуються з прицілом на гібридну хмару.

Проект Open Data Hub – відкрита платформа машинного навчання на базі Red Hat OpenShift

Побудову такої платформи ми почнемо з Red Hat OpenShift, нашої контейнерної Kubernetes-платформи для гібридної хмари, яка має швидкозростаючу екосистему програмних та апаратних ML-рішень (NVIDIA, H2O.ai, Starburst, PerceptiLabs і т.д.). Деякі з клієнтів Red Hat, такі як BMW Group, ExxonMobil та інші, вже розгорнули контейнеризовані ланцюжки ML-інструментів та процеси DevOps на базі цієї платформи та її екосистеми, щоб вивести свої ML-архітектури на режим промислової експлуатації та прискорити роботу дата-аналітиків.

Ще одна причина, через яку ми запустили проект Open Data Hub – продемонструвати приклад архітектури на основі кількох СПО-проектів та показати, як реалізувати весь життєвий цикл ML-рішення на базі платформи OpenShift.

Проект Open Data Hub

Це проект із відкритим кодом, який розвивається в рамках відповідної спільноти розробки та реалізує повний цикл операцій – від завантаження та перетворення початкових даних до формування, навчання та супроводу моделі – при вирішенні завдань AI/ML за допомогою контейнерів та Kubernetes на платформі OpenShift. Цей проект можна розглядати як еталонну реалізацію, як побудувати відкрите рішення класу «AI/ML як послуга» на основі OpenShift та відповідних інструментів з відкритим кодом, таких як Tensorflow, JupyterHub, Spark та інших. Важливо відзначити, що Red Hat сама використовує цей проект для надання послуг AI/ML. Крім того, OpenShift інтегрується з ключовими програмними та апаратними ML-рішеннями від NVIDIA, Seldon, Starbust та інших вендорів, що полегшує побудову та запуск власних систем машинного навчання.

Проект Open Data Hub – відкрита платформа машинного навчання на базі Red Hat OpenShift

Проект Open Data Hub орієнтований на наступні категорії користувачів та сценарії використання:

  • Дата-аналітик, якому потрібне рішення для реалізації ML-проектів, організоване на кшталт хмари з функціями самообслуговування.
  • Дата-аналітик, якому потрібен максимальний вибір із усієї різноманітності найновіших інструментів та платформ AI/ML з відкритим кодом.
  • Дата-аналітик, якому потрібний доступ до джерел даних під час навчання моделей.
  • Дата-аналітик, якому потрібний доступ до обчислювальних ресурсів (CPU, GPU, пам'ять).
  • Дата аналітик, якому потрібна можливість співпрацювати та обмінюватися результатами роботи з колегами, отримувати зворотний зв'язок та вводити покращення методом швидких ітерацій.
  • Дата-аналітик, який хоче взаємодіяти з розробниками (і командами devops), щоб його ML-моделі та результати роботи йшли у продакшн.
  • Інженер за даними, якому потрібно надати дата-аналітику доступ до різноманітних джерел даних з дотриманням норм та вимог безпеки.
  • Адміністратор/оператор ІТ-систем, якому потрібна можливість без зайвих зусиль контролювати життєвий цикл (установка, налаштування, оновлення) компонентів та технологій з відкритим кодом. А також потрібні відповідні інструменти управління та квотування.

Проект Open Data Hub поєднує в собі цілу низку інструментів з відкритим кодом для реалізації повного циклу операцій AI/ML. Як основний робочий інструмент дата-аналітика тут використовується Jupyter Notebook. Цей інструментарій сьогодні користується широкою популярністю серед фахівців з обробки та аналізу даних, і Open Data Hub дозволяє їм легко створювати та керувати робочими областями Jupyter Notebook, використовуючи вбудований JupyterHub. Крім створення та імпорту notebooks Jupyter, проект Open Data Hub також містить низку вже готових notebooks у вигляді бібліотеки AI Library.

Ця бібліотека є колекцією open-source компонентів машинного навчання та рішень для типових сценаріїв, що спрощують швидке прототипування. JupyterHub інтегрований з RBAC-моделлю доступу OpenShift, що дозволяє використовувати вже існуючі облікові записи OpenShift і реалізувати єдиний вхід до системи. Крім того, JupyterHub пропонує зручний інтерфейс користувача під назвою spawner, за допомогою якого користувач може легко налаштувати обсяг обчислювальних ресурсів (процесорні ядра, пам'ять, GPU) для обраного Jupyter Notebook.

Після того, як дата-аналітик створить та налаштує ноутбук, всі інші турботи про нього бере на себе планувальник Kubernetes, який є частиною OpenShift. Користувачам залишається лише виконувати свої експерименти, зберігати та ділитися результатами своєї роботи. Крім того, просунуті користувачі можуть безпосередньо звертатися до CLI-оболонки OpenShift безпосередньо з Jupyter notebooks, щоб задіяти примітиви Kubernetes, такі як Job, або функціонал OpenShift, наприклад Tekton або Knative. Або для цього можна використовувати зручний OpenShift'овський GUI, який називається "веб-консоль OpenShift".

Проект Open Data Hub – відкрита платформа машинного навчання на базі Red Hat OpenShift

Проект Open Data Hub – відкрита платформа машинного навчання на базі Red Hat OpenShift

Переходячи до наступного етапу, Open Data Hub дає можливість керувати конвеєрами даних (data pipelines). Для цього використовується Ceph-об'єкт, який надається у вигляді S3-сумісного об'єктного сховища даних. Apache Spark забезпечує стрімінг даних із зовнішніх джерел або вбудованого сховища Ceph S3, а також дозволяє виконувати попередні перетворення даних. Apache Kafka забезпечує розширене управління конвеєрами даних (де можна здійснювати багаторазове завантаження, а також операції перетворення, аналізу та збереження даних).

Отже, дата-аналітик отримав доступ до даних та побудував модель. Тепер у нього виникає бажання поділитись отриманими результатами з колегами або розробниками додатків, причому надати їм свою модель на засадах послуги. Для цього потрібний сервер виведення, і Open Data Hub має такий сервер, він називається Seldon і дозволяє опублікувати модель у вигляді RESTful-сервісу.

У якийсь момент таких моделей на сервері Seldon стає кілька, і виникає потреба у моніторингу того, як вони використовуються. Для цього Open Data Hub пропонує колекцію відповідних метрик та движок звітів на основі широко поширених інструментів моніторингу з відкритим кодом Prometheus та Grafana. В результаті ми отримуємо зворотний зв'язок для моніторингу використання AI-моделей, зокрема у продакшн-середовищі.

Проект Open Data Hub – відкрита платформа машинного навчання на базі Red Hat OpenShift

Таким чином, Open Data Hub забезпечує хмароподібний підхід протягом усього циклу операцій AI/ML, починаючи з доступу та підготовки даних і закінчуючи навчанням та промисловою експлуатацією моделі.

Збираємо все воєдино

Тепер постає питання, як усе це організувати адміністратору OpenShift. І тут у справу вступає спеціальний Kubernetes-оператор для проектів Open Data Hub.

Проект Open Data Hub – відкрита платформа машинного навчання на базі Red Hat OpenShift

Цей оператор керує установкою, налаштуванням та життєвим циклом проекту Open Data Hub, включаючи розгортання таких вищезгаданих інструментів, як JupyterHub, Ceph, Spark, Kafka, Seldon, Prometheus та Grafana. Проект Open Data Hub можна знайти на веб-консолі OpenShift, в розділі community-операторів. Таким чином, адміністратор OpenShift може встановити, що відповідні проекти OpenShift відносяться до категорії «проект Open Data Hub». Це робиться один раз. Після цього дата-аналітик через веб-консоль OpenShift заходить у свій проектний простір і бачить, що для його проектів встановлено та доступний відповідний Kubernetes-оператор. Потім він створює екземпляр проекту Open Data Hub одним клацанням миші і відразу отримує доступ до вищеописаних інструментів. І все це можна налаштувати в режимі високої доступності та відмовостійкості.

Проект Open Data Hub – відкрита платформа машинного навчання на базі Red Hat OpenShift

Якщо ви хочете власноруч спробувати проект Open Data Hub, почніть з інструкцій з встановлення та вступного підручника. Технічні подробиці архітектури Open Data Hub можна знайти тут, плани розвитку проекту – тут. У майбутньому планується реалізувати додаткову інтеграцію з Kubeflow, вирішити низку питань з регулюванням даних та безпекою, а також організувати інтеграцію з системами на основі правил Drools та Optaplanner. Висловити свою думку та стати учасником проекту Відкрийте Data Hub можна на сторінці Спільноти.

Резюмуємо: серйозні проблеми із масштабуванням заважають організаціям повною мірою реалізувати потенціал штучного інтелекту та машинного навчання. Red Hat OpenShift давно і успішно застосовується для вирішення подібних проблем у софтверній галузі. Проект Open Data Hub, реалізований у рамках спільноти розробки у відкритому коді, пропонує еталонну архітектуру для організації повного циклу операцій AI/ML на базі гібридної хмари OpenShift. У нас є чіткий та продуманий план розвитку цього проекту, і ми серйозно налаштовані створити навколо нього активну та плідну спільноту розробки відкритих AI-рішень на платформі OpenShift.

Джерело: habr.com

Додати коментар або відгук