AMD、クライアントGPUでオープンソースのAIプラットフォームを実現。
AMDは、RDNA 3ベースのRadeon Pro W7900およびRadeon RX 7900 XTXグラフィックス・カード向けにPyTorch 2.0.1をサポートするUbuntu Linux向けROCm 5.7.1ドライバのアップデートを発表した。
これにより開発者は、PyTorchライブラリを使用した人工知能アプリケーションに、24GBおよび48GBのメモリを搭載したAMDのフラッグシップ・クライアントGPUを使用できるようになります。
「AMD Radeon RX 7900 XTXおよびRadeon Pro W7900 GPUとROCmオープン・ソフトウェア・プラットフォーム上に構築されたPyTorchを使用した機械学習開発のための新たなサポートをAIコミュニティーに提供できることを嬉しく思います。
これは、当社初のRDNA 3アーキテクチャベースの実装であり、コミュニティとの提携を楽しみにしています。AMDのRadeon製品管理担当副社長であるダン・ウッドは、次のように述べています。
このドライバー・アップデートは、一般的なディープラーニング・ライブラリーであるPyTorch 2.0.1で動作するよう特別に調整されており、AMDのRDNA3ベースGPUの能力を引き出します。
ROCm 5.7.1ドライバは、Radeon RX 7900 XTX 24GBとRadeon Pro W7900 48GBというフラッグシップ・グラフィックス・カードのみをサポートしている。
これは、大規模言語モデル(LLM)のようなAIアプリケーションは大容量のオンボード・メモリから恩恵を受け、AMDはできるだけ多くのハイエンド・ボードを販売したいためである。
AMDは、同社のNavi 31グラフィックス・プロセッサーが、Navi 21の96から192のAIアクセラレーターを内蔵しており、人工知能アプリケーション向けのGPUとして有効であると述べている。
一方、AMDのRadeon RX 7900 XTX 24GBは、希望小売価格999ドルのコンシューマー向けグラフィックス・カードであり、プロフェッショナル向けAIおよびHPC GPUの数分の一のコストである。
AMDは、従来はプロフェッショナル向けだった高度なMLサポートをコンシューマーグレードの製品に拡張することで、ゲーム用とプロフェッショナル用のGPU機能の微妙な融合を促進している。
AMDは、オープンソースプラットフォームが繁栄する豊かなエコシステムを育成し、コスト効率の向上と幅広いアクセシビリティへの道を開きたいと考えている。
ソース:Tom’s Hardware – AMD Enables ROCm and PyTorch on Radeon RX 7900 XTX
解説:
ROCm6.0がどうなっているのかジリジリと監視している間に5.7.1がRX7900XTXを密かに正式サポートしていました。
私はROCmのセットアップスクリプトを配布していますが、気が付きませんでした。(苦笑
ROCmの公式ドキュメントを見ると改定された日付が2023/10/17となっているのでもう本当につい最近と言うことになります。
ただし、Installerパッケージの日付は2023/10/10となっていますので単純にドキュメントの公開が遅れたというだけなのでしょう。
記事中には以下のようにあります。
このドライバー・アップデートは、一般的なディープラーニング・ライブラリーであるPyTorch 2.0.1で動作するよう特別に調整されており、AMDのRDNA3ベースGPUの能力を引き出します。
PytorchのStable版は既に2.1.0に移行しています。
また、公式ではPytorch2.0.1はROCm5.4.2対応版しか出ていませんので、誤解のないようにしてください。
ROCm5.7.1用のPytorch2.0.1を使いたければ自分でコンパイルするしかないです。
ROCm5.7.1はROCm5.5.x/5.6.xとバイナリ互換性があります。
ただし、ROCm5.7.1と組み合わせたらどうなるのかはハッキリしません。
ROCm5.7.1対応バイナリにはpytorch2.1.0 Nightly ROCm5.5、ROCm2.1.0 Nightly 5.6、Pytorch 2.2.0 Nightly 5.7があって(上の記事のバージョンと違っている以上)きちんと対応しているのかどうかと言うのはテストしてみないと断言できません。
恐らく対応していると思いますが、「PyTorch 2.0.1で動作するよう特別に調整されており」この書き方がとても気になります。
実際のところ、正式に対応するとされていたのはROCm6.0からなので、ROCm5.7.1でRX7900XTXが対応していたのは予想外の嬉しい出来事と言う感じです。
ただ、実際、当サイトで配布しているスクリプトでは正式には対応していなくてもROCm5.5から動作はしていましたので、こちらを利用されている方はそれほど大きなインパクトはないのではないかと思います。
一応正式に対応しましたよ、くらいの感覚で良いのではないでしょうか。
ROCm6.0の進捗状況は如何に?
ついでなので書いておきます。
実はRDNA3に正式に対応すると言われていたROCmSoftwarePlatform / MIOpenのROCm6.0のMilestoneは既に10/12くらいから100%になっています。
ただし、5.7から6.0はバイナリ互換性がなくなるほど大きな改定が行われますので、パッケージが出るのはまだ時間がかかると思います。
あの、20GB近い巨大なパッケージ群をビルドしてテストするわけですから、簡単にはいかないでしょう。
今までのスケジュールを見ると2週間から1か月以上かかっています。
前回互換性が損なわれたROCm5.5の時はmilestoneが100%になってからパッケージがロンチするまで41日かかっていますので、そのくらいはかかる可能性があると思います。
実際、現在のところのRX7900XTXの実力はStable Diffusion WebUIでRTX4070Tiと同程度の速度です。
ROCm6.0でどのくらい速くなっているのはとても楽しみではあります。