Windows Machine LearningWindows Machine Learning

Windows ML を使用して Windows アプリに AI を実装します。Windows ML は、Windows デバイス上で ML 推論を実行するための信頼性の高い高パフォーマンス API です。Implement AI in your Windows apps using Windows ML—a high-performance, reliable API for running ML inferences on Windows devices.

Windows ML のグラフィックス


Windows ML を使用すると、開発者は Windows 10 のローカル デバイスまたは Windows Server 2019 マシン上のいずれかで、C#、C++、JavaScript、または Python で記述された Windows アプリ内のトレーニング済みの ML モデルを使用することができます。With Windows ML, developers can use trained ML models in Windows apps that are written in C#, C++, JavaScript, or Python, either locally on a Windows 10 device or on a Windows Server 2019 machine. トレーニング済みの ML モデルをアプリケーション コードに組み込むプロセスはシンプルで、次に示すいくつかの単純な手順のみが必要です。The process of incorporating trained ML models into your application code is simple, requiring just a few straightforward steps:

トレーニング環境, モデル参照の追加, アプリケーション, Windows ML

  1. トレーニング済みの Open Neural Network Exchange (ONNX) モデルを取得するか、別の ML フレームワークでトレーニングされたモデルを WinMLTools で ONNX に変換します。Get a trained Open Neural Network Exchange (ONNX) model, or convert models trained in other ML frameworks into ONNX with WinMLTools.

  2. ONNX モデル ファイルをアプリケーションに追加します。または他の何らかの方法でターゲット デバイス上で使用できるようにします。Add the ONNX model file to your application, or make it available in some other way on the target device.

  3. モデルをアプリケーション コードに統合し、アプリケーションをビルドして展開します。Integrate the model into your application code, then build and deploy the application.

アプリケーションを実行すると、Windows ML ランタイム (ONNX モデル推論エンジンを含む) は Windows 10 デバイス (またはサーバー展開を対象とする場合は Windows Server 2019) 上のトレーニング済みモデルを評価します。When your application runs, the Windows ML runtime (which contains the ONNX Model Inference Engine) evaluates the trained model on the Windows 10 device (or Windows Server 2019 if targeting a server deployment). Windows ML がハードウェア アブストラクションを処理するため、開発者は CPU や GPU、さらに将来は AI アクセラレータなどを含む広い範囲のシリコンを対象にすることができます。Windows ML handles the hardware abstraction, allowing developers to target a broad range of silicon—including CPUs, GPUs, and, in the future, AI accelerators. Windows ML ハードウェア アクセラレータは DirectML 上に構築されます。これは ML 推論を実行するための高パフォーマンスで低レベルの API で、DirectX ファミリの一部です。Windows ML hardware acceleration is built on top of DirectML, a high-performance, low-level API for running ML inferences that is part of the DirectX family.

Windows ML のレイヤー

