Azure Machine Learning이란?

Azure Machine Learning은 ML(기계 학습) 프로젝트 수명 주기를 가속화하고 간편하게 관리할 수 있는 클라우드 서비스입니다. ML 전문가, 데이터 과학자 및 엔지니어는 일상적인 워크플로에서 이를 사용하여 모델을 학습 및 배포하고 MLOps(기계 학습 운영)를 관리할 수 있습니다.

Machine Learning에서 모델을 만들 수도 있고 PyTorch, TensorFlow 또는 scikit-learn과 같은 오픈 소스 플랫폼에서 빌드된 모델을 사용할 수도 있습니다. MLOps 도구를 사용하여 모델을 모니터링, 재학습 및 재배포할 수 있습니다.

무료 평가판입니다. Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다. Azure Machine Learning 무료 평가판 또는 유료 버전을 사용해 보세요. Azure 서비스에서 사용 가능한 크레딧을 제공합니다. 크레딧이 소진되더라도 계정이 유지되므로 무료 Azure 서비스를 계속 사용할 수 있습니다. 설정을 명시적으로 변경하여 결제를 요청하지 않는 한 신용 카드로 결제되지 않습니다.

Azure Machine Learning의 대상 고객은 누구입니까?

Machine Learning은 조직 내에서 MLOps를 구현하는 개인과 팀을 위한 서비스이며, 안전하고 감사 가능한 프로덕션 환경에서 ML 모델을 프로덕션 모드로 운영할 수 있습니다.

데이터 과학자 및 ML 엔지니어는 이 도구를 사용하여 일상적인 워크플로를 가속화하고 자동화할 수 있습니다. 애플리케이션 개발자는 모델을 애플리케이션 또는 서비스에 통합하는 데 이 도구를 사용할 수 있습니다. 플랫폼 개발자는 견고한 Azure Resource Manager API 지원이 제공되고 고급 ML 도구를 빌드하기 위한 강력한 도구 세트를 사용할 수 있습니다.

Microsoft Azure 클라우드에서 작업하는 기업은 인프라에 친숙한 보안 및 역할 기반 액세스 제어를 사용할 수 있습니다. 보호된 데이터에 대한 액세스를 거부하고 작업을 선택하도록 프로젝트를 설정할 수 있습니다.

팀의 모든 사용자를 위한 생산성

ML 프로젝트에는 빌드 및 유지 관리를 위해 다양한 기술 세트를 보유한 팀이 필요한 경우가 많습니다. Machine Learning에는 다음을 수행할 수 있는 도구가 있습니다.

  • 공유 Notebooks, 컴퓨팅 리소스, 서버리스 컴퓨팅, 데이터 및 환경을 통해 팀과 공동 작업합니다.

  • 계보 및 감사 규정 준수 요구 사항을 충족하기 위한 공정성 및 설명성, 추적 및 감사 가능성을 위한 모델 개발

  • ML 모델을 빠르고 쉽게 대규모로 배포하고 MLOps를 사용하여 효율적으로 관리 및 제어

  • 기본 제공 거버넌스, 보안 및 규정 준수를 사용하여 어디서나 기계 학습 워크로드 실행

요구 사항을 충족하는 교차 호환 플랫폼 도구

ML 팀의 모든 사용자는 원하는 도구를 사용하여 작업을 완료할 수 있습니다. 빠른 실험, 하이퍼 매개 변수 튜닝, 파이프라인 빌드 또는 유추 관리를 실행하든 관계없이 다음을 비롯한 친숙한 인터페이스를 사용할 수 있습니다.

Machine Learning 개발 주기의 나머지 기간 동안 모델을 구체화하고 다른 사용자와 협업할 때 Machine Learning 스튜디오 UI에서 프로젝트에 대한 자산, 리소스 및 메트릭을 공유하고 찾을 수 있습니다.

스튜디오

Machine Learning 스튜디오는 프로젝트 유형 및 이전 ML 환경의 수준에 따라 아무 것도 설치할 필요 없이 여러 작성 환경을 제공합니다.

  • Notebooks: 스튜디오에 직접 통합된 관리되는 Jupyter Notebook 서버에서 직접 코드를 작성하고 실행합니다.

  • 실행 메트릭 시각화: 시각화를 사용하여 실험을 분석하고 최적화합니다.

    Screenshot that shows metrics for a training run.

  • Azure Machine Learning 디자이너: 코드를 작성하지 않고 디자이너를 사용하여 ML 모델을 학습 및 배포합니다. 데이터 세트 및 구성 요소를 끌어서 놓아 ML 파이프라인을 만듭니다.

  • 자동화된 Machine Learning UI: 사용하기 쉬운 인터페이스로 자동화된 ML 실험을 만드는 방법을 배웁니다.

  • 데이터 레이블 지정: Machine Learning 데이터 레이블 지정을 사용하여 이미지 레이블 지정 또는 텍스트 레이블 지정 프로젝트를 효율적으로 조정합니다.

