Что такое конвейеры машинного обучения в службе Машинное обучение Azure?What are ML pipelines in Azure Machine Learning service?

Узнайте о конвейерах машинного обучения, которые можно создавать и администрировать с помощью службы Машинное обучение Azure.Learn how about the machine learning pipelines you can build and manage with Azure Machine Learning service.

При помощи конвейеров машинного обучения ученые и инженеры, работающие с данными, а также ИТ-специалисты могут совместно выполнять следующие действия:Using machine learning (ML) pipelines, data scientists, data engineers, and IT professionals can collaborate on the steps involved in:

  • подготовка данных, в частности нормализация и преобразование;Data preparation, such as normalizations and transformations
  • Обучение моделиModel training
  • Оценка модели.Model evaluation
  • РазвертываниеDeployment

Узнайте, как создать свой первый конвейер.Learn how to create your first pipeline.

Конвейеры машинного обучения в Службе машинного обучения Azure

Какую технологию конвейера Azure следует использовать?Which Azure pipeline technology should I use?

Облако Azure предоставляет несколько других конвейеров с разными целями.The Azure cloud provides several other pipelines, each with a different purpose. В следующей таблице перечислены различные конвейеры и их использование.The following table lists the different pipelines and what they are used for:

КонвейерPipeline ДействиеWhat it does Канонический каналCanonical pipe
Конвейеры Машинное обучение AzureAzure Machine Learning pipelines Определяет рабочие процессы машинного обучения для повторного использования, которые можно использовать в качестве шаблона для сценариев машинного обучения.Defines reusable machine learning workflows that can be used as a template for your machine learning scenarios. Модель > данныхData -> model
Конвейеры фабрики данных AzureAzure Data Factory pipelines Группирует действия перемещения данных, преобразования и управления, необходимые для выполнения задачи.Groups data movement, transformation, and control activities needed to perform a task. Данные > данныхData -> data
Конвейеры AzureAzure pipelines Непрерывная интеграция и доставка приложения в любую платформу или любое облакоContinuous integration and delivery of your application to any platform/any cloud > Приложения или службы кодаCode -> app/service

Зачем создавать конвейеры сборки с помощью службы "Машинное обучение Azure"Why build pipelines with Azure Machine Learning?

Конвейеры машинного обучения оптимизируют рабочий процесс с помощью ускорения, переносимости и повторного использования, поэтому вы можете сосредоточиться на своем опыте, машинном обучении, а не на инфраструктуре и автоматизации.Machine learning pipelines optimize your workflow with speed, portability, and reuse so you can focus on your expertise, machine learning, rather than on infrastructure and automation.

Конвейеры создаются на основе нескольких шагов, которые являются отдельными вычислительными единицами в конвейере.Pipelines are constructed from multiple steps, which are distinct computational units in the pipeline. Каждый шаг может выполняться независимо и использовать изолированные ресурсы вычислений.Each step can run independently and use isolated compute resources. Это позволяет нескольким специалистам по обработке данных работать в одном конвейере одновременно без избыточных вычислений, а также упрощает использование различных типов вычислений и размеров для каждого шага.This allows multiple data scientists to work on the same pipeline at the same time without over-taxing compute resources, and also makes it easy to use different compute types/sizes for each step.

После создания конвейера часто нужно выполнить более тонкую настройку его цикла обучения.After the pipeline is designed, there is often more fine-tuning around the training loop of the pipeline. При повторном запуске конвейера выполняется переход к отдельным шагам, которые необходимо повторно запустить, например обновленному сценарию обучения, и пропускает то, что не изменилось.When you rerun a pipeline, the run jumps to the distinct steps that need to be rerun, such as an updated training script, and skips what hasn't changed. Та же парадигма применяется к неизменным сценариям, используемым для выполнения шага.The same paradigm applies to unchanged scripts used for the execution of the step. Эта функция позволяет избежать выполнения дорогостоящих и ресурсоемких действий, таких как прием и преобразование данных, если базовые данные не изменились.This functionality helps to avoid running costly and time-intensive steps like data ingestion and transformation if the underlying data hasn't changed.

С помощью Машинное обучение Azure можно использовать различные наборы средств и платформы, такие как PyTorch или TensorFlow, для каждого шага в конвейере.With Azure Machine Learning, you can use various toolkits and frameworks, such as PyTorch or TensorFlow, for each step in your pipeline. Azure выполняет координацию между различными используемыми целевыми объектами вычислений, чтобы промежуточные данные можно было легко совместно использовать с нисходящими целевыми объектами вычислений.Azure coordinates between the various compute targets you use, so that your intermediate data can be shared with the downstream compute targets easily.

