Почему магазин функций:

Чтобы разобраться в хранилищах функций, нам нужно сначала понять, что это за функции. Данные, которые мы передаем в модели машинного обучения, называются функциями. Данные, полученные в реальном мире, не всегда позволяют делать прогнозы на будущее. Вам необходимо выполнять агрегирование, преобразование, объединение данных для создания новых функций на основе ваших бизнес-/ предметных / статистических знаний. Я твердо верю, что именно в этом специалисты по обработке данных отличаются друг от друга, их опыт, знания, творческий подход играют здесь главную роль. Об этом же я написал другую статью подробно.

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

Теперь в вашей компании другим специалистам по данным необходимо построить модель машинного обучения, в которой им нужно будет прогнозировать посещаемость магазина в конкретный день. Они также поняли, что кампания по погоде и здоровью играет важную роль в увеличении посещаемости. Теперь им приходится тратить аналогичные затраты на вычисления и хранение, чтобы включить эти функции в эту модель. Но вы это только что создали, вы оба работаете в одной компании? они могут использовать то же самое? Как специалист по данным «А» узнает особенности, созданные другими аналитиками данных от «b до я», до создания своих функций?

Теперь я предположил, что у вас есть отличные знания в области / функциональности своего бизнеса, чтобы создавать новые функции на ровном месте. Что касается того, что у вас нет знаний в предметной области, вы выполнили различные итерации, использовали обширные статистические концепции, чтобы получить наиболее важные функции для этих моделей машинного обучения. Было бы неплохо, если бы ваши коллеги использовали ваши знания и опыт? Ведь неспроста есть поговорка стоя на плече гигантов.

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

Что такое магазин функций:

Я не хочу вводить здесь другое определение хранилища функций, это хранилище функций, которое позволяет специалистам по обработке данных вычислять, хранить, обновлять, регистрировать, отслеживать, обнаруживать и обслуживать различные функции машинного обучения. Магазин функций - это место, где различные специалисты по данным могут сотрудничать, чтобы раскрыть творческие способности друг друга и сократить время и затраты на разработку для своей организации. Чтобы узнать больше об этом, я бы рекомендовал прочитать эти статьи (1, 2).

Важные предварительные условия для магазина функций:

Теперь вам может быть интересно, какие основные аспекты должно иметь БОЛЬШОЕ хранилище функций.

На изображении ниже описаны различные функции, которые должны быть в магазине функций.

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

Вычисление, хранение, обновление, журнал, мониторинг, обнаружение и обслуживание

Этот раздел (Вычисление, хранение, обновление, журнал, мониторинг, обнаружение и обслуживание) является минимальным требованием к хранилищу функций. Любое хранилище функций, если отсутствует какой-либо из этих аспектов, будет очень сложно оправдать потребность в хранилище функций по сравнению с существующими хранилищами данных, платформами данных и т. Д.

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

Затем следует еще один важный аспект хранилищ функций: как другие группы в тех же организациях ищут эти функции, поэтому должен быть способ поиска функций с использованием переменных метаданных. Чтобы другие команды могли легко обнаружить и использовать эти функции для решения своих бизнес-задач. Теперь, чтобы это произошло, группы по анализу данных могут зарегистрировать функции с соответствующими метаданными (описание функции, первичный ключ, детали и т. Д.), Позже эта информация метаданных может использоваться другими специалистами по данным в организации для обнаружения функций.

Онлайн, офлайн функции

Еще одним важным аспектом магазина функций является хранение и поддержка как сетевых, так и автономных функций. Автономные функции могут использоваться для обслуживания пакетных моделей или для обучения моделей машинного обучения. В то время как онлайн-функции можно использовать для прогнозов в реальном времени. Ограничения на очень низкую задержку будут для онлайн-функций по сравнению с офлайн-функциями. Следовательно, хранилище функций должно поддерживать соответствующие базы данных для удовлетворения требований к задержке и хранению. Например, магазин функций Databricks, запущенный в этом году, может поддерживать как онлайн, так и автономные функции в Azure с выбором хранилища с использованием дельта-озера, Azure MySQL и т. Д.

Не следует путать хранилища функций с хранилищами данных, между ними есть различия. Я бы рекомендовал прочитать эту статью для более подробной информации по этой теме. Подводя итог, можно сказать, что хранилище функций требует множества дополнительных компонентов (как указано выше) поверх обычного хранилища данных. Однако мы можем создать наш магазин функций, используя некоторые облачные функции, например DVC, вычисления, хранилище, IAM, службы машинного обучения и т. Д.

Открытый исходный код, управляемый

Когда дело доходит до магазинов функций с полностью открытым исходным кодом, вариантов очень мало. Feast - один из них, и это отличный магазин функций с открытым исходным кодом, изначально доступный как для AWS, так и для GCP. Он был разработан совместно Google и Gojek, читайте здесь. Однако в последнее время мы наблюдаем его реализацию в Azure и локальных средах, для получения более подробной информации я бы попросил просмотреть эту статью за апрель 2021 года от команды праздника. В этой статье они заявляют, что теперь они также предоставляют поддержку для развертываний Azure и локальных развертываний.

Сейчас несколько стартапов разрабатывают коммерческие магазины функций. Тектон - один из них. Если вы видите изображение в следующем разделе, платформа Uber Michelangelo была первоначальной платформой с магазином функций. Компания Tecton основана командой Микеланджело. Tecton также является основным участником большой библиотеки с открытым исходным кодом для магазинов функций.

Различные облачные провайдеры также предоставляют хранилища функций в качестве управляемых услуг. Его можно легко использовать и интегрировать с теми же облачными вычислениями, хранилищами и сетевыми ресурсами. Это может быть естественным выбором для различных предприятий в зависимости от их потребностей. Например, у Google vertex AI есть магазин функций, AWS добавила магазин функций в 2020 году как часть своей платформы SageMaker.

Контроль доступа

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

Путешествие по избранным магазинам:

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



Вы можете потенциально сделать различные важные выводы из приведенной выше карты пути. Как расширяется распространение магазинов функций после 2020 года. Это причина того, что в последнее время мы видим, что облачные опции становятся доступными для магазинов функций в качестве управляемых сервисов.

Энтузиазм по поводу тематических магазинов достиг такой степени, что был отмечен первый в мире саммит тематических магазинов, который состоялся в октябре 2021 года. Подробную информацию о повестке дня, спикерах и темах см. Ниже.



Саммит Feature Store
Нажимая« Принять все файлы cookie
, вы соглашаетесь на сохранение файлов cookie на вашем устройстве для улучшения навигации по сайту… www.featurestoresummit.com »



Если вам интересно узнать больше об архитектуре, реализации, деталях использования хранилищ функций, реализованных этими технологическими компаниями (Netflix, Uber, Airbnb, Gojek, DoorDash, Lyft, LinkedIn), то я бы порекомендовал пройти по ссылке ниже на GitHub. который суммирует ссылки для всех этих магазинов функций. Ничто не может сравниться с тем, что напрямую говорят их технологические команды.



Вывод:

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