엔터프라이즈 준비 및 보안

Machine Learning은 Azure 클라우드 플랫폼과 통합되어 ML 프로젝트의 보안을 강화합니다.

보안 통합에는 다음이 포함됩니다.

  • 네트워크 보안 그룹이 있는 Azure Virtual Network.
  • 스토리지 계정의 액세스 정보와 같은 보안 비밀을 저장할 수 있는 Azure Key Vault.
  • 가상 네트워크 뒤에 설정된 Azure Container Registry.

자세한 내용은 자습서: 보안 작업 영역 설정을 참조하세요.

완전한 솔루션을 구현하는 Azure 통합

다른 Azure 서비스와의 통합은 ML 프로젝트를 처음부터 끝까지 지원합니다. 다음이 포함됩니다.

  • Spark를 사용하여 데이터를 처리하고 스트리밍하는 데 사용되는 Azure Synapse Analytics
  • Kubernetes 환경에서 Azure 서비스를 실행할 수 있는 Azure Arc
  • Azure SQL Database 및 Azure Blob Storage와 같은 스토리지 및 데이터베이스 옵션
  • ML 기반 앱을 배포하고 관리하는 데 사용할 수 있는 Azure App Service
  • 조직 전체의 데이터 자산을 발견하고 분류할 수 있는 Microsoft Purview

Important

Azure Machine Learning에서는 배포하는 지역 외부에서 데이터를 저장하거나 처리하지 않습니다.

기계 학습 프로젝트 워크플로

일반적으로 모델은 목적 및 목표가 있는 프로젝트의 일부로 개발됩니다. 프로젝트에 여러 사람이 참가하는 경우가 많습니다. 데이터, 알고리즘 및 모델을 실험할 때는 개발이 반복적입니다.

프로젝트 수명 주기

프로젝트 수명 주기는 프로젝트에 따라 다를 수 있지만 이 다이어그램과 같은 경우가 많습니다.

Diagram that shows the machine learning project lifecycle

작업 영역은 프로젝트를 구성하며 공통의 목표를 달성하기 위해 일하는 여러 사용자가 작업 영역에서 협업할 수 있습니다. 동일한 작업 영역의 사용자는 스튜디오 사용자 인터페이스의 실험에서 실행 결과를 쉽게 공유할 수 있습니다. 또는 환경 및 스토리지 참조와 같은 작업에 버전이 지정된 자산을 사용할 수 있습니다.

자세한 내용은 Azure Machine Learning 작업 영역 관리를 참조하세요.

프로젝트를 운영할 준비가 되면 사용자의 작업을 ML 파이프라인에서 자동화하고 일정에 따라 또는 HTTPS 요청이 있을 때 트리거할 수 있습니다.

실시간 배포 및 일괄 처리 배포 모두에서 모델을 관리되는 추론 솔루션에 배포할 수 있으며, 일반적으로 모델을 배포하는 데 필요한 인프라 관리가 사라집니다.

모델 학습

Azure Machine Learning은 클라우드에서 학습 스크립트를 실행할 수도 있고 모델을 처음부터 빌드할 수도 있습니다. 고객이 오픈 소스 프레임워크에서 직접 빌드하고 학습시킨 모델을 가져오는 경우가 많으므로, 이러한 모델을 클라우드에서 운영할 수 있습니다.

개방성 및 상호 운용성

데이터 과학자는 다음과 같은 일반적인 Python 프레임워크에서 만든 모델을 Azure Machine Learning에서 사용할 수 있습니다.

  • PyTorch
  • TensorFlow
  • scikit-learn
  • XGBoost
  • LightGBM

다른 언어 및 프레임워크도 지원됩니다.

  • R
  • .NET

자세한 내용은 Azure Machine Learning과의 오픈 소스 통합을 참조하세요.

자동 기능 엔지니어링 및 알고리즘 선택

시간이 많이 걸리는 반복적인 프로세스에서, 기존 ML 과학자는 이전 경험과 직관을 사용하여 학습에 적합한 데이터 기능화 및 알고리즘을 선택합니다. AutoML(자동화된 Machine Learning)은 이 프로세스의 속도를 향상합니다. Machine Learning 스튜디오 UI 또는 Python SDK를 통해 사용할 수 있습니다.

자세한 내용은 자동화된 Machine Learning이란?을 참조하세요.

