Я думаю, это здорово, что вы объединяете интерфейс своей компании, который взаимодействует с вашими прогнозами в реальном времени.
Один из способов сделать это - то, что вы заявили, поместить их в одно и то же приложение для колб.Предполагается, что все ваши модели имеют одинаковые требования к задержке.Если ваши модели используют одни и те же наборы функций, вы экономите много ресурсов на извлечении объектов и, возможно, преобразовании объектов.Это может снизить вашу задержку.
Недостатками этого могут быть более высокие требования к ресурсам и, возможно, дополнительные риски, которые могут повредить вашему общему времени безотказной работы.Кроме того, это приложение может стать сложнее в управлении со всеми требованиями функций из разных моделей.
Если у вас более строгие требования к задержке и времени безотказной работы.Я все еще продолжу с вашим текущим методом реализации.Я думаю, что некоторые разочарования от вашей текущей реализации могут быть вызваны тем, что вам приходится повторять один и тот же код снова и снова, когда вы вводите новую модель.
В настоящее время существует два популярных подхода к этому.Первый чем-то похож на то, что вы думаете.Он имеет хранилище функций, которое обеспечивает все необходимые функции, кроме входящих данных, и каждая модель обслуживается отдельно.Это обеспечивает хорошую производительность, отказываясь от гибких возможностей моделирования некоторых ученых.Другой подход - это то, что у вас происходит.Обслуживание моделей, извлечение функций живут в бункере.
Надеюсь, это поможет.
У меня также есть саморазъем.Мы открываем исходный набор инструментов ML для упаковки и развертывания моделей.Он создал файловый архив, который вы можете импортировать как модуль python или использовать встроенный колб-сервер, и вы можете сгенерировать образ докера для производственных развертываний.Я думаю, что это может решить ваши разочарования по поводу оборачивания моделей с подобным кодом снова и снова.Вы можете проверить это в BentoML