Azure Synapse Analytics의 Machine Learning 기능

Azure Synapse Analytics는 다양한 기계 학습 기능을 제공합니다. 이 문서에서는 Azure Synapse의 컨텍스트에서 Machine Learning을 적용하는 방법에 대한 개요를 제공합니다.

이 개요에서는 데이터 과학 프로세스 관점에서 기계 학습과 Synapse의 다양한 기능에 대해 설명합니다.

일반적인 데이터 과학 프로세스의 모습에 대해 잘 알고 있을 수 있습니다. 대부분의 기계 학습 프로젝트에서 수행하는 잘 알려진 프로세스입니다.

높은 수준의 프로세스에는 다음 단계가 포함됩니다.

  • 비즈니스 해석(이 아티클에서는 설명하지 않음)
  • 데이터 취득 및 이해
  • 모델링
  • 모델 배포 및 점수 매기기

이 문서에서는 데이터 과학 프로세스 관점에서 다양한 분석 엔진의 Azure Synapse 기계 학습 기능을 설명합니다. 데이터 과학 프로세스의 각 단계에 대해 도움이 되는 Azure Synapse 기능이 요약되어 있습니다.

데이터 취득 및 이해

대부분의 기계 학습 프로젝트에는 잘 설정된 단계가 포함되며, 이러한 단계 중 하나는 데이터에 액세스하고 해당 데이터를 이해하는 것입니다.

데이터 원본 및 파이프라인

Azure Synapse의 고유하게 통합된 부분인 Azure Data Factory 덕분에 강력한 도구 세트를 데이터 수집 및 데이터 오케스트레이션 파이프라인에 사용할 수 있습니다. 이를 통해 데이터 파이프라인을 손쉽게 빌드하여 기계 학습에 사용할 수 있는 형식으로 데이터에 액세스하여 변환할 수 있습니다. Synapse의 데이터 파이프라인에 대해 자세히 알아보세요.

데이터 준비 및 탐색/시각화

기계 학습 프로세스의 중요한 부분은 탐색 및 시각화를 통해 데이터를 이해하는 것입니다.

데이터가 저장되는 위치에 따라 Synapse는 분석 및 기계 학습을 위해 탐색하고 준비하는 다양한 도구 세트를 제공합니다. 데이터 탐색을 시작하는 가장 빠른 방법 중 하나는 데이터 레이크의 데이터에 직접 Apache Spark 또는 서버리스 SQL 풀을 사용하는 것입니다.

모델링

Azure Synapse에서 기계 학습 모델 학습은 PySpark/Python, Scala 또는 .NET과 같은 도구를 사용하여 Apache Spark 풀에서 수행할 수 있습니다.

MLlib를 사용하여 Spark 풀에서 모델 학습

기계 학습 모델은 다양한 알고리즘 및 라이브러리를 활용하여 학습될 수 있습니다. Spark MLlib는 대부분의 고전적인 기계 학습 문제를 해결하는 데 도움이 될 수 있는 확장 가능한 기계 학습 알고리즘을 제공합니다. Synapse에서 MLlib를 사용하여 모델을 학습하는 방법에 대한 자습서는 Apache Spark MLlib를 사용한 기계 학습 앱 및 Azure Synapse Analytics 빌드를 참조하세요.

MLlib 외에도 Scikit Learn과 같이 인기 있는 라이브러리를 사용하여 모델을 개발할 수도 있습니다. Synapse Spark 풀에 라이브러리를 설치하는 방법에 대한 자세한 내용은 Azure Synapse Analytics에서 Apache Spark를 위한 라이브러리 관리를 참조하세요.

Azure Machine Learning 자동화된 ML을 사용하여 모델 학습