하이퍼 매개 변수 최적화

하이퍼 매개 변수 최적화 또는 하이퍼 매개 변수 튜닝은 지루한 작업입니다. Machine Learning은 작업 정의를 약간만 수정하면 매개 변수가 있는 임의 명령에 대해 이 작업을 자동화할 수 있습니다. 결과는 스튜디오에 시각화됩니다.

자세한 내용은 하이퍼 매개 변수 튜닝을 참조하세요.

다중 노드 분산 학습

딥 러닝 학습 및 경우에 따라 기존 기계 학습 작업의 효율성이 다중 노드 분산 교육을 통해 크게 향상될 수 있습니다. Azure Machine Learning 컴퓨팅 클러스터와 서버리스 컴퓨팅은 최신 GPU 옵션을 제공합니다.

Azure Machine Learning Kubernetes, Azure Machine Learning 컴퓨팅 클러스터 및 서버리스 컴퓨팅을 통해 지원됩니다.

  • PyTorch
  • TensorFlow
  • MPI

Horovod 또는 사용자 지정 다중 노드 논리에 MPI 배포를 사용할 수 있습니다. Apache Spark는 Azure Synapse Analytics Spark 클러스터를 사용하는 서버리스 Spark 컴퓨팅 및 연결된 Synapse Spark 풀을 통해 지원됩니다.

자세한 내용은 Azure Machine Learning을 사용한 분산 학습을 참조하세요.

처치 곤란 병렬 학습

ML 프로젝트의 크기를 조정하려면 처치 곤란 병렬 모델 학습의 크기를 조정해야 할 수 있습니다. 이 패턴은 모델이 여러 매장의 데이터를 학습해야 하는 수요 예측과 같은 시나리오에서 자주 발생합니다.

모델 배포

모델을 프로덕션으로 가져오려면 모델을 배포합니다. Azure Machine Learning 관리 엔드포인트는 일괄 처리 또는 실시간(온라인) 모델 채점(추론) 모두에 필요한 인프라를 추상화합니다.

실시간 및 일괄 처리 채점(추론)

일괄 처리 채점 또는 일괄 처리 추론에는 데이터에 대한 참조를 사용하여 엔드포인트를 호출하는 작업이 포함됩니다. 일괄 처리 엔드포인트는 작업을 비동기적으로 실행하여 컴퓨팅 클러스터에서 데이터를 병렬로 처리하고 추가 분석을 위해 데이터를 저장합니다.

‘실시간 채점’ 또는 ‘온라인 추론’에는 하나 이상의 모델 배포를 통해 엔드포인트를 호출하고 HTTPS를 통해 거의 실시간으로 응답을 수신하는 작업이 포함됩니다. 트래픽은 여러 배포에 걸쳐 분할될 수 있으며, 처음에는 트래픽의 일부만 전환하고 새 모델에 대한 신뢰가 생기면 점점 양을 늘려서 새 모델 버전을 테스트할 수 있습니다.

자세한 내용은 다음을 참조하세요.

MLOps: 기계 학습을 위한 DevOps

MLOps라고도 하는 ML 모델용 DevOps는 프로덕션용 모델을 개발하는 프로세스입니다. 재현할 수 없는 경우 학습에서 배포까지 모델의 수명 주기를 감사할 수 있어야 합니다.

ML 모델 수명 주기

Diagram that shows the machine learning model lifecycle * MLOps.

Azure Machine Learning의 MLOps에 대해 자세히 알아보세요.

통합을 통해 MLOPs 지원

Machine Learning은 모델 수명 주기를 염두에 두고 개발되었습니다. 모델 수명 주기를 특정 커밋 및 환경까지 감사할 수 있습니다.

다음은 MLOps를 지원하는 주요 기능입니다.

  • git 통합.
  • MLflow 통합
  • 기계 학습 파이프라인 일정 예약
  • 사용자 지정 트리거에 대한 Azure Event Grid 통합
  • GitHub Actions 또는 Azure DevOps 같은 CI/CD 도구에서 간편하게 사용

Machine Learning에는 모니터링 및 감사 기능도 포함되어 있습니다.

  • 코드 스냅샷, 로그 및 기타 출력과 같은 작업 아티팩트
  • 컨테이너, 데이터 및 컴퓨팅 리소스와 같은 작업과 자산 간의 계보

Apache Airflow를 사용하는 경우 airflow-provider-azure-machinelearning 패키지는 Apache AirFlow에서 Azure Machine Learning에 워크플로를 제출할 수 있는 공급자입니다.

다음 단계

다음 문서를 참조하여 Azure Machine Learning를 시작하세요.