Создание параметризованного конвейера Vertex AI в GCP
В нашем приложении в настоящее время мы предоставляем пользовательский интерфейс, в котором пользователь может выбрать некоторые базовые настройки (тип модели, входные функции, гиперпараметры), чтобы указать модель прогноза. Каждый раз, когда пользователь указывает такую модель, внутреннее приложение python просматривает эти настройки, извлекает данные обучения из соответствующей базы данных, обучает соответствующую модель и сохраняет файл модели, который затем используется во время прогнозирования. Затем модель повторно обучается в соответствии с фиксированной частотой. Мы хотим заменить весь этот поток GCP, но я не уверен в правильном подходе к этому. Моя первоначальная мысль - написать все серверное приложение как единый конвейер VertexAI, где каждый раз, когда пользователь указывает модель, конвейер запускается и создает и развертывает модель (настраиваемую или AutoML), которая затем используется во время прогнозирования. Я не уверен, могу ли я сделать следующее:
- Поскольку существует один конвейер, который запускается каждый раз, когда пользователь указывает модель, конвейер необходимо параметризовать. Скажем, пользователь указывает модель для метрики A, конвейер создает и развертывает model1, затем для метрики B конвейер развертывает model2 и так далее. Таким образом, конвейер необходимо параметризовать.
- Можем ли мы получить данные из разных источников (кроме BigQuery, Cloud Storage) в конвейере?
- Как я могу запланировать запуск конвейера для каждой модели отдельно, то есть, скажем, модель A нужно обучать раз в две недели, модель B нужно обучать еженедельно и т. Д. Поскольку существует только 1 конвейер и много развернутых моделей, я даже не уверен, как это сделать. установить расписание для конвейера.
Я относительно новичок в GCP Vertex AI и изучаю вещи, поэтому не уверен, что нахожусь на правильном пути. Имеет ли смысл использовать единственный конвейер для этого варианта использования, или мне следует подумать о написании пользовательского приложения на Python, которое затем создает новый конвейер каждый раз, когда запрашивается модель?