多くの開発者にとって、ハードウェア アクセラレータによる AI を大規模にユーザーに提供するためには、多くの場合、DirectML と ONNX Runtime のペアリングが最も簡単な方法です。 この 3 つの手順は、この強力なコンボを使用するための一般的なガイドです。
1. 変換
ONNX 形式を使用すると、ハードウェア間の機能を提供する DirectML で ONNX ランタイムを利用できます。
モデルを ONNX 形式に変換するには、 ONNXMLTools または Olive を利用できます。
2. 最適化
.onnx モデルを作成したら、DirectML を搭載した Olive を利用してモデルを最適化します。 Windows ハードウェア エコシステム全体に展開できるパフォーマンスが大幅に向上しています。
3. 統合
モデルの準備ができたら、ONNX Runtime と DirectML を使用して、ハードウェアアクセラレータによる推論をアプリに取り込みます。 生成AIモデルの場合は、ONNX Runtime Generate() API を使用することをお勧めします。
DirectML と ONNX ランタイムを使用する方法を示すサンプルをいくつか作成しました。
DirectML と PyTorch
Pytorch 用 DirectML バックエンドを使用すると、GPU ハードウェアへの高パフォーマンスで低レベルのアクセスが可能になり、開発者には使い慣れた Pytorch API が公開されます。 DirectML で PyTorch を使用する方法の詳細については、こちらを参照してください。
Web アプリケーション用 DirectML (プレビュー)
Web ニューラル ネットワーク API (WebNN) は、WEB アプリとフレームワークが GPU、CPU、または NPU などの専用の AI アクセラレータなどのデバイス上のハードウェアを使用してディープ ニューラル ネットワークを高速化できるようにする新しい Web 標準です。 WebNN API は、Windows 上の DirectML API を利用してネイティブ ハードウェア機能にアクセスし、ニューラル ネットワーク モデルの実行を最適化します。 WebNN の詳細については、こちらを参照してください。