Microsoft 기계 학습 제품 및 기술 비교
Microsoft의 기계 학습 제품 및 기술에 대해 알아봅니다. 기계 학습 솔루션을 가장 효과적으로 구축, 배포 및 관리하는 방법을 선택할 수 있도록 하는 옵션을 비교합니다.
클라우드 기반 기계 학습 제품
다음 옵션은 Azure 클라우드에서 기계 학습에 사용할 수 있습니다.
클라우드 옵션 | 정의 | 수행할 수 있는 작업 |
---|---|---|
Azure Machine Learning | 기계 학습을 위한 관리형 플랫폼 | 미리 학습된 모델을 사용합니다. 또는 Python 및 CLI를 사용하여 Azure에서 모델 학습, 배포 및 관리 |
Azure Cognitive Services | REST API 및 SDK를 통해 구현되어 미리 빌드된 AI 기능 | 표준 프로그래밍 언어를 사용하여 지능형 애플리케이션을 빠르게 구축합니다. 기계 학습 및 데이터 과학 전문 지식이 필요하지 않습니다. |
Azure SQL Managed Instance Machine Learning Services. | SQL을 위한 데이터베이스 내 기계 학습 | Azure SQL Managed Instance 내에서 모델 학습 및 배포 |
Azure Synapse Analytics의 Machine Learning | 기계 학습을 활용한 분석 서비스 | Azure Synapse Analytics 내에서 모델 학습 및 배포 |
Azure SQL Edge에서 ONNX를 사용한 기계 학습 및 AI | IoT 기반 SQL의 기계 학습 | Azure SQL Edge 내에서 모델 학습 및 배포 |
Azure Databricks | Apache Spark 기반 분석 플랫폼 | 오픈 소스 기계 학습 라이브러리 및 MLflow 플랫폼과의 통합을 사용하여 모델 및 데이터 워크플로를 구축하고 배포합니다. |
온-프레미스 기계 학습 제품
다음 옵션은 기계 학습 온-프레미스에 사용할 수 있습니다. 온-프레미스 서버도 클라우드의 가상 머신에서 실행할 수 있습니다.
온-프레미스 옵션 | 정의 | 수행할 수 있는 작업 |
---|---|---|
SQL Server Machine Learning 서비스 | SQL을 위한 데이터베이스 내 기계 학습 | SQL Server 내에서 모델 학습 및 배포 |
SQL Server 빅 데이터 클러스터의 Machine Learning Services | 빅 데이터 클러스터의 기계 학습 | SQL Server 빅 데이터 클러스터에서 모델 학습 및 배포 |
개발 플랫폼 및 도구
기계 학습에 사용할 수 있는 개발 플랫폼 및 도구는 다음과 같습니다.
플랫폼/도구 | 정의 | 수행할 수 있는 작업 |
---|---|---|
Azure Data Science Virtual Machine | 미리 설치된 데이터 과학 도구를 사용한 가상 머신 | 미리 구성된 환경에서 기계 학습 솔루션 개발 |
ML.NET | 오픈 소스, 플랫폼 간 기계 학습 SDK | .NET 애플리케이션을 위한 기계 학습 솔루션 개발 |
Windows machine learning | Windows 10 기계 학습 플랫폼 | Windows 10 디바이스에서 학습된 모델을 평가 |
SynapseML | Apache Spark용 오픈 소스, 분산, 기계 학습 및 마이크로서비스 프레임워크 | Scala 및 Python을 위한 확장 가능한 기계 학습 애플리케이션을 만들고 배포합니다. |
Azure Data Studio용 Machine Learning 확장 | Azure Data Studio용 오픈 소스 및 플랫폼 간 기계 학습 확장 | 패키지 관리, 기계 학습 모델 가져오기, 예측, SQL Database 실험을 위한 Notebooks 만들기 |
Azure Machine Learning
Azure Machine Learning은 기계 학습 모델을 대규모로 학습, 배포 및 관리하는 데 사용되는 완전 관리형 클라우드 서비스입니다. 이 서비스는 오픈 소스 기술을 완벽히 지원하여 TensorFlow, PyTorch 및 scikit-learn 등의 수많은 오픈 소스 Python 패키지를 사용할 수 있습니다. 컴퓨팅 인스턴스, Jupyter Notebooks 또는 Visual Studio Code용 Azure Machine Learning 확장과 같은 다양한 도구도 사용할 수 있습니다. 이를 통해 Visual Studio Code에서 리소스, 모델 학습 워크플로 및 배포를 관리할 수 있습니다. Azure Machine Learning에는 쉽고 효율적이며 정확하게 모델 생성 및 튜닝을 자동화하는 기능이 포함되어 있습니다.
클라우드 규모의 기계 학습을 위해 Python SDK, Jupyter Notebooks, R 및 CLI를 사용합니다. 낮은 코드 또는 코드 없는 옵션의 경우 스튜디오에서 Azure Machine Learning의 대화형 디자이너를 사용하여 미리 빌드된 기계 학습 알고리즘을 사용하여 모델을 쉽고 빠르게 빌드, 테스트 및 배포할 수 있습니다.
항목 | 설명 |
---|---|
형식 | 클라우드 기반 기계 학습 솔루션 |
지원되는 언어 | Python, R |
기계 학습 단계 | 모델 학습 배포 MLOps/관리 |
주요 이점 | Code First(SDK) 및 Studio 그리고 끌어서 놓기 디자이너 웹 인터페이스 작성 옵션. 스크립트 및 실행 기록이 중앙에서 관리되므로 모델 버전을 쉽게 비교할 수 있습니다. 클라우드 또는 에지 디바이스로 모델을 쉽게 배포 및 관리합니다. |
고려 사항 | 모델 관리 모델에 어느 정도 숙지해야 합니다. |
Azure AI 서비스
Azure AI services 는 자연스러운 통신 방법을 사용하는 앱을 빌드할 수 있게 해주는 미리 빌드된 API 집합입니다. 미리 빌드되었다는 것은 애플리케이션에서 사용할 모델을 학습하기 위해 데이터 세트 또는 데이터 과학 전문 지식을 가져올 필요가 없음을 의미합니다. 이 모든 작업이 완료되었으며 몇 줄의 코드로 앱이 사용자 요구를 보고, 듣고, 말하고, 이해하고, 해석할 수 있도록 하는 API 및 SDK로 패키지됩니다. 다음과 같은 지능형 기능을 앱에 쉽게 추가할 수 있습니다.
- 비전: 개체 감지, 얼굴 인식, OCR(광학 문자 인식) 등 자세한 내용은 Computer Vision, Face, Azure AI Document Intelligence를 참조하세요.
- 음성: 음성-텍스트, 텍스트-음성, 및 화자 인식 등 자세한 내용은 Speech service를 참조하세요.
- 언어: 번역, 감정 분석, 핵심 구 추출, 언어 이해 등 각 Translator, Text Analytics, Language Understanding, QnA Maker 참조
- Decision: 변칙 검색, 콘텐츠 조정, 강화 학습. 자세한 내용은 Anomaly Detector, Content Moderator, Personalizer를 참조하세요.
Azure AI services를 사용하여 디바이스 및 플랫폼에서 앱을 개발합니다. API는 끊임없이 개선되며, 설치하기가 매우 쉽습니다.
항목 | 설명 |
---|---|
형식 | 지능형 애플리케이션 구축을 위한 API |
지원되는 언어 | 서비스에 따라 다양한 옵션. 표준은 C#, Java, JavaScript 및 Python입니다. |
기계 학습 단계 | 배포 |
주요 이점 | REST API 및 SDK를 통해 제공되는 미리 학습된 모델을 사용하여 지능형 애플리케이션을 구축합니다. 시각, 말, 언어, 의사결정을 통한 자연스러운 의사소통 방법을 위한 다양한 모델. 기계 학습 또는 데이터 과학 전문 지식이 필요하지 않습니다. |
SQL Machine Learning
SQL 기계 학습은 온-프레미스와 클라우드 모두에서 관계형 데이터에 대해 Python 및 R에 통계 분석, 데이터 시각화 및 예측 분석을 추가합니다. 현재 플랫폼 및 도구는 다음과 같습니다.
- SQL Server Machine Learning 서비스
- SQL Server 빅 데이터 클러스터의 Machine Learning Services
- Azure SQL Managed Instance Machine Learning Services.
- Azure Synapse Analytics의 Machine Learning
- Azure SQL Edge에서 ONNX를 사용한 기계 학습 및 AI
- Azure Data Studio용 Machine Learning 확장
SQL의 관계형 데이터에 대한 기본 제공 AI 및 예측 분석이 필요할 때 SQL 기계 학습을 사용합니다.
항목 | 설명 |
---|---|
형식 | 관계형 데이터에 대한 온-프레미스 예측 분석 |
지원되는 언어 | Python, R, SQL |
기계 학습 단계 | 데이터 준비 모델 학습 배포 |
주요 이점 | 예측 논리를 데이터베이스 함수에 캡슐화하여 데이터 계층 논리에 쉽게 포함할 수 있습니다. |
고려 사항 | SQL Database를 애플리케이션의 데이터 계층으로 간주합니다. |
Azure Data Science Virtual Machine
Azure Data Science Virtual Machine은 Microsoft Azure 클라우드의 사용자 지정 가상 머신 환경입니다. Windows 및 Linux Ubuntu 버전 모두에서 사용할 수 있습니다. 이 환경은 데이터 과학을 수행하고 머신 러닝 솔루션을 개발하기 위해 특별히 빌드 되었습니다. 여기에는 고급 분석을 위한 지능형 애플리케이션 구축을 빠르게 시작할 수 있도록 널리 사용되는 많은 데이터 과학, 머신 러닝 프레임워크 및 기타 도구가 미리 설치 및 구성되어 있습니다.
단일 노드에서 작업을 실행하거나 호스트해야 하는 경우 데이터 과학 VM을 사용하세요. 또는 단일 컴퓨터에서 처리를 원격으로 강화해야 하는 경우에 사용합니다.
항목 | 설명 |
---|---|
형식 | 데이터 과학을 위한 사용자 지정 가상 머신 환경 |
주요 이점 | 데이터 과학 도구 및 프레임워크를 설치 및 관리하고 문제를 해결하는 데 드는 시간을 단축할 수 있습니다. 가장 일반적으로 사용되는 도구 및 프레임워크의 최신 버전이 포함되어 있습니다. 가상 머신 옵션에는 집약적 데이터 모델링을 위한 graphics processing unit (GPU) 기능이 있는 확장성 높은 이미지가 포함되어 있습니다. |
고려 사항 | 오프라인 상태에서는 가상 머신에 액세스할 수 없습니다. 가상 머신을 실행하면 Azure 요금이 발생하므로, 필요할 때만 실행하도록 주의해야 합니다. |
Azure Databricks
Azure Databricks 는 Microsoft Azure Cloud 플랫폼에 대해 최적화된 Apache Spark 기반 분석 플랫폼입니다. Databricks는 Azure와 통합되어 데이터 과학자, 데이터 엔지니어, 비즈니스 분석가가 협업할 수 있도록 하는 대화형 작업 영역, 간소화된 워크플로 및 원클릭 설정을 제공합니다. 웹 기반 노트북에서 Python, R, Scala 및 SQL 코드를 사용하여 데이터를 쿼리, 시각화 및 모델링합니다.
Apache Spark에서 기계 학습 솔루션을 빌드하는 데 공동 작업하려는 경우 Databricks를 사용합니다.
항목 | 설명 |
---|---|
형식 | Apache Spark 기반 분석 플랫폼 |
지원되는 언어 | Python, R, Scala, SQL |
기계 학습 단계 | 데이터 준비 데이터 전처리 모델 학습 모델 튜닝 모델 유추 관리 배포 |
ML.NET
ML.NET은 오픈 소스 및 플랫폼 간 기계 학습 프레임워크입니다. ML.NET을 사용하여 사용자 지정 기계 학습 솔루션을 구축하고 .NET 애플리케이션에 통합할 수 있습니다. ML.NET은 기계 학습과 딥 러닝 모델을 학습하고 점수를 매기기 위해 TensorFlow 및 ONNX와 같은 자주 사용되는 프레임워크와 다양한 수준의 상호 운용성을 제공합니다. 이미지 분류 모델 학습과 같은 리소스 집약적인 작업의 경우 Azure를 활용하여 클라우드에서 모델을 학습할 수 있습니다.
.NET 애플리케이션에 기계 학습 솔루션을 통합하려는 경우 ML.NET를 사용합니다. 코드 우선 환경을 위한 API와 낮은 코드 환경을 위한 Model Builder 또는 CLI 중에서 선택합니다.
항목 | 설명 |
---|---|
형식 | .NET으로 사용자 지정 기계 학습 애플리케이션을 개발하기 위한 오픈 소스 플랫폼 간 프레임워크 |
지원되는 언어 | C#, F# |
기계 학습 단계 | 데이터 준비 학습 배포 |
주요 이점 | 데이터 과학 및 기계 학습 경험이 필요하지 않음 익숙한 도구(Visual Studio, Microsoft Visual Studio Code) 및 언어 사용 .NET이 실행되는 위치에 배포 확장 가능 확장성 로컬 우선 환경 |
Windows machine learning
Windows machine learning 유추 엔진을 사용하면 학습된 기계 학습 모델을 애플리케이션에서 사용하여 Windows 10 디바이스에서 로컬로 학습된 모델을 평가할 수 있습니다.
Windows 애플리케이션 내에서 학습된 기계 학습 모델을 사용하려는 경우 Windows machine learning을 사용합니다.
항목 | 설명 |
---|---|
형식 | Windows 디바이스에서 학습된 모델을 위한 유추 엔진 |
지원되는 언어 | C#/C++, JavaScript |
SynapseML
SynapseML (이전에는 MMLSpark)은 대규모로 확장 가능한 기계 학습 파이프라인을 간편하게 만들 수 있는 오픈 소스 라이브러리입니다. SynapseML은 텍스트 분석, 비전, 변칙 검색 등의 다양한 머신 러닝 작업을 위한 API를 제공합니다. SynapseML은 Apache Spark 분산 컴퓨팅 프레임워크를 기반으로 하며 SparkML/MLLib 라이브러리와 동일한 API를 공유하므로, SynapseML 모델을 기존 Apache Spark 워크플로에 원활하게 포함할 수 있습니다.
SynapseML은 Spark Machine Learning 파이프라인의 Light Gradient Boosting Machine (LightGBM), LIME (Model Interpretability) 및 OpenCV와의 원활한 통합을 비롯하여 Spark 에코시스템에 많은 딥 러닝 및 데이터 과학 도구를 추가합니다. 이러한 도구를 사용하여 Azure Databricks 또는 Cosmic Spark와 같은 모든 Spark 클러스터에서 강력한 예측 모델을 만들 수 있습니다.
SynapseML는 또한 Spark 에코시스템에 네트워킹 기능을 제공합니다. HTTP on Spark 프로젝트를 통해 사용자는 모든 웹 서비스를 SparkML 모델에 포함할 수 있습니다. 또한 SynapseML는 Azure AI services 를 대규모로 조정하기 위한 사용하기 쉬운 도구를 제공합니다. 프로덕션 등급 배포의 경우 Spark 서비스 제공 프로젝트는 Spark 클러스터에서 지원하는 밀리초 미만의 대기 시간 웹 서비스를 지원합니다.
항목 | 설명 |
---|---|
형식 | Apache Spark용 오픈 소스, 분산, 기계 학습 및 마이크로서비스 프레임워크 |
지원되는 언어 | Scala 2.11, Java, Python 3.5+, R(베타) |
기계 학습 단계 | 데이터 준비 모델 학습 배포 |
주요 이점 | 확장성 스트리밍 + 서비스 제공 호환 내결함성 |
고려 사항 | Apache Spark 필요 |
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
보안 주체 작성자:
- Zoiner Tejada | 최고 경영자(CEO) 및 건축가
다음 단계
- Microsoft에서 제공하는 모든 인공 지능(AI) 개발 제품에 대해 알아보려면 Microsoft AI 플랫폼을 참조하세요.
- Microsoft와 함께 AI 및 Machine Learning 솔루션 개발에 대한 학습은 Microsoft Learn 학습을 참조하세요.