MLOps с Tecton и Apache AirFlow

MLOps AirFlow Tecton, MLOps ML AirFlow оркестрация конвейеров машинного обучения примеры, машинное обучение примеры курсы MLOps, курсы по Airflow, администрирование и использование Airflow, Airflow для инженера данных, Apache Airflow обучение, курсы дата-инженеров и администраторов, обучение инженеров Big Data, инженерия больших данных, AirFlow применение, data pipeline, AirFlow инженерия данных обучение, Школа Больших Данных Учебный центр Коммерсант

Что представляет собой MLOps-платформа Tecton и как запустить на ней конвейеры машинного обучения, используя провайдер Tecton-AirFlow, чтобы управлять ресурсами Tecton в этом ETL-оркестраторе.

Что такое Tecton и при чем здесь MLOps

Поскольку концепция MLOps направлена на безбарьерную автоматизацию всех этапов жизненного цикла систем машинного обучения, для этого нужны специализированные средства. Одним из таких инструментов является Tecton — полностью управляемая функциональная платформа для операционных приложений искусственного интеллекта и принятия решений. Tecton позволяет создавать, автоматизировать и централизовать конвейеры данных для производственных ML-приложений с высокой скоростью и надежностью корпоративного уровня.

Tecton включает следующие возможности:

  • проектирование конвейеров фичей в пакетном режиме, потоковой передаче и в режиме реального времени с минимальным количеством кода и автоматизированной оркестровкой;
  • высокопроизводительное обслуживание вычисляемых или обновляемых в режиме реального времени фичей с помощью надежных API-интерфейсов;
  • доступ к согласованным данным на этапах обучения и вывода с помощью интегрированных офлайн- и онлайн-хранилищ фичей, что сводит к минимуму риск искажения данных;
  • высокая точность результатов в любой момент времени при заполнении и создании обучающих данных с помощью модели пространственных данных Tecton;
  • надежное управление фичами и данными, включая мониторинг конвейеров, задержки обработки, качество и версионность;
  • оповещения о проблемах, связанных с ML-системой и с качеством данных.

Tecton поддерживает модульную интеграцию в существующий стек данных, позволяя использовать SQL, PySpark, SnowPark или Python.

Хранилище фичей – это система, предназначенная для хранения и обслуживания значений фичей для приложений машинного обучения. Это основной компонент платформы Tecton, в которой фичи определяются как управляемые конвейеры преобразования данных. Фичи можно вычислять извне и записывать непосредственно в хранилище через API-интерфейсы приема Tecton. Эти данные затем можно получить в автономном режиме для обучения ML-модели или в режиме онлайн.

Платформа Tecton решает весь спектр задач по созданию и поддержке фичей для оперативного машинного обучения, включая их определение, тестирование, оркестровку, мониторинг и управление. Репозиторий Tecton — это набор Python-файлов, содержащих определения объектов Tecton, которые определяют конвейеры фичей и другие потоки данных в рамках платформы. Эти репозитории обычно хранятся в репозитории системы управления версиями, например Git, чтобы обеспечить контроль версий и совместную работу.

Tecton автоматически управляет услугами вычислений и хранения, необходимыми для преобразования данных в фичи для производственного машинного обучения. Организовать централизованное управление конвейерами данных пользователи Tecton могут применять специализированные оркестраторы, например, Apache AirFlow. Далее рассмотрим, как это реализовать.

Как устроен провайдер Tecton для Apache AirFlow

