parallel 패키지

클래스

ParallelJob

병렬 작업.

RunFunction

함수를 실행합니다.

함수

parallel_run_function

dsl.pipeline 내에서 함수로 사용할 수 있고 독립 실행형 병렬 작업으로 만들 수도 있는 Parallel 개체를 만듭니다.

ParallelRunStep을 사용하는 예제는 Notebook을 참조하세요. 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
<xref:Dict>
필수

이 병렬에 연결할 태그

properties
dict[str, str]
필수

자산 속성 사전입니다.

display_name
str
필수

친숙한 이름

experiment_name
str
필수

작업이 만들어질 실험의 이름입니다. None이 제공된 경우 기본값은 현재 디렉터리 이름으로 설정됩니다. 파이프라인 단계로 무시됩니다.

compute
str
필수

병렬 작업이 실행되는 컴퓨팅의 이름(병렬이 구성 요소/함수로 사용되는 경우 사용되지 않음)

retry_settings
BatchRetrySettings
필수

병렬 구성 요소 실행 실패 다시 시도

environment_variables
<xref:Dict>[str, str]
필수

환경 변수 이름 및 값의 사전입니다. 이러한 환경 변수는 사용자 스크립트가 실행되는 프로세스에서 설정됩니다.

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, 1024KB, 10MB 및 1GB입니다. (선택 사항, 기본값은 FileDataset의 경우 10개 파일, TabularDataset의 경우 1MB입니다.) 이 값은 PipelineParameter를 통해 설정할 수 있습니다.

partition_keys
<xref:List>
필수

데이터 세트를 미니 일괄 처리로 분할하는 데 사용되는 키입니다. 지정할 경우 키가 같은 데이터가 동일한 미니 일괄 처리로 분할됩니다. partition_keys 및 mini_batch_size 모두 지정하면 파티션 키가 적용됩니다. 입력은 분할된 데이터 세트여야 하며, 올바르게 작동하려면 partition_keys가 모든 입력 데이터 세트의 키 하위 집합이어야 합니다.

input_data
str
필수

입력 데이터입니다.

inputs
<xref:Dict>
필수

이 병렬에서 사용하는 입력의 받아쓰기입니다.

outputs
<xref:Dict>
필수

이 병렬의 출력

instance_count
int
필수

컴퓨팅 대상에서 사용하는 인스턴스 또는 노드의 선택적 수입니다. 기본값은 1입니다.

instance_type
str
필수

컴퓨팅 대상에서 지원하는 것으로 사용되는 선택적 VM 유형입니다.

docker_args
str
필수

Docker 실행 명령에 전달할 추가 인수입니다. 이렇게 하면 시스템 또는 이 섹션에서 이미 설정된 매개 변수가 재정의됩니다. 이 매개 변수는 Azure ML 컴퓨팅 유형에 대해서만 지원됩니다.

shm_size
str
필수

Docker 컨테이너의 공유 메모리 블록 크기입니다. 이 형식은 (number)(unit) 형식이어야 합니다. 여기서 number는 0보다 크고 단위는 b(바이트), k(킬로바이트), m(메가바이트) 또는 g(기가바이트) 중 하나일 수 있습니다.

identity
<xref:Union>[<xref:ManagedIdentity>, <xref:AmlToken>]
필수

컴퓨팅에서 실행하는 동안 학습 작업이 사용할 ID입니다.

is_deterministic
bool
필수

동일한 입력이 지정된 경우 병렬에서 동일한 출력을 반환할지 여부를 지정합니다. 병렬(구성 요소)이 결정적이면 파이프라인에서 노드/단계로 사용할 때 입력 및 설정이 동일한 현재 작업 영역에서 이전에 제출된 작업의 결과를 다시 사용합니다. 이 경우 이 단계에서는 컴퓨팅 리소스를 사용하지 않습니다. 이러한 재사용 동작을 방지하려면 기본적으로 true로 is_deterministic=False를 지정합니다.

설명

parallel_run_function 사용하려면 다음을 수행합니다.

  • <xref:azure.ai.ml.entities._builders.Parallel> 일괄 처리 크기를 제어하는 매개 변수, 컴퓨팅 대상당 노드 수 및 사용자 지정 Python 스크립트에 대한 참조를 사용하여 병렬 실행이 수행되는 방식을 지정하는 개체를 만듭니다.

  • 병렬 개체를 함수로 사용하여 파이프라인을 빌드합니다. 는 단계에 대한 입력 및 출력을 정의합니다.

  • 실행할 파이프라인의 합계를 계산합니다.