Microsoft、Windowsデバイス向けネイティブPyTorch Armサポートを導入

Microsoft、Windowsデバイス向けネイティブPyTorch Armサポートを導入

マイクロソフト、ARM版Windows向けネイティブPyTorchビルドをリリース

GitHubにWindows on Armランナーのサポートが導入されてからわずか数週間後、MicrosoftはArm搭載デバイスでWindowsを実行する開発者にとって画期的な発表を行いました。広く利用されているオープンソースの機械学習フレームワークであるPyTorchのネイティブビルドが、Windows on Arm向けに正式に利用可能になりました。この進歩により、Armアーキテクチャ上でネイティブにアプリケーションを構築・テストすることを目指す開発者のプロセスが簡素化されます。

機械学習におけるPyTorchの重要性

PyTorchをご存じない方のために説明すると、PyTorchはディープニューラルネットワークの構築と学習に注力する研究者や開発者にとって不可欠なツールです。これまで、Armチップを搭載したWindowsデバイスでPyTorchを実行するには、フレームワーク全体をソースからコンパイルする必要があり、時間がかかり、プログラミング初心者には適さないという課題がありました。

PyTorch 2.7 の新機能

PyTorch 2.7のリリースにより、 Python 3.12で Windows on Arm 向けのネイティブビルドが利用可能になりました。開発者はpip などの標準パッケージマネージャーを使用して PyTorch を簡単にインストールできるため、セットアッププロセスが大幅に効率化されます。

Microsoft によれば:

これにより、Copilot+ PC などの Windows デバイスで Arm64 アーキテクチャの完全なパフォーマンスを機械学習の実験に活用できるようになり、開発者や研究者がモデルを革新および改良するための強力なプラットフォームが提供されます。

機械学習開発のメリット

この最新サービスは、Arm搭載Windowsマシン上で直接機械学習モデルのローカル開発、トレーニング、テストを強化することが期待されています。特にMicrosoftは、Stable Diffusionなどのツールに代表される画像分類、自然言語処理、生成AIといった分野における潜在的な応用例を強調しました。

Windows でネイティブ PyTorch を使い始める

Windows on Arm向けネイティブPyTorchバイナリを使い始めるには、開発者はいくつかの必須コンポーネントをインストールする必要があります。これには、Visual Studio Build ToolsまたはVisual Studioの完全インストールから取得したコンポーネントが含まれます。

  • C++ によるデスクトップ開発ワークロードが選択されていることを確認します。
  • インストール中に、最新のVS 2022 C++ ARM64/ARM64ECビルド ツールを必ず含めてください。
Visual Studio インストーラー プロジェクトの選択

さらに、Rustをインストールし、Arm64版のPython 3.12をシステムにインストールする必要があります。これらの前提条件を満たしたら、以下の簡単なコマンドで、適切なダウンロードインデックスを指定してpip経由でPyTorchの安定版をインストールできます。

pip install --extra-index-url https://download.pytorch.org/whl torch

ナイトリービルドの探索

最新の機能を試してみたい方や、不安定なバージョンでも問題ない方は、次のコマンドを使用して Nightly ビルドまたは Preview ビルドをインストールできます。

pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/cpu

追加のネイティブビルドとベストプラクティス

Pythonパッケージに加えて、PyTorchのC++フロントエンドとして機能し、デプロイメントコンテキストでよく使用されるLibTorchのネイティブビルドも提供されています。LibTorchを使い始めるための包括的なガイドについては、PyTorchのウェブサイトをご覧ください。Microsoftは、Python開発の標準的な方法として、プロジェクトの依存関係をシームレスに管理し、潜在的な競合を回避するために、仮想環境(venv)を作成することを推奨しています。

アプリケーションと採用の例

さらに、MicrosoftはWindows on ArmのStable DiffusionにネイティブPyTorchバイナリを使用する例を示し、開発者がアプリケーションで生成AIを活用する方法についての洞察を提供しました。関連コードは、こちらのGitHubリポジトリでご覧いただけます。

依存の課題への対処

PyTorchとLibTorchは現在、Arm版Windowsのネイティブバイナリをサポートしていますが、すべての依存関係がそれに対応しているわけではないことにご注意ください。一部のPythonパッケージ、特にC、C++、Rustなどの言語で記述されたパフォーマンス重視のコンポーネントを含むパッケージは、PyPI上でプリコンパイル済みのネイティブArm64.whlファイルをまだ提供していない可能性があります。そのため、単純なpipインストールでは、使用中の各ライブラリのネイティブバージョンが生成されない可能性があります。

ただし、pip は、多くの場合.tar.gz ファイルとして提供されるソースコード配布物から依存関係を直接インストールできます。適切なビルドツールがシステムにインストールされている場合(前述の Arm64 ツールチェーンと Rust を使用した MSVC の記述を補強するものとして)、pip はこれらのパッケージを Windows 互換の.whl ファイルにローカルでコンパイルできます。

Microsoft は、この方法により、NumPy 2.2.3 や safetensors 0.5.3 などの一般的なパッケージの特定のバージョンをインストールできることを強調し、必要なコマンドを紹介しています。

pip install numpy==2.2.3 # and pip install safetensors==0.5.3

これらのコマンドは、ソースからパッケージを効率的にコンパイルする方法の例として役立ちます。

続きを読む

さらに詳しい情報と追加の例については、 Microsoft Windows ブログの完全な発表を参照してください。

出典と画像

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です