DirectMLとは
DirectMLは、Microsoftが開発したWindows向けの機械学習ハードウェア加速APIです。DirectX 12の一部として提供され、CPU、GPU、NPUなどのハードウェアを自動的に使い分け、最適なパフォーマンスでAI推論を実行します。Copilot+ PCの全AI機能を支える中核技術です。
DirectMLの特徴
1. ハードウェア非依存
- 自動最適化:Intel、AMD、NVIDIA、Qualcommすべてのハードウェアに対応
- プロセッサ選択:タスクに応じて最適なプロセッサを自動選択
- ドライバレベル対応:ハードウェアベンダーが最適化
2. 幅広いモデル対応
- TensorFlow:TensorFlow-DirectMLで対応
- PyTorch:PyTorch-DirectMLで対応
- ONNX:ONNX Runtimeと統合
- Windows ML:Windowsアプリで機械学習を簡単に利用
3. DirectX 12との統合
- 既存のDirectX 12インフラを活用
- ゲームエンジンとの統合が容易
- グラフィックスとAIの同時処理
DirectMLが使われている機能
Copilot+ PC機能
Windows Studio Effects:ビデオ会議エフェクトLive Captions:リアルタイム字幕・翻訳Cocreator:AI画像生成Recall:画面履歴のAI検索
サードパーティアプリ
- Adobe Photoshop:Neural Filters
- DaVinci Resolve:AI動画編集
- Stable Diffusion:画像生成(DirectML版)
- Whisper:音声認識(DirectML版)
開発者向け情報
使用方法
# ONNX Runtime with DirectML
import onnxruntime as ort
# DirectMLプロバイダーを使用
providers = ['DmlExecutionProvider']
session = ort.InferenceSession('model.onnx', providers=providers)
# 推論実行(自動的にNPU/GPUを使用)
outputs = session.run(None, inputs)
対応言語・フレームワーク
- C++:ネイティブAPI
- C#/.NET:Windows.AI.MachineLearning
- Python:TensorFlow-DirectML、PyTorch-DirectML、ONNX Runtime
他のAI APIとの比較
| 項目 | DirectML | CUDA | OpenVINO |
|---|---|---|---|
| 対応ハードウェア | Intel/AMD/NVIDIA/Qualcomm | NVIDIAのみ | 主にIntel |
| OS対応 | Windowsのみ | Windows/Linux/Mac | Windows/Linux/Mac |
| NPU対応 | ◎ 完全対応 | × 非対応 | ◎ 対応 |
| 使いやすさ | ◎ 自動最適化 | ○ 手動設定必要 | ○ やや複雑 |
2025〜2026年の最新動向
- DirectML 1.14+(2024〜2025年):LLM推論向けの新しいオペレーターが追加
- Windows AI Foundry:DirectMLをバックエンドとした統合AI開発プラットフォーム
- WebNN APIとの連携:ブラウザからDirectML経由でNPUを利用するWebNN APIが普及
- TensorFlowの対応強化:TensorFlow-DirectMLプラグインの継続的改善
関連用語
- ONNX Runtime - DirectMLを活用する主要な推論エンジン
- NPU - DirectMLがアクセスするAI専用プロセッサ
- Windows Copilot Runtime - DirectMLを活用するWindowsのAIプラットフォーム
- Intel AI Boost - DirectML経由でアクセスできるIntelのNPU
- AMD XDNA - DirectML経由でアクセスできるAMDのNPU
外部リファレンス:
Microsoft公式 - DirectML
DirectML GitHub
まとめ
DirectMLは、Windowsの機械学習向けハードウェア加速APIで、Copilot+ PCのNPUを含むIntel・AMD・QualcommのGPU/NPUを統一的にサポートします。開発者はハードウェアの違いを意識せず、ONNX Runtimeの'DmlExecutionProvider'を指定するだけで高性能なAIアプリケーションを構築できます。
よくある質問(FAQ)
Q. DirectMLとは何ですか?
MicrosoftのWindowsAI推論向けハードウェア加速APIです。DirectXに基づき、Intel・AMD・Qualcomm等のGPU/NPUに対応し、ONNX Runtimeなどの推論エンジンがDirectMLを通じてNPUを活用できます。
Q. PythonからDirectMLを使うには?
最も簡単なのはONNX Runtime経由です。「pip install onnxruntime-directml」でインストールし、InferenceSession(model_path, providers=['DmlExecutionProvider'])で実行するだけです。低レベルのDirectML APIはC++での実装が必要ですが、通常はONNX Runtime経由で十分です。
