M4のコレクションを使用する方法がありますマックミニただし、その利点が実際に存在するのは、ハイエンドの Mac を使用した場合のみです。
ほとんどの人は、より強力なコンピュータを所有するには、高価なデバイスを 1 台購入する必要があると考えていますが、大量の数値計算を実行する方法は他にもあります。何十年も前から存在する 1 つの概念では、複数のコンピューターを使用してプロジェクトの処理を処理できます。
クラスター コンピューティングの概念は、2 つ以上の処理ユニット間で共有される多くの計算を伴うタスクを中心に展開します。協力してタスクを並行して完了すると、処理時間が大幅に短縮されます。
日曜日に YouTube に公開されたビデオの中で、Alex Ziskind 氏は、M4マックミニ。彼は、プラスチックのフレームに積み重ねられた 5 台の Mac mini を使用してタスクを設定し、それらの Mac mini に分散して処理します。
一般的なホーム クラスタ コンピューティングのセットアップはノード間の通信にイーサネット ネットワーキングに依存していますが、Ziskind は代わりに Thunderbolt Bridge を使用して Thunderbolt の速度を活用しています。これにより、ノード間の通信が大幅に高速化されるだけでなく、より大きなデータ パケットの送信が可能になり、処理パフォーマンスが節約されます。
イーサネットは通常 1Gb/s で実行できますが、一部の環境ではイーサネット アップグレードの費用を支払った場合は最大 10Gb/s で実行できます。マックモデル。代わりに、Thunderbolt Bridge 方式は、双方向で実行する場合、Thunderbolt 4 ポートでは 40Gb/s、M4 Pro および M4 Max モデルの Thunderbolt 5 では 80Gb/s で実行できます。
GPU処理より優れている
Ziskind 氏は、使用することで利点がある可能性があると指摘しています。アップルシリコンクラスター コンピューティング用の強力なグラフィック カードを使用する PC ではなく。
まず、GPU を使用した処理は、かなりの量のビデオ メモリが利用可能であることに依存します。たとえば、グラフィックス カードでは、これはカード自体で 8GB になる可能性があります。
Apple が Apple Silicon でユニファイド メモリを使用しているということは、Mac のメモリが CPU と GPU によって使用されることを意味します。したがって、Apple Silicon GPU は、特に 32GB 以上の Mac 構成の場合、より多くのメモリにアクセスできます。
さらに消費電力もあり、これはグラフィックス カードにとってはかなりの量になる可能性があります。電力使用量が多いと、継続的な運用コストが高くなる可能性があります。
対照的に、Mac mini は消費電力が非常に少なく、フル稼働で実行されている 5 台の Mac mini のクラスターでは、1 枚の高性能グラフィックス カードよりも消費電力が少ないことがわかりました。
XgridではなくMLX
クラスターを実行するために、Ziskind は私たちが作成したプロジェクトを使用します。すでに話しました。これは、「Apple Silicon での効率的かつ柔軟な機械学習研究のために設計されたアレイ フレームワーク」と説明されている Apple オープンソース プロジェクトである MLX を使用しています。
これは、クラスター コンピューティングのために複数の Mac を制御できる Apple の分散コンピューティング ソリューションである Xgrid をなんとなく思い出させます。このシステムでは、Mac OS X Server がネットワーク上のワークグループ Mac を利用して、他の目的で使用されていないときに処理を実行することもできました。
ただし、Xgrid は企業または連邦レベルで非常に潤沢な資金を提供された大規模な事業に取り組んでいましたが、AppleInsiderの Mike Wuerthele は、小規模なプロジェクトにはうまく応用できなかったと証言しています。完璧で特定の状況と特定のコードの下では、それは素晴らしく機能しましたが、自家製のクラスターはあまりパフォーマンスが良くない傾向があり、場合によっては 1 台のコンピューターで作業を行うよりも遅くなります。
MLX は、標準の MPI 分散コンピューティング手法を使用して動作するため、この点を大きく変更します。必ずしも数百、数千台の費用を費やすことなく、さまざまなパフォーマンスの数台の Mac で実行することも可能です。
Xgrid とは異なり、MLX はより小規模なクラスター、つまり Xgrid を使用したいものの、トラブルに遭遇し続ける群衆を対象としているようです。
適切な理由がある有用なクラスター
複数の Mac mini のパフォーマンスをクラスタ内で統合することは魅力的に思えますが、誰もがその恩恵を受けることができるわけではありません。
まず、アプリの実行やゲームのプレイなど、一般的な Mac の使用ではメリットが得られません。これは、大量のデータ セットの処理や、並列処理の恩恵を受ける高強度のタスクを目的としています。
これにより、たとえば機械学習研究用の LLM の作成などの目的に最適になります。
また、一般的な Mac ユーザーにとっては決して使いやすいものではありません。
また、パフォーマンスの向上は、通常の Mac 所有者にとっては必ずしも有益ではありません。 Ziskind のテストでは、LLM を使用する場合、M4 Pro モデルを購入するだけで、2 台の M4 ユニットを一緒に動作させるよりも高いパフォーマンスが得られることがわかりました。
複数のハイスペック Mac を一緒に使用する場合、クラスターは非常に価値があります。
このようなクラスターが活躍するのは、単一の強力な Mac から得られる以上のパフォーマンスが必要な場合です。モデルが大きすぎて 1 台の Mac で動作できない場合 (メモリの制約など)、クラスターはモデルが使用する合計メモリをより多く提供できます。
ジスキンド氏は、現段階では、低パフォーマンスのマシンのクラスターよりも、膨大な量のメモリを搭載したハイエンドの M4 Max Mac の方が優れていると主張しています。ただし、それでも、要件が何らかの理由で単一の Mac の最高構成を超える場合は、クラスターがここで役に立ちます。
ただし、考慮すべき制限がいくつかあります。 Thunderbolt は高速ですが、Ziskind はノードをホスト Mac に接続するために Thunderbolt ハブを使用する必要があり、利用可能な帯域幅が減少しました。
Mac を直接接続することでこの問題は解決しましたが、複数の Mac を接続するために使用できる Thunderbolt ポートの数などの問題が発生します。これにより、クラスターのスケーリングに問題が生じる可能性があります。
また、ノードはより適切なレベルで動作しているのに、ホストの Mac mini が特に高温で動作するという、熱的な異常事態にも遭遇しました。
最終的に、Ziskind 氏は、Mac mini クラスター タワーの実験は興味深いと感じましたが、長期的に使用するつもりはありません。ただし、このテクノロジーはまだ比較的初期段階にあり、十分にタフなモデルに複数のハイエンド Mac を使用する場合には、依然として非常にうまく機能します。