다음을 통해 공유


Windows ML이란?

ML(Windows Machine Learning)을 사용하면 C#, C++, Python 개발자가 ONNX 런타임을 통해 Windows PC에서 로컬로 ONNX AI 모델을 실행할 수 있으며, 다양한 하드웨어(CPU, GPU, NPU)에 대한 자동 실행 공급자 관리가 가능합니다. ONNX 런타임은 PyTorch, Tensorflow/Keras, TFLite, scikit-learn 및 기타 프레임워크의 모델과 함께 사용할 수 있습니다.

Windows ML을 거쳐 NPU, GPU 및 CPU에 도달하는 ONNX 모델을 보여 주는 다이어그램

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에서 모델 유추를 최적화할 수 있습니다.

자동 배포

  1. 앱 설치 - Windows 앱 SDK 부트스트래퍼가 Windows ML을 초기화합니다.
  2. 하드웨어 검색 - 런타임이 사용 가능한 프로세서를 식별합니다.
  3. EP 다운로드 - 최적의 실행 공급자를 자동으로 다운로드합니다.
  4. 실행 준비 - 앱에서 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에서 문제를 검색하거나 만듭니다.

다음 단계