Модели оценки клиентов усложняются. Усложнение моделей может заключаться как в применении новых методов машинного обучения, так и во внедрении многомодульной технологии оценки клиента, когда анализируются различные аспекты, которые не зависят напрямую друг от друга, но в совокупности могут рассказать о клиенте многое. Каждое направление анализа может кардинально отличаться от другого, поэтому создаются отдельные независимые модули, которые в конечном итоге нужно связать друг с другом.
Сложные модели требуют большей производительности от систем, в которые они внедряются. Также возникает потребность в управлении очередью вызова модулей. Результаты оценки одних модулей могут использоваться в качестве входных параметров для других модулей, соответственно, требуется не только настроить очерёдность их вызова, но и настроить потоки данных между модулями. При этом особенность применения многомодульных моделей состоит в том, что каждый модуль может работать независимо и выдавать свой результат по запросу.
Как не запутаться в многопоточности задач на разработку и внедрение, протестировать корректность работы, внедрить многомодульную модель и не сойти с ума?
Ответ на вопрос лежит на поверхности: разделяй и властвуй. Можно разделить модель на отдельные модули, распределить задачи по разработке этих модулей между дата-сайентистами, а потом соединить их с помощью отдельного сервиса, который будет отвечать за список используемых модулей и порядок вызова модулей. О том, как это решение внедрить, команда ML-инженеров поделилась в статье «Пайплайн каскадных онлайн-моделей: как не запутаться в модулях и обрести дзен при внедрении многомодульных моделей».