기계 학습에 대해 사전 지식이 크게 필요하지 않은 기계 학습 모델을 학습하는 또 다른 방법은 자동화된 ML을 사용하는 것입니다. 자동화된 ML은 기계 학습 모델 세트를 자동으로 학습하고 사용자가 특정 메트릭에 따라 최상의 모델을 선택할 수 있게 해 주는 기능입니다. Azure Synapse Notebooks의 Azure Machine Learning과 원활한 통합 덕분에 사용자는 통과 Microsoft Entra 인증으로 Synapse에서 자동화된 ML을 손쉽게 활용할 수 있습니다. 즉, Azure Machine Learning 작업 영역을 지정할 필요가 없으며 자격 증명을 입력하지 않아도 됩니다. 자동화된 Machine Learning으로 Python에서 모델 학습은 Synapse Spark 풀에서 Azure Machine Learning 자동화된 ML을 사용하여 모델을 학습하는 방법을 설명하는 자습서입니다.

Warning

  • 2023년 9월 29일부터 Azure Synapse는 Spark 2.4 런타임에 대한 공식 지원을 중단합니다. 2023년 9월 29일 이후 Spark 2.4와 관련된 지원 티켓은 다루지 않습니다. Spark 2.4에 대한 버그 또는 보안 수정을 위한 릴리스 파이프라인은 없습니다. Spark 2.4를 활용하면 지원 중단 날짜가 자체 위험으로 수행됩니다. 잠재적인 보안 및 기능 문제로 인해 지속적인 사용을 강력히 권장하지 않습니다.
  • Apache Spark 2.4에 대한 사용 중단 프로세스의 일환으로 Azure Synapse Analytics의 AutoML도 더 이상 사용되지 않음을 알려 드립니다. 여기에는 코드를 통해 AutoML 평가판을 만드는 데 사용되는 낮은 코드 인터페이스와 API가 모두 포함됩니다.
  • AutoML 기능은 Spark 2.4 런타임을 통해서만 사용할 수 있습니다.
  • AutoML 기능을 계속 활용하려는 고객의 경우 데이터를 ADLSg2(Azure Data Lake Storage Gen2) 계정에 저장하는 것이 좋습니다. 여기에서 AzureML(Azure Machine Learning)을 통해 AutoML 환경에 원활하게 액세스할 수 있습니다. 이 해결 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

모델 배포 및 점수 매기기

Azure Synapse에서 또는 Azure Synapse 외부에서 학습된 모델은 일괄 처리 점수 매기기에 손쉽게 사용할 수 있습니다. 현재 Synapse에는 일괄 처리 점수 매기기를 실행할 수 있는 두 가지 방법이 있습니다.

  • Synapse SQL 풀에서 TSQL PREDICT 함수를 사용하여 데이터가 있는 위치에서 예측을 올바르게 실행할 수 있습니다. 이 강력하고 확장 가능한 기능을 통해 데이터 웨어하우스에서 데이터를 이동하지 않고도 데이터를 보강할 수 있습니다. 새롭게 안내된 기반 기계 학습 모델 환경이 Synapse Studio에 도입되었습니다. 여기서는 Synapse SQL 풀의 Azure Machine Learning 모델 레지스트리에서 ONNX 모델을 배포하여 예측을 사용한 일괄 처리 점수 매기기를 수행할 수 있습니다.

  • Azure Synapse에서 기계 학습 모델에 대해 일괄 처리 점수 매기기를 수행하는 또 다른 옵션은 Azure Synapse의 Apache Spark 풀을 활용하는 것입니다. 모델 학습에 사용되는 라이브러리에 따라 코드 환경을 사용하여 일괄 처리 점수 매기기를 실행할 수 있습니다.

SynapseML

SynapseML(이전에는 MMLSpark)은 대규모로 확장 가능한 ML(기계 학습) 파이프라인을 간편하게 만들 수 있는 오픈 소스 라이브러리입니다. Apache Spark 프레임워크를 몇 가지 새로운 방향으로 확장하는 데 사용되는 도구의 에코시스템입니다. SynapseML은 기존의 여러 기계 학습 프레임워크와 새로운 Microsoft 알고리즘을 Python, R, Scala, .NET 및 Java에서 사용할 수 있는 확장 가능한 단일 API로 통합합니다. 자세한 내용은 SynapseML의 주요 기능을 참조하세요.

다음 단계