Можно отслеживать метрики для экспериментов в конвейере непосредственно на портале Azure.You can track the metrics for your pipeline experiments directly in the Azure portal. После публикации конвейера можно настроить конечную точку RESTFUL, которая позволит перезапустить конвейер из любой платформы или стека.After a pipeline has been published, you can configure a REST endpoint which allows you to rerun the pipeline from any platform or stack.

Ключевые преимуществаKey advantages

Основные преимущества использования конвейеров для рабочих процессов машинного обучения:The key advantages of using pipelines for your machine learning workflows are:

Ключевое преимуществоKey advantage ОписаниеDescription
Автоматические выполненияUnattended runs Планирование выполнения шагов параллельно или в последовательности в надежном и автоматическом режиме.Schedule steps to run in parallel or in sequence in a reliable and unattended manner. Подготовка и моделирование данных могут быть за последние дни или недели, а Конвейеры позволяют сосредоточиться на других задачах во время выполнения процесса.Data preparation and modeling can last days or weeks, and pipelines allow you to focus on other tasks while the process is running.
Разнородных вычисленийHeterogenous compute Используйте несколько конвейеров, которые надежно скоординированы между разнородными и масштабируемыми вычислительными ресурсами и местами хранения.Use multiple pipelines that are reliably coordinated across heterogeneous and scalable compute resources and storage locations. Выполните отдельные шаги конвейера на различных целевых объектах вычислений, таких как HDInsight, виртуальные машины обработки и анализа данных GPU.Run individual pipeline steps on different compute targets, such as HDInsight, GPU Data Science VMs, and Databricks. Это позволяет эффективно использовать доступные вычислительные ресурсы.This makes efficient use of available compute options.
Повторное использованиеReusability Создание шаблонов конвейера для конкретных сценариев, таких как переобучение и пакетная оценка.Create pipeline templates for specific scenarios, such as retraining and batch-scoring. Активация опубликованных конвейеров из внешних систем с помощью простых вызовов RESTFUL.Trigger published pipelines from external systems via simple REST calls.
Отслеживание и управление версиямиTracking and versioning Вместо отслеживания данных и папок результатов вручную при выполнении итераций используйте пакет SDK для конвейеров, чтобы присваивать имена и определять версии источников данных, входных и выходных данных.Instead of manually tracking data and result paths as you iterate, use the pipelines SDK to explicitly name and version your data sources, inputs, and outputs. Вы можете также отдельно управлять сценариями и данными для повышения эффективности.You can also manage scripts and data separately for increased productivity.
ДокументамиCollaboration Конвейеры позволяют специалистам по обработке и анализу данных совместно работать во всех областях процесса разработки машинного обучения, в то же время одновременно работая с этапами конвейера.Pipelines allow data scientists to collaborate across all areas of the machine learning design process, while being able to concurrently work on pipeline steps.

Пакет SDK для Python для конвейеровThe Python SDK for pipelines

Используйте пакет SDK для Python для создания КОНВЕЙЕРов машинного обучения в предпочтительной интегрированной среде разработки (IDE) или записных книжках Jupyter.Use Python SDK to create your ML pipelines in your preferred integrated development environment (IDE) or Jupyter notebooks. Пакет SDK для службы "Машинное обучение Azure" предлагает императивные конструкции для последовательного и параллельного выполнения шагов в конвейерах при отсутствии зависимости данных.The Azure Machine Learning SDK offers imperative constructs for sequencing and parallelizing the steps in your pipelines when no data dependency is present.

Вы можете оптимизировать свои задачи с помощью декларативных зависимостей данных.Using declarative data dependencies, you can optimize your tasks. Пакет SDK включает в себя платформу, состоящую из готовых модулей для типичных задач, таких как передача данных и публикация моделей.The SDK includes a framework of pre-built modules for common tasks, such as data transfer and model publishing. Вы можете расширить платформу для моделирования собственных соглашений, реализовав пользовательские действия, которые можно использовать в разных конвейерах.You can extend the framework to model your own conventions by implementing custom steps reusable across pipelines. Пакет SDK также позволяет непосредственно управлять целевыми объектами вычислений и ресурсами хранилища.You can also manage compute targets and storage resources directly from the SDK.

Сохраняйте конвейеры в качестве шаблонов и развертывайте их в конечной точке RESTFUL для заданий оценки пакетной обработки или переобучения.Save your pipelines as templates, and deploy them to a REST endpoint for batch-scoring or retraining jobs.

Существует два пакета Python для конвейеров с Машинное обучение Azure: azureml-конвейеры — Core и azureml-Pipeline — шаги.There are two Python packages for pipelines with Azure Machine Learning: azureml-pipelines-core and azureml-pipeline-steps.

Следующие шагиNext steps