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._ParallelRunStepBaseParallelRunStep
생성자
ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)
매개 변수
Name | Description |
---|---|
name
필수
|
단계의 이름입니다. 작업 영역에 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3자에서 32자 사이여야 합니다. |
parallel_run_config
필수
|
필요한 실행 속성을 결정하는 데 사용되는 ParallelRunConfig 개체입니다. |
inputs
필수
|
입력 데이터 집합 목록입니다. 목록의 모든 데이터 집합은 동일한 유형이어야 합니다. 입력 데이터는 병렬 처리를 위해 분할됩니다. 목록의 각 데이터 집합은 개별적으로 미니 일괄 처리로 분할되고 각 미니 일괄 처리는 병렬 처리에서 동일하게 처리됩니다. |
output
|
출력 포트 바인딩은 이후 파이프라인 단계에서 사용할 수 있습니다. Default value: None
|
side_inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
측면 입력 참조 데이터 목록입니다. 측면 입력은 입력 데이터로 분할되지 않습니다. Default value: None
|
arguments
|
Python entry_script로 전달할 명령줄 인수 목록입니다. Default value: None
|
allow_reuse
|
동일한 설정/입력으로 실행할 때 이전 결과를 단계에 다시 사용할 것인지 여부를 지정합니다. false인 경우 파이프라인 실행 중에 이 단계에 대해 항상 새로운 실행이 생성됩니다. Default value: True
|
name
필수
|
단계의 이름입니다. 작업 영역에 고유해야 하며 소문자, 숫자 또는 대시로만 구성되고 문자로 시작하며 길이는 3자에서 32자 사이여야 합니다. |
parallel_run_config
필수
|
필요한 실행 속성을 결정하는 데 사용되는 ParallelRunConfig 개체입니다. |
inputs
필수
|
입력 데이터 집합 목록입니다. 목록의 모든 데이터 집합은 동일한 유형이어야 합니다. 입력 데이터는 병렬 처리를 위해 분할됩니다. 목록의 각 데이터 집합은 개별적으로 미니 일괄 처리로 분할되고 각 미니 일괄 처리는 병렬 처리에서 동일하게 처리됩니다. |
output
필수
|
출력 포트 바인딩은 이후 파이프라인 단계에서 사용할 수 있습니다. |
side_inputs
필수
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
측면 입력 참조 데이터 목록입니다. 측면 입력은 입력 데이터로 분할되지 않습니다. |
arguments
필수
|
Python entry_script로 전달할 명령줄 인수 목록입니다. |
allow_reuse
필수
|
동일한 설정/입력으로 실행할 때 이전 결과를 단계에 다시 사용할 것인지 여부를 지정합니다. false인 경우 파이프라인 실행 중에 이 단계에 대해 항상 새로운 실행이 생성됩니다. |
설명
ParallelRunStep은 대량의 데이터를 병렬로 처리하는 데 사용할 수 있습니다. 일반적인 사용 사례는 ML 모델을 학습하거나 오프라인 추론을 실행하여 관찰 일괄 처리에 대한 예측을 생성하는 것입니다. ParallelRunStep은 데이터를 병렬로 처리되는 일괄 처리로 분할하여 작동합니다. 일괄 처리 크기 노드 수 및 병렬 처리 속도를 높이는 기타 조정 가능한 매개 변수는 ParallelRunConfig 클래스로 제어할 수 있습니다. ParallelRunStep은 TabularDataset 또는 FileDataset를 입력으로 사용할 수 있습니다.
ParallelRunStep을 사용하려면:
ParallelRunConfig 개체를 만들어 일괄 처리 크기, 컴퓨팅 대상당 노드 수 및 사용자 지정 Python 스크립트에 대한 참조를 제어하는 매개 변수와 함께 일괄 처리 처리가 수행되는 방식을 지정합니다.
ParallelRunConfig 개체를 사용하는 ParallelRunStep 개체를 만들고 단계에 대한 입력 및 출력을 정의합니다.
다른 파이프라인 단계 유형과 마찬가지로 Pipeline에서 구성된 ParallelRunStep 개체를 사용합니다.
일괄 처리 유추를 위해 ParallelRunStep 및 ParallelRunConfig 클래스를 사용하는 예제는 다음 문서에 설명되어 있습니다.
자습서: 일괄 채점을 위한 Azure Machine Learning 파이프라인 구축. 이 문서에서는 파이프라인에서 비동기 일괄 점수 매기기에 이 두 클래스를 사용하고 REST 엔드포인트가 파이프라인을 실행하도록 설정하는 방법을 보여 줍니다.
Azure Machine Learning을 사용하여 대량의 데이터에 대한 일괄 처리 유추 실행. 이 문서에서는 MNIST 데이터 세트를 기반으로 하는 사전 학습된 이미지 분류 모델 및 사용자 지정 추론 스크립트를 사용하여 대량의 데이터를 비동기식으로 병렬로 처리하는 방법을 보여 줍니다.
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)
매개 변수
Name | Description |
---|---|
execution_type
필수
|
모듈의 실행 유형입니다. |
input_bindings
필수
|
단계 입력 바인딩입니다. |
output_bindings
필수
|
단계 출력 바인딩입니다. |
param_defs
|
단계 매개 변수 정의입니다. Default value: None
|
create_sequencing_ports
|
True이면 모듈에 대한 시퀀싱 포트가 만들어집니다. Default value: True
|
allow_reuse
|
True이면 모듈을 향후 파이프라인에서 다시 사용할 수 있습니다. Default value: True
|
version
|
모듈의 버전입니다. Default value: None
|
arguments
|
주석이 추가된 인수 목록으로, 이 모듈을 호출할 때 사용됩니다. Default value: None
|
반환
형식 | Description |
---|---|
Module def 개체입니다. |
create_node
PythonScriptStep에 대한 노드를 만들어 지정된 그래프에 추가합니다.
이 메서드는 직접 사용할 수 없습니다. ParallelRunStep을 사용하여 파이프라인을 인스턴스화하면 Azure Machine Learning은 이 메서드를 통해 필요한 매개 변수를 자동으로 전달하므로 워크플로를 나타내는 파이프라인 그래프에 단계를 추가할 수 있습니다.
create_node(graph, default_datastore, context)
매개 변수
Name | Description |
---|---|
graph
필수
|
Graph 개체입니다. |
default_datastore
필수
|
기본 데이터 저장소입니다. |
context
필수
|
<xref:azureml.pipeline.core._GraphContext>
컨텍스트입니다. |
반환
형식 | Description |
---|---|
생성된 노드입니다. |