parallel Пакет
Классы
ParallelJob |
Параллельное задание. |
RunFunction |
Запустите функцию. |
Функции
parallel_run_function
Создайте объект Parallel, который можно использовать в dsl.pipeline в качестве функции, а также как автономное параллельное задание.
Пример использования ParallelRunStep см. в записной книжке. https://aka.ms/parallel-example-notebook
from azure.ai.ml import Input, Output, parallel
parallel_run = parallel_run_function(
name="batch_score_with_tabular_input",
display_name="Batch Score with Tabular Dataset",
description="parallel component for batch score",
inputs=dict(
job_data_path=Input(
type=AssetTypes.MLTABLE,
description="The data to be split and scored in parallel",
),
score_model=Input(
type=AssetTypes.URI_FOLDER, description="The model for batch score."
),
),
outputs=dict(job_output_path=Output(type=AssetTypes.MLTABLE)),
input_data="${{inputs.job_data_path}}",
max_concurrency_per_instance=2, # Optional, default is 1
mini_batch_size="100", # optional
mini_batch_error_threshold=5, # Optional, allowed failed count on mini batch items, default is -1
logging_level="DEBUG", # Optional, default is INFO
error_threshold=5, # Optional, allowed failed count totally, default is -1
retry_settings=dict(max_retries=2, timeout=60), # Optional
task=RunFunction(
code="./src",
entry_script="tabular_batch_inference.py",
environment=Environment(
image="mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04",
conda_file="./src/environment_parallel.yml",
),
program_arguments="--model ${{inputs.score_model}}",
append_row_to="${{outputs.job_output_path}}", # Optional, if not set, summary_only
),
)
parallel_run_function(*, name: str | None = None, description: str | None = None, tags: Dict | None = None, properties: Dict | None = None, display_name: str | None = None, experiment_name: str | None = None, compute: str | None = None, retry_settings: BatchRetrySettings | None = None, environment_variables: Dict | None = None, logging_level: str | None = None, max_concurrency_per_instance: int | None = None, error_threshold: int | None = None, mini_batch_error_threshold: int | None = None, task: RunFunction | None = None, mini_batch_size: str | None = None, partition_keys: List | None = None, input_data: str | None = None, inputs: Dict | None = None, outputs: Dict | None = None, instance_count: int | None = None, instance_type: str | None = None, docker_args: str | None = None, shm_size: str | None = None, identity: ManagedIdentity | AmlToken | None = None, is_deterministic: bool = True, **kwargs) -> Parallel
Параметры
- name
- str
Имя созданного параллельного задания или компонента.
- description
- str
Понятное описание параллели.
- tags
- Dict
Теги, которые должны быть присоединены к этой параллели.
- properties
- Dict
Словарь свойств ресурса.
- display_name
- str
понятное имя;
- experiment_name
- str
Имя эксперимента, в который будет создано задание, если указано значение None, по умолчанию будет задано текущее имя каталога. Будет игнорироваться как шаг конвейера.
- compute
- str
Имя вычислительной среды, в которой выполняется параллельное задание (не будет использоваться, если параллельная функция используется в качестве компонента или функции).
- retry_settings
- BatchRetrySettings
Повторная попытка параллельного запуска компонента завершилась сбоем
Словарь имен и значений переменных среды. Эти переменные среды задаются для процесса, в котором выполняется пользовательский скрипт.
- logging_level
- str
Строка имени уровня ведения журнала, которая определена в параметре "logging". Возможные значения: "WARNING" (Предупреждение), "INFO" (Информация) и "DEBUG" (Отладка). (Необязательно. Значение по умолчанию — INFO.) Это значение можно задать с помощью PipelineParameter.
- max_concurrency_per_instance
- int
Максимальный параллелизм, имеющийся у каждого вычислительного экземпляра.
- error_threshold
- int
Количество ошибок записей для табличного набора данных и сбоев файлов для набора данных файлов, которые следует игнорировать во время обработки. Если число ошибок превышает это значение, задание будет прервано. Пороговое значение ошибки — для всего входного, а не для отдельного мини-пакета, отправленного методу run(). Диапазон значений — [-1, int. max]. -1 указывает на пропуск всех сбоев во время обработки
- mini_batch_error_threshold
- int
Количество сбоев мини-пакетной обработки следует игнорировать.
- task
- RunFunction
Параллельная задача
- mini_batch_size
- str
Для входных данных FileDataset значением этого поля является число файлов, которые может обработать пользовательский скрипт в одном вызове метода run(). Для входных данных TabularDataset значение этого поля представляет приблизительный размер данных, которые может обработать пользовательский скрипт в одном вызове метода run(). Примеры значений: 1024, 1024 КБ, 10 МБ и 1 ГБ. (Необязательно. Значение по умолчанию — 10 файлов для FileDataset и 1 МБ для TabularDataset.) Это значение можно задать с помощью PipelineParameter.
- partition_keys
- List
Ключи, используемые для секционирования набора данных на мини-пакеты. Если этот параметр указан, данные с одним и тем же ключом будут секционированы в один мини-пакет. Если указаны и partition_keys, и mini_batch_size, ключи секций вступают в силу. Входные данные должны быть секционированы, а partition_keys должно быть подмножеством ключей каждого входного набора данных, чтобы это работало.
- input_data
- str
Входные данные.
- inputs
- Dict
Диктовка входных данных, используемых данным параллелем.
- outputs
- Dict
Выходные данные этой параллели
- instance_count
- int
Необязательное количество экземпляров или узлов, используемых целевым объектом вычислений. Значение по умолчанию — 1.
- instance_type
- str
Необязательный тип виртуальной машины, поддерживаемой целевым объектом вычислений.
- docker_args
- str
Дополнительные аргументы для передачи команде запуска Docker. Это переопределит все параметры, которые уже были заданы системой или в этом разделе. Этот параметр поддерживается только для типов вычислений Машинного обучения Azure.
- shm_size
- str
Размер блока общей памяти контейнера Docker. Значение должно быть в формате (число)(единица), где число больше 0, а единица измерения может быть одной из b(байтов), k(килобайтов), m(мегабайт) или g(гигабайт).
- identity
- Union[ <xref:azure.ai.ml._restclient.v2022_02_01_preview.models.ManagedIdentity>, <xref:azure.ai.ml._restclient.v2022_02_01_preview.models.AmlToken>]
Удостоверение, которое задание обучения будет использовать при выполнении на вычислительных ресурсах.
- is_deterministic
- bool
Укажите, будет ли параллельная функция возвращать одни и те же выходные данные при одинаковых входных данных. Если параллельный (компонент) является детерминированным, при использовании его в качестве узла или шага в конвейере повторно используются результаты предыдущего отправленного задания в текущей рабочей области с теми же входными данными и параметрами. В этом случае на этом шаге не будут использоваться вычислительные ресурсы. По умолчанию имеет значение True, укажите is_deterministic=False, если вы хотите избежать такого поведения повторного использования, по умолчанию — True.
Возвращаемое значение
Параллельный узел
Возвращаемый тип
Комментарии
Чтобы использовать parallel_run_function, выполните следующие действия.
Создайте <xref:azure.ai.ml.entities._builders.Parallel> объект , чтобы указать, как выполняется параллельное выполнение, с параметрами для управления размером пакета, количеством узлов на целевой объект вычислений и ссылкой на пользовательский скрипт Python.
Создание конвейера с параллельным объектом в качестве функции. определяет входные и выходные данные для шага.
Суммируйте выполняемый конвейер.
Azure SDK for Python
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по