Расширьте свой конвейер TFX с помощью TFX-Addons
Для создания моделей машинного обучения производственного уровня TensorFlow предоставляет набор библиотек под эгидой TensorFlow Extended (TFX). С помощью простой установки pip TFX уже включает в себя ряд универсальных компонентов конвейера, называемых “стандартными компонентами”, которые обеспечивают большую часть базовой функциональности для обучения и пакетного вывода. Стандартные компоненты помогут большинству разработчиков начать работу, но разработчики часто обнаруживают необходимость в дополнительной функциональности, которую можно добавить, разработав пользовательские компоненты. Любой конвейер TFX, независимо от того, какие компоненты включены, может использоваться с рядом конвейерных оркестраторов, таких как Google Cloud Vertex AI Pipelines, Apache Beam, Apache Airflow или Kubeflow Pipelines.
Несмотря на то, что стандартные компоненты TFX великолепны, сообщество инженеров по машинному обучению из ряда компаний, включая Twitter, Spotify, Digits и Apple, создало группу по особым интересам TFX и начало вносить новые компоненты, библиотеки и примеры в расширение TFX под названием TFX-Addons.
TFX
TFX — это комплексная платформа для развертывания рабочих конвейеров машинного обучения. Когда вы будете готовы перевести свои модели из исследования в производство, вы можете использовать TFX для создания автоматизированного производственного конвейера и управления им как для обучения, так и для пакетного вывода. Конвейер TFX — это последовательность компонентов, реализующих конвейер машинного обучения, специально разработанный для масштабируемых высокопроизводительных задач машинного обучения. Компоненты часто можно создавать с помощью библиотек TFX — TensorFlow Data Validation, TensorFlow Transform и Tensorflow Model Analysis — которые также можно использовать по отдельности. Компоненты также могут быть созданы для запуска полностью настроенного кода и даже для распределения обработки по вычислительному кластеру через Apache Beam.
TFX предоставляет следующее:
- Инструментарий для построения конвейеров ML. Конвейеры TFX позволяют вам организовать ваш рабочий процесс ML на нескольких платформах, таких как: Конвейеры Apache Airflow, Apache Beam и Kubeflow. Узнайте больше о конвейерах TFX.
- Набор стандартных компонентов, которые вы можете использовать как часть конвейера или как часть вашего сценария обучения ML. Стандартные компоненты TFX обеспечивают проверенную функциональность, которая поможет вам легко приступить к созданию процесса ML. Узнайте больше о стандартных компонентах TFX.
- Библиотеки, которые обеспечивают базовую функциональность для многих стандартных компонентов. Вы можете дополнительно использовать библиотеки TFX для добавления этой функциональности к вашим собственным пользовательским компонентам или использовать их отдельно. Узнайте больше о библиотеках TFX.
TFX — это набор инструментов для производственного обучения планетарного масштаба, основанный на TensorFlow. Он предоставляет структуру конфигурации и общие библиотеки для интеграции общих компонентов, необходимых для определения, запуска и мониторинга вашей системы машинного обучения.
TFX-Addons
TFX-Addons — это специальная группа по интересам (SIG) для пользователей TFX, которые расширяют стандартный набор компонентов, предоставляемых командой Google TensorFlow. Надстройки — это реализации других компаний и разработчиков, занимающихся машинным обучением, которые в значительной степени полагаются на TFX для своих производственных операций машинного обучения.
Общие шаблоны MLOps, например прием данных в конвейеры машинного обучения, решаются с помощью компонентов TFX. Например, члены TFX-Addons разработали и открыли компонент TFX для приема данных из хранилища функций Feast, компонента, поддерживаемого инженерами по машинному обучению в Twitter и Apple.
Использование компонентов и примеры TFX-Addons
Компоненты и примеры TFX-Addons доступны через простую установку pip. Чтобы установить последнюю версию, выполните следующее:
pip install tfx-addons
Чтобы убедиться, что у вас есть совместимая версия зависимостей для любого данного проекта, вы можете указать имя проекта в качестве дополнительного требования во время установки:
pip install tfx-addons[feast_examplegen]
Чтобы использовать TFX-Addon:
from tfx import v1 as tfx
import tfx_addons as tfxa
# Then you can easily load projects tfxa.{project_name}. Ex:
tfxa.feast_examplegen.FeastExampleGen(...)
Компоненты TFX-Addons можно использовать в любом конвейере TFX. Большинство компонентов поддерживают все оркестраторы TFX, включая Google Cloud’s Vertex Pipelines, Apache Beam, Apache Airflow или Kubeflow Pipelines.
Дополнительные компоненты доступные в настоящее время
Список компонентов, библиотек и примеров постоянно растет, в настоящее время разрабатывается несколько новых проектов. На момент написания этой статьи это доступные в настоящее время компоненты.
Feast Component
Генератор примеров позволяет вам получать образцы данных из Feast Feature Store.
- Больше информации: tfxa.feast_examplegen
Message Exit Handler
Этот компонент предоставляет обработчик выхода для конвейеров TFX, который уведомляет пользователя об окончательном состоянии конвейера (сбой или успех) с помощью сообщения Slack. В случае сбоя конвейера компонент выдаст сообщение об ошибке. Компонент сообщений поддерживает несколько поставщиков сообщений (например, Slack, stdout, поставщиков журналов) и может быть легко расширен для поддержки Twilio. Он также служит примером того, как писать обработчики выхода для конвейеров TFX.
- Больше информации: tfxa.message_exit_handler
Компонент Schema Curation
Этот компонент позволяет своим пользователям обновлять/изменять схему, созданную компонентом SchemaGen, и курировать ее на основе знаний предметной области. Кураторскую схему можно использовать для остановки конвейеров при обнаружении дрейфа функций.
- Больше информации: tfxa.schema_curation
Компонент Feature Selection
Этот компонент позволяет пользователям выбирать объекты из наборов данных. Этот компонент полезен, если вы хотите выбрать объекты на основе статистических метрик выбора объектов.
- Больше информации: tfxa.feature_selection
Компонент XGBoost Evaluator
Этот компонент расширяет стандартный компонент TFX Evaluator для поддержки обученных моделей XGBoost, чтобы проводить глубокий анализ производительности модели.
- Больше информации: tfxa.xgboost_evaluator
Компонент Sampling
Этот компонент позволяет пользователям сбалансировать свои обучающие наборы данных путем случайной недостаточной или избыточной выборки, сводя данные к классу с самой низкой или самой высокой частотой.
- Больше информации: tfxa.sampling
Компонент Pandas Transform
Этот компонент можно использовать вместо стандартного компонента TFX Transform, и он позволяет вам работать с фреймами данных Pandas для разработки ваших функций. Обработка распределена с использованием Beam для масштабируемости.
- Больше информации: tfxa.pandas_transform
Firebase Publisher
Этот проект помогает пользователям публиковать обученные модели непосредственно из конвейера TFX в Firebase ML.
- Больше информации: tfxa.firebase_publisher
Модель HuggingFace Pusher
Пушер модели HuggingFace (HFModelPusher
) отправляет благословленную модель в концентратор моделей HuggingFace. Кроме того, он дополнительно отправляет приложение в HuggingFace Space Hub.
- Больше информации: tfxa.huggingface_pusher
Ваше участие
Группа TFX-Addons SIG посвящена обмену повторно используемыми компонентами и передовым опытом. Если вы заинтересованы в MLOps, присоединяйтесь к нашим еженедельным конференциям. Неважно, являетесь ли вы новичком в TFX или опытным инженером по машинному обучению, приветствуются все, и SIG принимает предложения с открытым исходным кодом от всех участников.
Если вы хотите присоединиться к нашей следующей встрече, зарегистрируйтесь в нашей группе списка sig-tfx-addons@tensorflow.org.
Другие источники:
- TFX-Addons Slack - присоединяйтесь здесь
- TFX-Addons Repository
Если вы уже используете TFX-Addons, мы будем рады услышать от вас!