적용 대상:
Python SDK azure-ai-ml v2(현재)
Azure Machine Learning은 SDK를 사용하는 코드 우선 솔루션에서 자동화된 기계 학습 및 비주얼 디자이너와 같은 하위 코드 솔루션에 이르기까지 모델을 학습시키는 여러 가지 방법을 제공합니다. 다음 목록을 사용하여 적합한 학습 방법을 결정하세요.
Python용 Azure Machine Learning SDK: Python SDK는 각각 다른 기능을 갖춘 모델을 학습시키는 여러 가지 방법을 제공합니다.
학습 방법 설명 command() 모델을 학습시키는 일반적인 방법은 학습 스크립트, 환경 및 컴퓨팅 정보를 포함하는 command()를 제출하는 것입니다. 자동화된 기계 학습 자동화된 기계 학습을 사용하면 방대한 데이터 과학 또는 프로그래밍 지식 없이도 모델을 학습시킬 수 있습니다. 데이터 과학 및 프로그래밍에 대한 배경 지식이 있는 분들에게는 알고리즘 선택 및 하이퍼 매개 변수 튜닝을 자동화하여 시간과 리소스를 절약하는 방법을 제공합니다. 자동화된 Machine Learning을 사용할 때 작업 구성 정의에 대해 걱정할 필요가 없습니다. 기계 학습 파이프라인 파이프라인은 다른 학습 방법이 아니라 모듈식 재사용 가능 단계를 사용하여 워크플로를 정의하는 방법으로, 학습을 포함할 수 있습니다. 기계 학습 파이프라인은 자동화된 Machine Learning 및 실행 구성을 사용하여 모델을 학습시킬 수 있습니다. 파이프라인은 특별히 학습에 집중하지 않으므로, 파이프라인을 사용하는 이유는 다른 학습 방법보다 다양합니다. 일반적으로 다음과 같은 경우에 파이프라인을 사용합니다.
* 장기 실행 학습 작업 또는 데이터 준비와 같은 무인 프로세스를 예약하려고 합니다.
* 이기종 컴퓨팅 리소스 및 스토리지 위치에서 조정되는 여러 단계를 사용합니다.
* 재학습 또는 일괄 처리 채점 같은 특정 시나리오에서 파이프라인을 재사용 가능 템플릿으로 사용합니다.
* 워크플로의 데이터 원본, 입력 및 출력을 추적하고 버전을 관리합니다.
* 특정 단계를 독립적으로 작업하는 다른 팀에서 워크플로를 구현합니다. 그런 다음, 파이프라인에서 여러 단계를 조인하여 워크플로를 구현할 수 있습니다.디자이너: Azure Machine Learning Designer는 개념 증명을 작성하거나 코딩 경험이 거의 없는 사용자를 위해 기계 학습에 대한 쉬운 진입점을 제공합니다. 끌어서 놓기 웹 기반 UI를 사용하여 모델을 학습시킬 수 있습니다. 디자인의 일부로 Python 코드를 사용할 수도 있고, 코드를 작성하지 않고 모델을 학습시킬 수도 있습니다.
Azure CLI: 기계 학습 CLI는 Azure Machine Learning을 사용하는 일반적인 작업에 대한 명령을 제공하며, 스크립팅 및 자동화 작업에 종종 사용됩니다. 예를 들어 학습 스크립트 또는 파이프라인을 만든 후에는 Azure CLI를 사용하여 일정에 따라 또는 학습에 사용되는 데이터 파일이 업데이트될 때 학습 작업을 시작할 수 있습니다. 학습 모델에는 학습 작업을 제출하는 명령을 제공합니다. 실행 구성 또는 파이프라인을 사용하여 작업을 제출할 수 있습니다.
각 학습 방법에서 다양한 유형의 컴퓨팅 리소스를 학습에 사용할 수 있습니다. 이러한 리소스를 총칭하여 컴퓨팅 대상이라고 합니다. 컴퓨팅 대상은 로컬 컴퓨터 또는 클라우드 리소스(예: Azure Machine Learning 컴퓨팅, Azure HDInsight 또는 원격 가상 머신)입니다.
Python SDK
Python용 Azure Machine Learning SDK를 사용하여 Azure Machine Learning에서 기계 학습 워크플로를 빌드하고 실행할 수 있습니다. 대화형 Python 세션, Jupyter Notebook, Visual Studio Code 또는 다른 IDE에서 서비스와 상호 작용할 수 있습니다.
명령 제출
명령() 함수를 사용하여 Azure Machine Learning을 사용하는 일반 학습 작업을 정의할 수 있습니다. 그런 다음 Command 개체를 학습 스크립트와 함께 사용하여 지정된 컴퓨팅 대상에서 모델을 학습시킵니다.
로컬 컴퓨터에 대한 Command 개체로 시작한 다음 필요에 따라 클라우드 기반 컴퓨팅 대상에 대한 개체로 전환할 수 있습니다. 컴퓨팅 대상을 변경할 때는 사용하는 Command 개체의 컴퓨팅 매개 변수만 변경합니다. 실행은 입력, 출력 및 로그처럼 학습 작업에 대한 정보를 기록합니다.
자동화된 Machine Learning
반복, 하이퍼 매개 변수 설정, 기능화 및 기타 설정을 정의합니다. 학습하는 동안 Azure Machine Learning은 여러 가지 알고리즘과 매개 변수를 병렬로 시도합니다. 사용자가 정의한 종료 조건에 도달하면 학습이 중지됩니다.
팁
Python SDK 외에도 Azure Machine Learning 스튜디오를 통해 자동화된 ML을 사용할 수 있습니다.
- 자동화된 Machine Learning이란?
- 자습서: 자동화된 Machine Learning을 사용하여 첫 번째 분류 모델 만들기
- 방법: Python에서 자동화된 ML 실험 구성
- 방법: Azure Machine Learning 스튜디오를 사용하여 자동화된 Machine Learning 실험 만들기, 탐색 및 배포
기계 학습 파이프라인
기계 학습 파이프라인은 앞에서 언급한 학습 방법을 사용할 수 있습니다. 파이프라인은 워크플로 만들기에 초점이 더 맞춰져 있기 때문에 모델 학습보다 더 많은 기능을 포함하고 있습니다.
학습 작업을 제출할 때 발생하는 작업 이해
Azure 학습 수명 주기는 다음으로 구성됩니다.
프로젝트 폴더의 파일을 압축하고 클라우드에 업로드합니다.
컴퓨팅 클러스터(또는 서버리스 컴퓨팅) 크기 조정
컴퓨팅 노드에 dockerfile 빌드 또는 다운로드
- 시스템에서 다음 해시가 계산됩니다.
- 기본 이미지
- 사용자 지정 docker 단계(사용자 지정 Docker 기본 이미지를 사용하여 모델 배포 참조)
- conda 정의 YAML(CLI(v2)를 사용하여 Azure Machine Learning 환경 관리 참조)
- 시스템은 작업 영역 ACR(Azure Container Registry) 조회에서 이 해시를 키로 사용합니다.
- 찾을 수 없는 경우 전역 ACR에서 일치하는 항목을 찾습니다.
- 찾을 수 없는 경우 시스템은 새 이미지(캐시되고 작업 영역 ACR에 등록됨)를 빌드합니다.
- 시스템에서 다음 해시가 계산됩니다.
압축된 프로젝트 파일을 컴퓨팅 노드의 임시 스토리지에 다운로드
프로젝트 파일 압축 풀기
python <entry script> <arguments>를 실행하는 컴퓨팅 노드./outputs에 기록된 로그, 모델 파일 및 기타 파일을 작업 영역과 연결된 스토리지 계정에 저장컴퓨팅 스케일 다운(임시 스토리지 제거 포함)
Azure Machine Learning 디자이너
디자이너를 사용하면 웹 브라우저에서 끌어서 놓기 인터페이스를 사용하여 모델을 학습시킬 수 있습니다.
Azure 커맨드 라인 인터페이스 (CLI)
기계 학습 CLI는 Azure CLI용 확장이며 Azure Machine Learning을 사용하기 위한 플랫폼 간 CLI 명령을 제공합니다. 일반적으로 CLI를 사용하여 기계 학습 모델 학습 등의 작업을 자동화할 수 있습니다.
VS 코드
VS Code 확장을 사용하여 학습 작업을 실행하고 관리할 수 있습니다. 자세한 내용은 VS Code 리소스 관리 방법 가이드를 참조하세요.
다음 단계
자습서: Jupyter Notebook에서 Python SDK v2로 프로덕션 ML 파이프라인 만들기 방법을 알아봅니다.