ML(Windows Machine Learning)을 사용하면 C#, C++, Python 개발자가 ONNX 런타임을 통해 Windows PC에서 로컬로 ONNX AI 모델을 실행할 수 있으며, 다양한 하드웨어(CPU, GPU, NPU)에 대한 자동 실행 공급자 관리가 가능합니다. ONNX 런타임은 PyTorch, Tensorflow/Keras, TFLite, scikit-learn 및 기타 프레임워크의 모델과 함께 사용할 수 있습니다.
ONNX 런타임에 익숙하지 않은 경우 ONNX 런타임 문서를 읽는 것이 좋습니다. 즉, Windows ML은 ONNX 런타임의 공유 Windows 전체 복사본과 EP(실행 공급자)를 동적으로 다운로드하는 기능을 제공합니다.
주요 이점
- 동적으로 최신 EP 가져오기 - 최신 하드웨어별 실행 공급자를 자동으로 다운로드 및 관리
- 공유 ONNX 런타임 - 사용자 고유의 런타임을 묶는 대신 시스템 전체 런타임을 사용하여 앱 크기를 줄입니다.
- 더 작은 다운로드/설치 - 앱에서 큰 EP 및 ONNX 런타임을 수행할 필요가 없습니다.
- 광범위한 하드웨어 지원 - 모든 하드웨어 구성을 사용하는 Windows PC(x64 및 ARM64) 및 Windows Server에서 실행
시스템 요구 사항
- OS: Windows 10 버전 1809(빌드 17763) 이상 또는 Windows Server 2019 이상
- 아키텍처: x64 또는 ARM64
- 하드웨어: 모든 PC 구성(CPU, 통합/불연속 GPU, NPU)
실행 공급자란?
EP(실행 공급자)는 ML(기계 학습) 작업에 대한 하드웨어별 최적화를 가능하게 하는 구성 요소입니다. 실행 공급자는 다양한 컴퓨팅 백 엔드(CPU, GPU, 특수 가속기)를 추상화하고 그래프 분할, 커널 등록 및 연산자 실행을 위한 통합 인터페이스를 제공합니다. 자세한 내용은 ONNX 런타임 문서를 참조하세요.
Windows ML에서 지원하는 EP 목록은 여기에서 확인할 수 있습니다.
작동 방식
Windows ML에는 ONNX 런타임 의 복사본이 포함되어 있으며 공급업체별 EP(실행 공급자 )를 동적으로 다운로드할 수 있으므로 Windows 에코시스템의 다양한 CPU, GPU 및 NPU에서 모델 유추를 최적화할 수 있습니다.
자동 배포
- 앱 설치 - Windows 앱 SDK 부트스트래퍼가 Windows ML을 초기화합니다.
- 하드웨어 검색 - 런타임이 사용 가능한 프로세서를 식별합니다.
- EP 다운로드 - 최적의 실행 공급자를 자동으로 다운로드합니다.
- 실행 준비 - 앱에서 AI 모델을 즉시 사용할 수 있습니다.
이렇게 하면 다음을 수행할 필요가 없습니다.
- 특정 하드웨어 공급업체에 대한 번들 실행 공급자
- 다른 실행 공급자에 대한 별도의 앱 빌드 만들기
- 실행 공급자 업데이트를 수동으로 처리
비고
여전히 다양한 하드웨어에 대한 모델을 최적화해야 합니다. Windows ML은 모델 최적화가 아닌 실행 공급자 배포를 처리합니다. 최적화에 대한 자세한 내용은 AI 도구 키트 및 ONNX 런타임 자습서 를 참조하세요.
성능 최적화
최신 버전의 Windows ML은 GPU 및 NPU용 전용 실행 공급자와 직접 작동하여 RTX용 TensorRT, AI 엔진 다이렉트 및 PyTorch용 Intel 확장과 같은 과거의 전용 SDK와 동등한 금속 성능을 제공합니다. Windows ML은 동급 최고의 GPU 및 NPU 성능을 갖도록 설계했으며, 이전 DirectML 기반 솔루션에서 제공한 쓰기 한 번 실행 이점을 유지했습니다.
Windows ML에서 실행 공급자 사용
Windows ML 런타임은 다양한 하드웨어 구성에서 ML 모델 유추를 최적화할 수 있는 ML(기계 학습) 실행 공급자(EP)에 액세스하는 유연한 방법을 제공합니다. 이러한 EP는 운영 체제와 독립적으로 업데이트할 수 있는 별도의 패키지로 배포됩니다. EP를 동적으로 다운로드하고 등록하는 방법에 대한 자세한 내용은 Windows ML 문서를 사용하여 실행 공급자 초기화를 참조하세요.
모델을 ONNX로 변환
모델을 다른 형식에서 ONNX로 변환하여 Windows ML에서 사용할 수 있습니다. 자세한 내용은 모델을 ONNX 형식으로 변환 하는 방법에 대한 Visual Studio Code AI Toolkit의 문서를 참조하세요. 또한 PyTorch, TensorFlow 및 Hugging Face 모델을 ONNX로 변환하는 방법에 대한 자세한 내용은 ONNX 런타임 자습서 를 참조하세요.
모델 관리
Windows ML은 AI 모델을 관리하기 위한 유연한 옵션을 제공합니다.
- 모델 카탈로그 - 대용량 파일을 묶지 않고 온라인 카탈로그에서 동적으로 모델 다운로드
- 로컬 모델 - 애플리케이션 패키지에 직접 모델 파일 포함
Windows AI 에코시스템과 통합
Windows ML은 광범위한 Windows AI 플랫폼의 기초 역할을 합니다.
- Windows AI API - 일반적인 작업을 위한 기본 제공 모델
- Foundry Local - 즉시 사용할 수 있는 AI 모델
- 사용자 지정 모델 - 고급 시나리오에 대한 직접 Windows ML API 액세스
피드백 제공
문제가 발견되었거나 제안이 있나요? Windows 앱 SDK GitHub에서 문제를 검색하거나 만듭니다.
다음 단계
- 시작: Windows ML 시작
- 모델 관리: 모델 카탈로그 개요
- 자세한 정보: ONNX 런타임 설명서
- 모델 변환: VS Code AI 도구 키트 모델 변환