Чтобы обеспечить централизованное управление конвейерами данных Tecton в Apache AirFlow, в конце октября 2023 года в реестре провайдеров Astronomer был опубликован провайдер Tecton-AirFlow, который включает 6 модулей:

  • TectonFeatureTableIngestOperator — оператор Airflow, который запускает задание по приему таблицы функций Tecton и не ждет его завершения;
  • TectonFeatureTableJobOperator — Оператор Airflow, который запускает задание по приему таблицы фичей Tecton и ожидает его завершения;
  • TectonHook – веб-перехватчик, который позволяет получить одно или весь список заданий на материализацию, отправить задание на материализацию, отменить задание на материализацию и получить время готовности задания;
  • TectonJobOperator — оператор Airflow, запускающий задание Tecton и ожидающий его завершения;
  • TectonMaterializationOperator — оператор Airflow, запускающий задание Tecton и не дожидающийся его завершения;
  • TectonSensorсенсор, специальный тип операторов, для Tecton FeatureViews или

С помощью этих модулей можно управлять ресурсами Tecton в AirFlow. Есть несколько способов взаимодействовать с Tecton в рамках DAG AirFlow. Одним из них является TectonSensor, который ожидает материализации данных Feature View/Feature Service. Этот датчик блокирует следующие за ним задачи в DAG AirFlow до тех пор, пока задания материализации для конкретного Feature View/Feature Service не будут завершены.  DAG Airflow может начать обучение или переобучение модели машинного обучения после TectonSensor или любого количества других последующих задач, офлайн- и интернет-магазины теперь будут обновлены.  TectonSensor часто сочетается с TectonMaterializationOperator или TectonFeatureTableTIngestOperator.

Tecton начнет материализовать представление объекта при вызове  TectonMaterializationOperator. По умолчанию расписания просмотра объектов Tecton сохраняются в этой MLOps-платформе. Однако перенос материализации в Airflow позволит поддерживать расписание для каждого инструмента обработки данных в одном сервисе и объединять работу и расписаниенескольких инструментов обработки данных в одном конвейере. Запуск материализаций из Airflow также позволяет определять логику повторов, обработку ошибок и регистрацию Tecton и других компонентов конвейера в ETL-оркестраторе. При этом с оператором TectonMaterializationOperator платформа Tecton по-прежнему будет управлять повторными попытками.

TectonJobOperator запускает задание Tecton и ожидает его завершения, дополняя TectonSensor для независимого мониторинга состояния офлайн- и онлайн-хранилища фичей. Таблица фичей позволяет добавлять в Tecton функции, которые уже преобразованы за пределами Tecton. Например, оператор TectonFeatureTableIngestOperator запускает задание по приему, которое может принять входящий датафрейм Pandas, содержащий преобразованные данные объектов, в Tecton. Этот оператор можно использовать, если есть непредсказуемо поступающие данные, но надо, чтобы Tecton управлял повторными попытками выполнения заданий.

TectonFeatureTableJobOperator сочетает в себе возможности TectonFeatureTableIngestOperator и TectonSensor. Он пригодится для тестирования, когда фичи еще не реализованы в онлайн-хранилище. Как только TectonFeatureTableJobOperator в DAG начнет правильно работать с фичами в автономном режиме, к неve можно добавить дополнительный TectonSensor для мониторинга.

Чтобы работать с Tecton в AirFlow, необходимо установить соединение с этой платформой, добавив учетные данные. Соединение Tecton будет иметь идентификатор соединения tecton_default, тип соединения Tecton, URL-адрес учетной записи Tecton в качестве хоста и ключ API от учетной записи службы Tecton. При этом надо назначить учетной записи сервиса роль оператора для ранее созданной рабочей области Tecton.

Tecton AirFlow MLOps
Добавление соединения с Tecton в AirFlow

Читайте в нашей новой статье про расширение концепции MLOps для больших языковых моделей (LLM, Large Language Model).

Узнайте больше про Apache AirFlow  и другие MLOps-инструменты, а также их практическое использование в дата-инженерии, машинном обучении и аналитике больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. https://www.tecton.ai/blog/tecton-airflow-provider/
  2. https://registry.astronomer.io/providers/airflow-provider-tecton/versions/0.1.2
  3. https://docs.tecton.ai/docs/introduction
  4. https://docs.tecton.ai/docs/introduction/tecton-concepts
Поиск по сайту