Windows ML は、開発者に次の利点をもたらします。Windows ML provides developers with the following advantages:

  • 開発の容易さ: Windows ML を最新バージョンの Windows 10 および Windows Server 2019 に組み込んだら、あと必要なのは Visual Studio とトレーニング済みの ONNX モデルだけで、これらは Windows アプリケーションと一緒に配布できます。Ease of development: With Windows ML built into the latest versions of Windows 10 and Windows Server 2019, all you need is Visual Studio and a trained ONNX model, which can be distributed along with the Windows application.

  • 幅広いハードウェア サポート: Windows ML を使用することによって、ML ワークロードを 1 回記述すれば、さまざまなハードウェア ベンダーやシリコンの種類 (CPU、GPU、AI アクセラレータなど) にわたって高度に最適化されたパフォーマンスを自動的に得ることができます。Broad hardware support: Windows ML allows you to write your ML workload once and automatically get highly optimized performance across different hardware vendors and silicon types, such as CPUs, GPUs, and AI accelerators. さらに、Windows ML では、サポートされているすべてのハードウェアで一貫した動作が保証されます。In addition, Windows ML guarantees consistent behavior across the range of supported hardware.

  • 待ち時間が短く結果をリアルタイムで利用可能: Windows デバイスの処理機能を使用して ML モデルを評価でき、画像やビデオなどの大きなデータ ボリュームをローカルでリアルタイムに分析できます。Low latency, real-time results: ML models can be evaluated using the processing capabilities of the Windows device, enabling local, real-time analysis of large data volumes, such as images and video. 分析結果は、ゲーム エンジンなどのパフォーマンスが集中するワークロードや、検索のインデックス作成などのバックグラウンド タスクですぐに効率的に使用できます。Results are available quickly and efficiently for use in performance-intensive workloads like game engines, or background tasks such as indexing for search.

  • 柔軟性の向上: Windows デバイス上で ML モデルをローカルに評価するオプションを使用すると、幅広いシナリオに対処できます。Increased flexibility: The option to evaluate ML models locally on Windows devices lets you address a broader range of scenarios. たとえば ML モデルの評価を、デバイスがオフラインになっているときや、接続が断続的になったときに実行できます。For example, evaluation of ML models can run while the device is offline, or when faced with intermittent connectivity. また、プライバシーやデータの主権の問題により、すべてのデータをクラウドに送信できないシナリオに対処することもできます。This also lets you address scenarios where not all data can be sent to the cloud due to privacy or data sovereignty issues.

  • 運用コストの削減: ML モデルは継続的な改善が必要な場合もあるため、ML モデルをクラウドでトレーニングし、Windows デバイスでローカルに評価すれば、最小限のデータのみがクラウドに送信されるため帯域幅コストが大幅に節約できます。Reduced operational costs: Training ML models in the cloud and then evaluating them locally on Windows devices can deliver significant savings in bandwidth costs, with only minimal data sent to the cloud—as might be needed for continual improvement of your ML model. さらに、サーバー内に ML モデルを展開するシナリオでは、開発者は Windows ML ハードウェア アクセラレータを利用してモデル サービスを高速化することで、ワークロードを処理するために必要なマシンの量を減らすことができます。Moreover, when deploying the ML model in a server scenario, developers can leverage Windows ML hardware acceleration to speed-up model serving, reducing the amount of machines needed in order to handle the workload.

Windows ML が実際に動作しているところを確認する場合には、GitHub の Windows-Machine-Learning リポジトリにあるサンプル アプリをお試しください。To see Windows ML in action, you can try out the sample apps in the Windows-Machine-Learning repo on GitHub.

Windows ML の最新の機能と修正プログラムについては、「リリース ノート」を参照してください。For the latest Windows ML features and fixes, see our release notes.

次のビデオは、Windows Machine Learning の概要を簡単に紹介したものです。The following video gives a brief overview of Windows Machine Learning.

Microsoft の他の機械学習ソリューションOther machine learning solutions from Microsoft

Microsoft では、お客様のニーズに応じてさまざまな機械学習ソリューションを提供しています。Microsoft offers a variety of machine learning solutions to suit your needs. ソリューションはクラウド内で運用するものもあれば、オンプレミスやローカル デバイスで運用するものもあります。These solutions run in the cloud, on-premises, and locally on the device. 詳細については、「Microsoft の機械学習製品とは」を参照してください。See What are the machine learning product options from Microsoft? for more information.


Windows ML に関するヘルプについては、次のリソースを参照してください。Use the following resources for help with Windows ML:

  • Windows ML に関する技術的な質問をしたり、質問に回答したりするには、Stack Overflowwindows-machine-learning タグを使用してください。To ask or answer technical questions about Windows ML, please use the windows-machine-learning tag on Stack Overflow.
  • バグを報告するには、GitHub で問題を提出してください。To report a bug, please file an issue on our GitHub.
  • 機能をリクエストするには、Windows Developer Feedback に進んでください。To request a feature, please head over to Windows Developer Feedback.