Windows ML・DirectML・CUDAは何が違う?役割を分けて整理

目次
WindowsでローカルAIを調べていると、Windows ML、DirectML、CUDAという名前が並ぶ。
これらを「3つのGPU向け方式のうち、どれが最速か」と単純比較すると分かりにくくなる。
まず、それぞれが何を担当する仕組みなのかを分ける。
図: 主な比較軸を1枚に整理。細かな条件は本文と表で確認する。
Windows MLはWindows上でモデルを実行する仕組みとして見る
MicrosoftのWindows ML資料では、Windows上でモデルを配置し、推論基盤と実行プロバイダーを利用する構成が案内されている。
そのためWindows MLは、単なる「GPU用APIの名前」としてではなく、Windows上で機械学習モデルを実行するための仕組みとして見ると分かりやすい。
実際にどの実行プロバイダーが使われるかは、ソフト、モデル、ハードウェア、対応状況によって変わる。
DirectMLはDirectX 12上の機械学習API
DirectMLは、DirectX 12を基盤にした機械学習向けAPIだ。
Microsoftの現在の資料ではDirectMLは継続保守の位置付けとされ、新しいWindows上のONNX推論についてはWindows ML側の案内も示されている。
これは「DirectMLが使えない」という意味ではない。
新しく環境を作るときは、自分が使うソフトが現在どの実行経路を公式に案内しているかを確認する。
Windows MLとDirectMLは同じ名前の置き換えではない。
CUDAはNVIDIA GPU向けの計算基盤
CUDAはNVIDIA GPU向けの並列計算基盤と開発環境だ。
WindowsでもCUDAを利用するAIソフトは多い。
ただし、CUDA Toolkitをインストールしただけで、すべてのAIソフトが自動的にCUDAを使うわけではない。
使うソフトや実行環境側がCUDAへ対応している必要があり、必要なドライバーやバージョン条件も確認する。
先に使いたいソフトの公式対応を見る
「どれが速いか」を調べる前に、次の順で確認する。
- 使いたいソフトまたは実行環境を決める
- 公式の対応情報を確認する
- 自分のGPUやNPUが対象か確認する
- 実際にどの実行経路が選ばれているか確認する
- 必要なら同じ条件で速度を測る
この順なら、GPUのメーカー名だけから実行方式を決めずに済む。
3つの役割を表で整理する
| 名前 | 主に見る役割 | 次に確認すること |
|---|---|---|
| Windows ML | Windows上でモデルを配置・実行する仕組み | 使用する実行プロバイダーとモデル対応 |
| DirectML | DirectX 12上の機械学習API | 使用ソフトがDirectML経路を採用するか |
| CUDA | NVIDIA GPU向けの計算基盤 | 使用ソフトのCUDA対応とドライバー条件 |
この表だけでは、特定のモデル・GPU・ソフトでどの方式が最速かまでは決まらない。
自分が使う実行環境の公式対応を確認し、その後に必要な場合だけ同条件で速度を測るのが安全だ。
Windows上のローカルAIアプリ自体を比較したい場合は、Foundry Local・LM Studio・Ollamaの違いも確認できる。
まとめ
- Windows ML・DirectML・CUDAは、同じ役割の3方式として単純比較するものではない
- Windows MLはWindows上でモデルを配置・実行するための仕組みとして確認する
- DirectMLはDirectX 12上の機械学習APIで、現在使うソフトがDirectML経路を採用しているかを確認する
- CUDAはNVIDIA GPU向けの計算基盤で、導入しただけで任意のAIソフトがCUDAを使うわけではない