컴퓨팅 클러스터 만들기 및 사용
실험 및 개발 후에는 코드를 프로덕션에 사용할 수 있도록 해야 합니다. 프로덕션 환경에서 코드를 실행하는 경우 Notebook 대신 스크립트를 사용하는 것이 좋습니다. 스크립트를 실행할 때 확장 가능한 컴퓨팅 대상을 사용하려고 합니다.
Azure Machine Learning 내에서 컴퓨팅 클러스터는 스크립트를 실행하는 데 적합합니다. Azure CLI(명령줄 인터페이스) 또는 Python SDK(소프트웨어 개발 키트)를 사용하여 Azure Machine Learning 스튜디오에서 컴퓨팅 클러스터를 만들 수 있습니다.
Python SDK를 사용하여 컴퓨팅 클러스터 만들기
Python SDK를 사용하여 컴퓨팅 클러스터를 만들려면 다음 코드를 사용할 수 있습니다.
from azure.ai.ml.entities import AmlCompute
cluster_basic = AmlCompute(
name="cpu-cluster",
type="amlcompute",
size="STANDARD_DS3_v2",
location="westus",
min_instances=0,
max_instances=2,
idle_time_before_scale_down=120,
tier="low_priority",
)
ml_client.begin_create_or_update(cluster_basic).result()
AmlCompute 클래스에 필요한 매개 변수를 이해하려면 참조 설명서검토할 수 있습니다.
컴퓨팅 클러스터를 만들 때 고려해야 할 세 가지 주요 매개 변수가 있습니다.
-
size: 컴퓨팅 클러스터 내 각 노드의 가상 머신 유형 지정합니다. Azure 가상 머신의크기를 기반으로 합니다. 크기 옆에 CPU 또는 GPU를 사용할지 여부를 지정할 수도 있습니다. -
max_instances: 컴퓨팅 클러스터를 확장할 수 최대 노드 수를 지정합니다. 컴퓨팅 클러스터에서 처리할 수 있는 병렬 워크로드 수는 클러스터가 확장할 수 있는 노드 수와 유사합니다. -
tier: 가상 머신이 우선 순위가 낮은 또는 전용인지 여부를 지정합니다. 낮은 우선 순위로 설정하면 가용성이 보장되지 않으므로 비용이 절감될 수 있습니다.
컴퓨팅 클러스터 사용
컴퓨팅 클러스터를 사용할 수 있는 세 가지 주요 시나리오가 있습니다.
- 디자이너에서 빌드한 파이프라인 작업 실행
- 자동화된 Machine Learning 작업 실행
- 스크립트를 작업으로 실행합니다.
이러한 각 시나리오에서 컴퓨팅 클러스터는 작업이 제출될 때 컴퓨팅 클러스터가 자동으로 확장되고 작업이 완료되면 자동으로 종료되므로 이상적입니다.
또한 컴퓨팅 클러스터를 사용하면 여러 모델을 병렬로 학습할 수 있습니다. 이는 자동화된 Machine Learning을 사용하는 경우 일반적인 방법입니다.
Azure Machine Learning 스튜디오를 통해 디자이너 파이프라인 작업 및 자동화된 Machine Learning 작업을 실행할 수 있습니다. 스튜디오를 통해 작업을 제출할 때 컴퓨팅 대상을 만든 컴퓨팅 클러스터로 설정할 수 있습니다.
코드 우선 방법을 선호하는 경우 Python SDK를 사용하여 컴퓨팅 대상을 컴퓨팅 클러스터로 설정할 수 있습니다.
예를 들어 스크립트를 명령 작업으로 실행하는 경우 다음 코드를 사용하여 컴퓨팅 대상을 컴퓨팅 클러스터로 설정할 수 있습니다.
from azure.ai.ml import command
# configure job
job = command(
code="./src",
command="python diabetes-training.py",
environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu@latest",
compute="cpu-cluster",
display_name="train-with-cluster",
experiment_name="diabetes-training"
)
# submit job
returned_job = ml_client.create_or_update(job)
aml_url = returned_job.studio_url
print("Monitor your job at", aml_url)
컴퓨팅 클러스터를 사용하는 작업을 제출한 후 컴퓨팅 클러스터는 하나 이상의 노드로 확장됩니다. 크기 조정에 몇 분 정도 걸리며 필요한 노드가 프로비전되면 작업이 실행되기 시작합니다. 작업의 상태가 준비하는컴퓨팅 클러스터가 준비되고 있습니다. 상태가 실행 중인컴퓨팅 클러스터가 준비되고 작업이 실행 중입니다.