Использование хранилищ признаков, таких как Feast, и распределенных вычислительных фреймворков, таких как Ray, в системах машинного обучения, применяемых в производственной среде.
Делиться

В недавнем проекте, связанном с построением моделей прогнозирования потенциальных покупок клиентов, я столкнулся с проблемами проектирования признаков , с которыми сталкивался уже много раз.
Эти проблемы можно условно разделить на две категории:
1) Неадекватное управление функциями
- Определения, происхождение и версии функций, созданных командой, не отслеживались систематически, что ограничивало повторное использование функций и воспроизводимость результатов моделирования.
- Логика работы с признаками поддерживалась вручную в отдельных скриптах для обучения и вывода, что создавало риск несогласованности признаков для обучения и вывода (т.е., неравномерность распределения признаков между обучающей выборкой и выводом).
- Характеристики хранились в виде плоских файлов (например, CSV), в которых отсутствует принудительная проверка схемы и поддержка доступа с низкой задержкой или масштабируемого доступа.
2) Высокая задержка при разработке характеристик.
- При работе с временными рядами часто возникают сложные задачи по проектированию признаков, требующие вычисления множества преобразований на основе окон.
- Когда эти вычисления выполняются последовательно, а не оптимизированы для параллельного выполнения, задержка при разработке признаков может значительно возрасти.
В этой статье я подробно объясняю концепции и реализацию хранилищ признаков (Feast) и распределенных вычислительных фреймворков (Ray) для проектирования признаков в производственных конвейерах машинного обучения (ML).
Содержание
(1) Пример использования
(2) Понимание Пира и Луча
(3) Роль Feast и Ray в разработке функций
(4) Пошаговое описание кода
Соответствующий репозиторий на GitHub можно найти здесь.
Источник: towardsdatascience.com





















