「MLX対MPS対CUDA:ベンチマーク」

「MLX vs. MPS vs. CUDA ベンチマークの結果」

Appleの新しいMLフレームワークMLXの最初のベンチマーク

Javier Allegue Barros氏による写真(Unsplashで撮影)

Macユーザーであり、深層学習の愛好家であれば、マックは重いモデルを処理できるようにしたいと思ったことがあるかもしれませんね。そんなあなたに朗報です!AppleがMLXをリリースしました。これは、Apple Silicon上で効率的にMLモデルを実行するためのフレームワークです。

PyTorch 1.12でのMPSバックエンドの最近の導入は、すでに大胆な一歩でしたが、MLXの発表により、Appleはオープンソースの深層学習に大きな飛躍を遂げたいと考えているようです。

本記事では、これらの新しいアプローチを従来のCPUバックエンドと2つのCUDA対応GPUとのベンチマークで評価します。こうすることで、これらのMac互換の新しい手法が2024年の深層学習実験でどれだけ使用できるかを明らかにします。

GNN志向の研究者として、私はベンチマークをグラフ畳み込みネットワーク(GCN)モデルに焦点を当てます。しかし、このモデルは主に線形層で構成されているため、私たちの結果はGNN領域に特化していない人にとっても有益な情報となる可能性があります。

環境の設定

MLXの環境を構築するには、i386またはarmアーキテクチャを使用するかを指定する必要があります。condaを使用してこれを行うには、次のコマンドを使用します:

CONDA_SUBDIR=osx-arm64 conda create -n mlx python=3.10 numpy -c conda-forgeconda activate mlx

環境が実際にarmを使用しているかを確認するためには、以下のコマンドの出力がi386ではなくarmである必要があります:

python -c "import platform; print(platform.processor())"

そして、単純にpipを使用してMLXをインストールするだけで、探索を開始できます:

pip install mlx

GCNの実装

GCNモデルは、グラフ構造を表す隣接行列とノードの特徴量と一緒に動作する、グラフニューラルネットワーク(GNN)の一種です。隣接するノードの情報を収集し、ノードの埋め込みを計算します。具体的には、各ノードは隣接するノードの特徴量の平均値を取得します。この平均化は、ノードの特徴量を正規化された隣接行列とノード次数で調整したものと乗算することで行われます。このプロセスを学習するために、特徴量はまず線形層を介して埋め込み空間に射影されます。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more