Windows Machine Learning (ML) を使用すると、C#、C++、Python の開発者は、さまざまなハードウェア (CPU、GPU、NPU) の自動実行プロバイダー管理を使用して、 ONNX ランタイムを介して Windows PC 上でローカルで ONNX AI モデルを実行できます。 ONNX ランタイムは、PyTorch、Tensorflow/Keras、TFLite、scikit-learn、およびその他のフレームワークのモデルで使用できます。
ONNX ランタイムにまだ慣れていない場合は、 ONNX Runtime のドキュメントを読むことをお勧めします。つまり、Windows ML では、ONNX ランタイムの Windows 全体の共有コピーと、実行プロバイダー (IP) を動的にダウンロードする機能が提供されます。
主な利点
- 最新の IP を動的に取得 する - 最新のハードウェア固有の実行プロバイダーを自動的にダウンロードして管理する
- 共有 ONNX ランタイム - 独自のバンドルの代わりにシステム全体のランタイムを使用し、アプリのサイズを縮小します
- ダウンロード/インストールが小さい - アプリに大きな IP と ONNX ランタイムを含める必要はありません
- 広範なハードウェア サポート - 任意のハードウェア構成を使用して、すべての Windows 11 PC (x64 および ARM64) で実行されます
システム要件
- OS: Windows 11 バージョン 24H2 (ビルド 26100) 以降
- アーキテクチャ: x64 または ARM64
- ハードウェア: 任意の PC 構成 (CPU、統合/個別 GPU、NPU)
実行プロバイダーとは
実行プロバイダー (EP) は、機械学習 (ML) 操作のハードウェア固有の最適化を可能にするコンポーネントです。 実行プロバイダーは、さまざまなコンピューティング バックエンド (CPU、GPU、特殊化されたアクセラレータ) を抽象化し、グラフのパーティション分割、カーネル登録、および演算子の実行のための統合インターフェイスを提供します。 詳細については、 ONNX ランタイムのドキュメントを参照してください。
Windows ML でサポートされている IP の一覧については、こちらをご覧ください。
動作方法
Windows ML には ONNX ランタイム のコピーが含まれており、ベンダー固有の 実行プロバイダー (EP) を動的にダウンロードできるため、Windows エコシステム内のさまざまな CPU、GPU、および NPU でモデル推論を最適化できます。
自動デプロイ
- アプリのインストール - Windows App SDK ブートストラップによって Windows ML が初期化される
- ハードウェア検出 - ランタイムが使用可能なプロセッサを識別する
- EP ダウンロード - 最適な実行プロバイダーを自動的にダウンロードする
- 実行準備完了 - アプリですぐに AI モデルを使用できる
これにより、次の操作を行う必要がなくなります。
- 特定のハードウェア ベンダー向けのバンドル実行プロバイダー
- さまざまな実行プロバイダー用に個別のアプリ ビルドを作成する
- 実行プロバイダーの更新を手動で処理する
注
異なるハードウェア用にモデルを最適化する責任は引き続きあります。 Windows ML は、モデルの最適化ではなく、実行プロバイダーの分散を処理します。 最適化の詳細については、 AI ツールキット と ONNX ランタイム チュートリアル を参照してください。
パフォーマンスの最適化
最新バージョンの Windows ML は GPU と NPU 用の専用実行プロバイダーと直接連携し、過去の専用 SDK (RTX 用 TensorRT、AI Engine Direct、PyTorch 用 Intel の拡張機能など) と同等のパフォーマンスを実現します。 以前の DirectML ベースのソリューションで提供されていた書き込み 1 回限りの実行の利点を維持しながら、クラス最高の GPU と NPU のパフォーマンスを実現するように Windows ML を設計しました。
Windows ML での実行プロバイダーの使用
Windows ML ランタイムは、さまざまなハードウェア構成で ML モデル推論を最適化できる機械学習 (ML) 実行プロバイダー (EP) に柔軟にアクセスする方法を提供します。 これらの IP は、オペレーティング システムとは別に更新できる個別のパッケージとして配布されます。 EP の動的なダウンロードと登録の詳細については、Windows ML を使用した 初期化実行プロバイダー に関するドキュメントを参照してください。
モデルを ONNX に変換する
Windows ML で使用できるように、モデルを他の形式から ONNX に変換できます。 詳細については、モデルを 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 App SDK GitHub で問題を検索または作成します。
次のステップ
- 作業の開始: Windows ML の概要
- モデル管理: モデル カタログの概要
- 詳細情報: ONNX Runtime のドキュメント
- モデルの変換: VS Code AI Toolkit モデルの変換