DirectML(Direct Machine Learning)は、
マイクロソフトが提供している
C++で作られた低レベルのAPIです。このAPIは、
Microsoft Windows環境下でGPUやNPUを活用して、
ニューラルネットワークの実行を目的としています。2018年に登場し、
2025年7月19日をもって開発が終了することが決まっています。それに伴い、
マイクロソフトは
2025年5月に新たにWindows MLを発表し、ONNX Runtimeを今後も継続的にサポートする方針です。
DirectMLは、単なる推論処理を行うだけでなく、学習と呼ばれるプロセスにも利用可能です。このAPIは、ネイティブのWindows環境だけでなく、Windows上の
Windows Subsystem for Linux(WSL)でも利用できる点が特徴です。
同社は過去にも、さまざまな
ニューラルネットワーク関連の
ライブラリを発表しては廃止する事例が見受けられます。これまでに発表された主な
ライブラリには、2018年のWindows Machine Learning(名前空間: Windows.AI.MachineLearning)や、2019年に登場したDirectML(名前空間: Microsoft.AI.DirectML)があります。さらに、
2025年に発表されるWindows MLは、名前空間がMicrosoft.Windows.AI.MachineLearningに設定されています。
対応ハードウェア
DirectMLを利用するためには、GPUとして2015年に発表された
Microsoft DirectX 12に対応したハードウェアが必要です。そのため、現在一般的に使用されているほとんどのGPUは、直接的にDirectMLの機能にアクセスできることになります。具体的には、次のハードウェアが対応しています。
- - AMD GCN 第1世代 (Radeon HD 7000 シリーズ)以降(2012年)
- - Intel Haswell (第4世代Intel Core) HD Integrated Graphics以降(2013年)
- - NVIDIA Kepler マイクロアーキテクチャ (GeForce 600 シリーズ)以降(2012年)
- - Qualcomm Adreno 600以降
NPUの対応状況については、以下のものが挙げられますが、AMD製のNPUは現在利用できません。
DirectMLを利用するためのいくつかの
ライブラリも存在します。直接APIを呼び出す方法もありますが、以下の
ライブラリが対応していることが知られています。
- - ONNX Runtime
- - PyTorch(torch-directmlパッケージをインストールする必要があります)
- - Web Neural Network API(これもONNX Runtime Webから利用可能です)
なお、一部の
ライブラリについては開発が停止しているものもあります。たとえば、
TensorFlowでのDirectML利用に関する「tensorflow-directml-plugin」や「tensorflow-directml」パッケージについてです。
参考リンク
以上が、DirectMLに関する概要やその後の動向、対応ハードウェアと
ライブラリについての情報です。今後はWindows MLがより注目されることでしょう。