Azure Появляются лучшие практики ML ML, поэтому я могу дать вам некоторые рекомендации, но я был бы удивлен, если бы другие ответили расходящимися глубоко укоренившимися мнениями. Линейка продуктов Azure ML также совершенствуется и расширяется на продукт феноменальными темпами, поэтому я ожидаю, что со временем все изменится (в лучшую сторону). Эта статья хорошо объясняет конвейеры ML
3 Передача модели в последующий шаг
Как получить модель на следующем шаге?
Во время разработки я рекомендую вам не регистрировать вашу модель и чтобы на этапе оценки ваша модель получала через PipelineData
в виде маринованного файла.
На производстве шаг оценки должен использовать ранее зарегистрированную модель.
Наша команда использует PythonScriptStep
, который имеет аргумент сценария, позволяющий передавать модель из шага восходящего потока или извлекаться из реестра. На приведенном ниже снимке экрана показан наш шаг оценки партии с использованием PipelineData
с именем best_run_data
, который содержит лучшую модель (сохраненную как model.pkl
) из HyperDriveStep
.
Определение нашего batch_score_step
имеет логический аргумент '--use_model_registry'
, который определяет, использовать ли недавно обученную модель или используйте реестр моделей. Мы используем функцию get_model_path()
для поворота по сценарию arg. Вот некоторые фрагменты кода из вышеперечисленного.
2 Плоскость управления против плоскости данных
Какие части должны быть реализованы как шаг конвейера, а какие части не должны ' t?
Все преобразования, которые вы делаете с вашими данными (манипуляция, индивидуализация, обучение, подсчет очков), должны выполняться внутри PipelineStep
. Входы и выходы которых должны быть PipelineData
.
Azure ML-артефакты должны быть: - созданы в плоскости управления конвейера с использованием PipelineData
и - зарегистрированы либо: - ad-ho c, в отличие от каждого прогона или - когда вам нужно передать артефакты между конвейерами.
Таким образом PipelineData
- это клей, который соединяет шаги конвейера напрямую, а не косвенно, с / 1051 * и .download()
PipelineData
- это, в конечном счете, просто эфемерные каталоги, которые также можно использовать в качестве заполнителей перед выполнением шагов по созданию и регистрации артефактов.
Dataset
абстракции PipelineData
s в том смысле, что они упрощают передачу данных в AutoMLStep
и HyperDriveStep
и DataDrift
1. Инкапсуляция конвейера
означает ли это, что «Часть прогнозирования» является частью того же конвейера, что и «обучающая часть», или для этого должны быть два отдельных конвейера?
Ваша архитектура конвейера зависит от:
- нужно пред ict live (в противном случае пакетное прогнозирование достаточно) и
- ваши данные уже преобразованы и готовы к оценке.
Если вам нужен оперативный скоринг, вам следует развернуть вашу модель . Если пакетная оценка, хорошо. Вы можете иметь:
- обучающий конвейер, в конце которого вы регистрируете модель, которая затем используется в конвейере оценки , или
- сделать как у нас есть и есть один конвейер, который можно настроить на использование аргументов скрипта.