ParallelRunStep 클래스

Azure Machine Learning 파이프라인 단계를 만들어 대량의 데이터를 비동기적으로, 그리고 병렬로 처리합니다.

ParallelRunStep을 사용하는 예제는 Notebook https://aka.ms/batch-inference-notebooks을 참조하세요.

문제 해결 가이드는 https://aka.ms/prstsg를 참조하세요. 이 문서에서 더 많은 참고 자료를 찾을 수 있습니다.

대량의 데이터를 비동기적으로 병렬로 처리하는 Azure ML 파이프라인 단계를 만듭니다.

ParallelRunStep을 사용하는 예제는 Notebook 링크를 https://aka.ms/batch-inference-notebooks참조하세요.

상속
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBase
ParallelRunStep

생성자

ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)

매개 변수

name
str
필수

단계의 이름입니다. 작업 영역에 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3자에서 32자 사이여야 합니다.

parallel_run_config
ParallelRunConfig
필수

필요한 실행 속성을 결정하는 데 사용되는 ParallelRunConfig 개체입니다.

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
필수

입력 데이터 집합 목록입니다. 목록의 모든 데이터 집합은 동일한 유형이어야 합니다. 입력 데이터는 병렬 처리를 위해 분할됩니다. 목록의 각 데이터 집합은 개별적으로 미니 일괄 처리로 분할되고 각 미니 일괄 처리는 병렬 처리에서 동일하게 처리됩니다.

output
Union[PipelineData, OutputPortBinding, OutputDatasetConfig]
기본값: None

출력 포트 바인딩은 이후 파이프라인 단계에서 사용할 수 있습니다.

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
기본값: None

측면 입력 참조 데이터 목록입니다. 측면 입력은 입력 데이터로 분할되지 않습니다.

arguments
list[str]
기본값: None

Python entry_script로 전달할 명령줄 인수 목록입니다.

allow_reuse
bool
기본값: True

동일한 설정/입력으로 실행할 때 이전 결과를 단계에 다시 사용할 것인지 여부를 지정합니다. false인 경우 파이프라인 실행 중에 이 단계에 대해 항상 새로운 실행이 생성됩니다.

name
str
필수

단계의 이름입니다. 작업 영역에 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3자에서 32자 사이여야 합니다.

parallel_run_config
ParallelRunConfig
필수

필요한 실행 속성을 결정하는 데 사용되는 ParallelRunConfig 개체입니다.

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
필수

입력 데이터 집합 목록입니다. 목록의 모든 데이터 집합은 동일한 유형이어야 합니다. 입력 데이터는 병렬 처리를 위해 분할됩니다. 목록의 각 데이터 집합은 개별적으로 미니 일괄 처리로 분할되고 각 미니 일괄 처리는 병렬 처리에서 동일하게 처리됩니다.

output
PipelineData, OutputPortBinding
필수

출력 포트 바인딩은 이후 파이프라인 단계에서 사용할 수 있습니다.

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
필수

측면 입력 참조 데이터 목록입니다. 측면 입력은 입력 데이터로 분할되지 않습니다.

arguments
list[str]
필수

Python entry_script로 전달할 명령줄 인수 목록입니다.

allow_reuse
bool
필수

동일한 설정/입력으로 실행할 때 이전 결과를 단계에 다시 사용할 것인지 여부를 지정합니다. false인 경우 파이프라인 실행 중에 이 단계에 대해 항상 새로운 실행이 생성됩니다.

설명

ParallelRunStep은 대량의 데이터를 병렬로 처리하는 데 사용할 수 있습니다. 일반적인 사용 사례는 ML 모델을 학습하거나 오프라인 추론을 실행하여 관찰 일괄 처리에 대한 예측을 생성하는 것입니다. ParallelRunStep은 데이터를 병렬로 처리되는 일괄 처리로 분할하여 작동합니다. 일괄 처리 크기 노드 수 및 병렬 처리 속도를 높이는 기타 조정 가능한 매개 변수는 ParallelRunConfig 클래스로 제어할 수 있습니다. ParallelRunStep은 TabularDataset 또는 FileDataset를 입력으로 사용할 수 있습니다.

