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

К сожалению, есть несколько причин, по которым магазины функций терпят неудачу. Во-первых, они не позволяют повторять и открывать новые функции, которые необходимы для самого процесса разработки функций. С момента обучения моделей машинного обучения они начинают стареть и ухудшаться. Нецелесообразно ожидать, что специалист по данным может просто найти все функции, которые будут необходимы для всех задач за все время — единственная константа — это изменение. Вот несколько примеров сценариев: моделирование данных, которые изменяются с течением времени, моделирование поведения в контексте изменяющихся сред или прогнозирование результатов, зависящих от решений человека. Хранилища функций также наследуют ограничения механизмов функций, с которыми они взаимодействуют, поэтому выбор правильного механизма функций жизненно важен.

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

Механизмы функций

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

Как они работают

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

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

Пример использования мобильных игр

Компании, занимающиеся мобильными играми, понимают, что в их быстро развивающейся индустрии традиционных статических магазинов функций недостаточно. В современном мире, где постоянно создаются новые бесплатные игры с новой игровой механикой, может быть сложно привлекать, вовлекать и удерживать игроков более одного дня. На самом деле индустрия мобильных игр в целом страдает от ужасного уровня удержания игроков. В бесчисленных компаниях только 24% игроков возвращаются на следующий день, а 94% игроков уходят в течение первого месяца. Причины, по которым они отказываются от игры, часто неизвестны.

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

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

В одном партнерстве с популярной игровой компанией движок функций Kaskada позволил реализовать тысячи итераций функций всего за 2,5 недели, что в конечном итоге привело к созданию восьми производственных моделей машинного обучения, которые успешно предсказывали выживание игроков в четырех ключевых для бизнеса точках. Это было экспоненциальное улучшение по сравнению с запланированной 12-месячной дорожной картой разработки модели.

Заключение

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

Свяжитесь с нами для получения дополнительной информации по адресу [email protected]