Признаки для обучения считаются в Spark, а в онлайне — заново в Python-сервисе
Признаки для обучения модели кредитного скоринга собираются SQL-запросами в Spark, а в онлайн-сервисе те же признаки переписаны на Python разработчиками бэкенда. Через месяц после запуска выяснилось, что days_since_last_payment в онлайне считается от текущего времени, а в обучении — от начала дня, и ещё три признака расходятся в обработке пропусков.
Какое архитектурное решение снижает такие расхождения?
- Единое определение признаков в feature store
- Ещё одна команда переписывания признаков
- Ежегодная ручная сверка кода обучения и сервиса
- Переобучать модель на онлайн-логах без проверок