ParallelRunStep을 사용하려면:

  • ParallelRunConfig 개체를 만들어 일괄 처리 크기, 컴퓨팅 대상당 노드 수 및 사용자 지정 Python 스크립트에 대한 참조를 제어하는 매개 변수와 함께 일괄 처리 처리가 수행되는 방식을 지정합니다.

  • ParallelRunConfig 개체를 사용하는 ParallelRunStep 개체를 만들고 단계에 대한 입력 및 출력을 정의합니다.

  • 다른 파이프라인 단계 유형과 마찬가지로 Pipeline에서 구성된 ParallelRunStep 개체를 사용합니다.

일괄 처리 유추를 위해 ParallelRunStep 및 ParallelRunConfig 클래스를 사용하는 예제는 다음 문서에 설명되어 있습니다.


   from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",
       error_threshold=10,         # Optional, allowed failed count on mini batch items
       allowed_failed_count=15,    # Optional, allowed failed count on mini batches
       allowed_failed_percent=10,  # Optional, allowed failed percent on mini batches
       output_action="append_row",
       environment=batch_env,
       compute_target=compute_target,
       node_count=2)

   parallelrun_step = ParallelRunStep(
       name="predict-digits-mnist",
       parallel_run_config=parallel_run_config,
       inputs=[ named_mnist_ds ],
       output=output_dir,
       arguments=[ "--extra_arg", "example_value" ],
       allow_reuse=True
   )

이 예제에 대한 자세한 내용은 Notebook https://aka.ms/batch-inference-notebooks를 참조하세요.

메서드

create_module_def

단계를 설명하는 모듈 정의 개체를 만듭니다.

이 메서드는 직접 사용할 수 없습니다.

create_node

PythonScriptStep에 대한 노드를 만들어 지정된 그래프에 추가합니다.

이 메서드는 직접 사용할 수 없습니다. ParallelRunStep을 사용하여 파이프라인을 인스턴스화하면 Azure Machine Learning은 이 메서드를 통해 필요한 매개 변수를 자동으로 전달하므로 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있습니다.

create_module_def

단계를 설명하는 모듈 정의 개체를 만듭니다.

이 메서드는 직접 사용할 수 없습니다.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=None)

매개 변수

execution_type
str
필수

모듈의 실행 유형입니다.

input_bindings
list
필수

단계 입력 바인딩입니다.

output_bindings
list
필수

단계 출력 바인딩입니다.

param_defs
list
기본값: None

단계 매개 변수 정의입니다.

create_sequencing_ports
bool
기본값: True

True이면 모듈에 대한 시퀀싱 포트가 만들어집니다.

allow_reuse
bool
기본값: True

True이면 모듈을 향후 파이프라인에서 다시 사용할 수 있습니다.

version
str
기본값: None

모듈의 버전입니다.

arguments
list
기본값: None

주석이 추가된 인수 목록으로, 이 모듈을 호출할 때 사용됩니다.

반환

Module def 개체입니다.

반환 형식

create_node

PythonScriptStep에 대한 노드를 만들어 지정된 그래프에 추가합니다.

이 메서드는 직접 사용할 수 없습니다. ParallelRunStep을 사용하여 파이프라인을 인스턴스화하면 Azure Machine Learning은 이 메서드를 통해 필요한 매개 변수를 자동으로 전달하므로 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있습니다.

create_node(graph, default_datastore, context)

매개 변수

graph
Graph
필수

Graph 개체입니다.

default_datastore
AbstractAzureStorageDatastore 또는 AzureDataLakeDatastore
필수

기본 데이터 저장소입니다.

context
<xref:azureml.pipeline.core._GraphContext>
필수

컨텍스트입니다.

반환

생성된 노드입니다.

반환 형식