Share via


Azure Machine Learning을 사용하여 모델 학습(v1)

적용 대상:Python SDK azureml v1

Azure Machine Learning은 SDK를 사용하는 코드 중심 솔루션부터 자동화된 Machine Learning과 비주얼 디자이너처럼 코드를 적게 사용하는 솔루션까지 모델을 학습시키는 여러 가지 방법을 제공합니다. 다음 목록을 사용하여 적합한 학습 방법을 결정하세요.

  • Python용 Azure Machine Learning SDK: Python SDK는 모델을 학습시키는 여러 가지 방법을 제공하며, 방법마다 기능이 다릅니다.

    학습 방법 Description
    실행 구성 모델을 학습시키는 일반적인 방법은 학습 스크립트 및 작업 구성을 사용하는 것입니다. 작업 구성은 모델 학습에 사용되는 학습 환경을 구성하는 데 필요한 정보를 제공합니다. 작업 구성에서 학습 스크립트, 컴퓨팅 대상 및 Azure Machine Learning 환경을 지정하고 학습 작업을 실행할 수 있습니다.
    자동화된 기계 학습 자동화된 기계 학습을 사용하면 방대한 데이터 과학 또는 프로그래밍 지식 없이도 모델을 학습시킬 수 있습니다. 데이터 과학 및 프로그래밍에 대한 배경 지식이 있는 분들에게는 알고리즘 선택 및 하이퍼 매개 변수 튜닝을 자동화하여 시간과 리소스를 절약하는 방법을 제공합니다. 자동화된 Machine Learning을 사용할 때 작업 구성 정의에 대해 걱정할 필요가 없습니다.
    기계 학습 파이프라인 파이프라인은 다른 학습 방법이 아니라 모듈식 재사용 가능 단계를 사용하여 워크플로를 정의하는 방법으로, 학습을 포함할 수 있습니다. 기계 학습 파이프라인은 자동화된 Machine Learning 및 실행 구성을 사용하여 모델을 학습시킬 수 있습니다. 파이프라인은 특별히 학습에 집중하지 않으므로, 파이프라인을 사용하는 이유는 다른 학습 방법보다 다양합니다. 일반적으로 다음과 같은 경우에 파이프라인을 사용합니다.
    * 장기 실행 학습 작업 또는 데이터 준비와 같은 무인 프로세스를 예약하려고 합니다.
    * 이기종 컴퓨팅 리소스 및 스토리지 위치에서 조정되는 여러 단계를 사용합니다.
    * 재학습 또는 일괄 처리 채점 같은 특정 시나리오에서 파이프라인을 재사용 가능 템플릿으로 사용합니다.
    워크플로의 * 데이터 원본, 입력 및 출력을 추적하고 버전을 관리합니다.
    * 특정 단계를 독립적으로 작업하는 다른 팀에서 워크플로를 구현합니다. 그런 다음, 파이프라인에서 여러 단계를 조인하여 워크플로를 구현할 수 있습니다.
  • 디자이너: Azure Machine Learning 디자이너는 개념 증명을 빌드하기 위한 또는 코딩 경험이 거의 없는 사용자를 위한 쉬운 진입점을 제공합니다. 끌어서 놓기 웹 기반 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을 사용하는 일반적인 학습 작업은 ScriptRunConfig를 사용하여 정의할 수 있습니다. 그런 다음, 스크립트 실행 구성을 학습 스크립트와 함께 사용하여 컴퓨팅 대상의 모델을 학습시킵니다.

로컬 컴퓨터에 대해 실행 구성을 시작한 다음, 필요에 따라 클라우드 기반 컴퓨팅 대상의 실행 구성으로 전환할 수 있습니다. 컴퓨팅 대상을 변경할 때 사용하는 실행 구성만 변경하면 됩니다. 실행은 입력, 출력 및 로그처럼 학습 작업에 대한 정보를 기록합니다.

자동화된 Machine Learning

반복, 하이퍼 매개 변수 설정, 기능화 및 기타 설정을 정의합니다. 학습하는 동안 Azure Machine Learning은 여러 가지 알고리즘과 매개 변수를 병렬로 시도합니다. 사용자가 정의한 종료 조건에 도달하면 학습이 중지됩니다.

Python SDK 외에도 Azure Machine Learning 스튜디오를 통해 자동화된 ML을 사용할 수 있습니다.

기계 학습 파이프라인

기계 학습 파이프라인은 앞에서 언급한 학습 방법을 사용할 수 있습니다. 파이프라인은 워크플로 만들기에 초점이 더 맞춰져 있기 때문에 모델 학습보다 더 많은 기능을 포함하고 있습니다. 파이프라인에서 자동화된 Machine Learning 또는 실행 구성을 사용하여 모델을 학습시킬 수 있습니다.

학습 작업을 제출할 때 발생하는 작업 이해

Azure 학습 수명 주기는 다음으로 구성됩니다.

  1. 프로젝트 폴더에 파일 압축( .amlignore 또는 .gitignore에 지정된 항목 무시)
  2. 컴퓨팅 클러스터 스케일 업
  3. 컴퓨팅 노드에 dockerfile 빌드 또는 다운로드
    1. 시스템에서 다음 해시가 계산됩니다.
    2. 시스템은 작업 영역 ACR(Azure Container Registry) 조회에서 이 해시를 키로 사용합니다.
    3. 찾을 수 없는 경우 전역 ACR에서 일치하는 항목을 찾습니다.
    4. 찾을 수 없는 경우 시스템은 새 이미지(캐시되고 작업 영역 ACR에 등록됨)를 빌드합니다.
  4. 압축된 프로젝트 파일을 컴퓨팅 노드의 임시 스토리지에 다운로드
  5. 프로젝트 파일 압축 풀기
  6. python <entry script> <arguments>를 실행하는 컴퓨팅 노드
  7. ./outputs에 기록된 로그, 모델 파일 및 기타 파일을 작업 영역과 연결된 스토리지 계정에 저장
  8. 컴퓨팅 스케일 다운(임시 스토리지 제거 포함)

로컬 머신에서 학습하도록 선택하면(“로컬 실행으로 구성”) Docker를 사용할 필요가 없습니다. 선택하는 경우 Docker를 로컬로 사용할 수 있습니다(예제는 ML 파이프라인 구성 섹션 참조).

Azure Machine Learning 디자이너

디자이너를 사용하면 웹 브라우저에서 끌어서 놓기 인터페이스를 사용하여 모델을 학습시킬 수 있습니다.

Azure CLI

기계 학습 CLI는 Azure CLI용 확장이며 Azure Machine Learning을 사용하기 위한 플랫폼 간 CLI 명령을 제공합니다. 일반적으로 CLI를 사용하여 기계 학습 모델 학습 등의 작업을 자동화할 수 있습니다.

다음 단계

학습 실행을 구성하는 방법을 알아봅니다.